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

ความแตกต่างระหว่าง Linear และ Non-linear Data Structure


Linear Data Structure (โครงสร้างข้อมูลเชิงเส้น)

  • องค์ประกอบเรียงลำดับตามลำดับ (Sequentially)
  • เข้าถึงทุกองค์ประกอบได้โดย Traversal แบบ Linear
  • ทุกอย่างอยู่ Level เดียว (No Hierarchy)
  • ง่ายต่อการ Implement และใช้งาน
  • ใช้ Memory มาก ไม่ Memory-friendly
  • Time Complexity เพิ่มขึ้นตามขนาดข้อมูล
  • ตัวอย่าง: List, Array, Stack

ตัวอย่าง Python List

my_list = [45, 42, 12, 34, 56, 7]
print(my_list)
# Output: [45, 42, 12, 34, 56, 7]

Non-linear Data Structure (โครงสร้างข้อมูลไม่เชิงเส้น)

  • จัดเก็บแบบ Hierarchical (ลำดับชั้น)
  • เชื่อมต่อกันด้วย Nodes
  • องค์ประกอบอยู่ Level ต่างกัน (ไม่ใช่ Level เดียว)
  • Implementation ไม่ง่าย
  • Traversal ไม่ง่าย ต้อง Iterate หลายรอบ
  • Memory-friendly (ใช้ Memory มีประสิทธิภาพ)
  • Time Complexity คงที่ แม้ขนาดข้อมูลเพิ่ม
  • ตัวอย่าง: Map, Tree, Graph

ตัวอย่าง Graph ใน Python

graph = {
    'A': ['B', 'C'],
    'B': ['C'],
    'C': ['D', 'E'],
    'D': ['C'],
    'E': ['F', 'G'],
    'F': ['C']
}