Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

ความแตกต่างระหว่าง Data Type และ Data Structure

บทนำ

การเขียนโปรแกรมหมุนรอบรอบ Data (ข้อมูล) การจัดระเบียบและจัดเก็บข้อมูลอย่างมีประสิทธิภาพจึงเป็นหัวใจสำคัญของการพัฒนาซอฟต์แวร์ Data Type และ Data Structure ดูคล้ายกันแต่มีความหมายต่างกันอย่างชัดเจน

ตารางเปรียบเทียบ Data Type และ Data Structure

ลำดับ หัวข้อ Data Type (ชนิดข้อมูล) Data Structure (โครงสร้างข้อมูล)
1 นิยาม ระบุลักษณะและชนิดของข้อมูล เช่น int, float, char, boolean - อธิบายลักษณะร่วมของกลุ่มข้อมูล เป็นคอลเลกชันที่จัดเก็บข้อมูลเพื่อให้สะดวกในการดำเนินการ/อัลกอริทึม เช่น Array, Stack, Queue, Tree, Graph
2 การนำไปใช้ (Implementation) Abstract Implementation - นิยามโดยภาษาโปรแกรมแต่ละภาษาแตกต่างกันไป Concrete Implementation - มีโครงสร้างภายในที่ชัดเจน รู้จักวิธีจัดเก็บและเข้าถึง
3 การจัดเก็บ (Storage) ไม่จัดเก็บค่าข้อมูลโดยตรง เพียงระบุ "ชนิด" ของค่าที่จะเก็บได้ จัดเก็บข้อมูลจริงพร้อมค่า ใช้หน่วยความจำจริง สามารถเก็บข้อมูลหลายชนิดในอ็อบเจกต์เดียวได้
4 การกำหนดค่า (Assignment) กำหนดค่าโดยตรงให้ตัวแปร เช่น x = 10 กำหนดค่าผ่าน Operations/Algorithms เช่น push(), pop(), enqueue(), dequeue()
5 ประสิทธิภาพ (Performance) ไม่เกี่ยวข้องกับ Time Complexity เพราะเพียงระบุลักษณะข้อมูล เกี่ยวข้องกับ Time/Space Complexity เพราะต้องดำเนินการจัดการข้อมูล

ตัวอย่างเพื่อความเข้าใจ

  • Data Type: int - บอกว่าเก็บจำนวนเต็มได้ ไม่บอกว่าเก็บยังไงในหน่วยความจำ
  • Data Structure: ArrayList<Integer> - จัดเก็บหลาย int ไว้ด้วยกัน มี method add(), get(), remove() จัดการลำดับและหน่วยความจำ

สรุป

Data Type = "ข้อมูลเป็นอะไร" (ลักษณะ/ชนิด)
Data Structure = "ข้อมูลจัดเก็บและจัดการยังไง" (โครงสร้าง/อัลกอริทึม)
ทั้งคู่ทำงานร่วมกัน: Data Structure ใช้ Data Type เป็นบล็อกสร้างสรรค์