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']
}