โครงสร้างข้อมูลกราฟ ของ ทฤษฎีกราฟ

ดูบทความหลักที่: กราฟ (โครงสร้างข้อมูล)

มีหลายวิธีในการจัดเก็บกราฟในระบบคอมพิวเตอร์ โดยโครงสร้างข้อมูลที่ใช้ขึ้นอยู่กับโครงสร้างของกราฟ และขั้นตอนวิธีสำหรับประมวลผลกราฟนั้น ในทางทฤษฎีเราอาจแยกแยะโครงสร้างที่เป็นแบบรายการกับที่เป็นเมทริกซ์ได้ แต่ในทางปฏิบัติมักพบว่าโครงสร้างที่ดีมักเป็นลูกผสมของโครงสร้างทั้งสองแบบ โครงสร้างแบบรายการนั้นมักใช้ในกรณีของกราฟเบาบาง (sparse graph) เนื่องจากมีการใช้หน่วยความจำที่น้อยกว่า ในทางกลับกันโครงสร้างแบบเมทริกซ์นั้น มีการเข้าถึงที่รวดเร็วกว่า แต่ก็ใช้หน่วยความจำขนาดใหญ่ถ้าจำนวนจุดยอดของกราฟมีมาก

โครงสร้างแบบรายการ

โครงสร้างแบบเมทริกซ์

  • เมทริกซ์ตกกระทบ (incidence matrix) - เป็นการจัดเก็บกราฟในเมทริกซ์ขนาด E (จำนวนเส้นเชื่อม) คูณ V (จำนวนจุดยอด) ซึ่ง [เส้นเชื่อม, จุดยอด] จะบรรจุข้อมูลของเส้นเชื่อมนั้น (เช่น 1 คือ เชื่อมต่อกัน, 0 คือ ไม่เชื่อมต่อกัน)
  • เมตริกซ์ประชิด (adjacency matrix) - เป็นการจัดเก็บกราฟในเมทริกซ์ขนาด N คูณ N เมื่อ N คือจำนวนของจุดยอดในกราฟ ถ้ามีเส้นเชื่อมจากจุดยอด x ไปจุดยอด y แล้ว สมาชิก M x , y {\displaystyle M_{x,y}} จะเป็น 1 ไม่เช่นนั้น จะเป็น 0 ซึ่งทำให้ง่ายต่อการหากราฟย่อย และกราฟย้อนกลับ
  • เมตริกซ์แบบลาปลัส (Laplacian matrix หรือ admittance matrix)