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

Adjacency Lists ในโครงสร้างข้อมูล


กราฟ (Graph)

กราฟเป็น โครงสร้างข้อมูลแบบไม่เชิงเส้น (Non-linear) แสดงข้อมูลด้วย โหนด (Nodes) และความสัมพันธ์ด้วย ขอบ (Edges)

กราฟ G มี 2 ส่วน: Vertices (V) และ Edges (E) เขียนเป็น G(V, E)

Adjacency Lists ในโครงสร้างข้อมูล

ตัวอย่าง: 5 โหนด 5 ขอบ ขอบเป็น Directed เช่น ขอบ B→D หมายถึงจาก B ไป D ได้ แต่ D ไป B ไม่ได้

วิธีแทนกราฟในหน่วยความจำ

  • Adjacency Matrix Representation
  • Edge List Representation
  • Adjacency List Representation

Adjacency List Representation

แทนด้วย Linked Lists แต่ละโหนดเก็บรายการโหนดที่ เชื่อมต่อโดยตรง (Directly Connected) สิ้นสุดรายการด้วย Null

Adjacency Lists ในโครงสร้างข้อมูล

เหมาะสำหรับ Sparse Graphs (กราฟขอบน้อย) เพราะประหยัดพื้นที่กว่า Adjacency Matrix