โครงสร้างข้อมูลแบบกราฟ  (Graph) โครงสร้างข้อมูลกราฟเป็นโครงสร้างข้อมูลชนิดหนึ่งที่ประกอบด้วย เซตของโหนดข้อมูล ที่เรียกว่า เวอร์เทกซ์ (Vertex  ) เซตของเส้นเชื่อม ระหว่างโหนด  2 โหนด เรียกว่า เอ็จ  (edge)  สามารถเขียนเป็นความสัมพันธ์ทางคณิตศาสตร์ได้ดังนี้   G  =  ( V, E)  โดยที่ G  คือ  กราฟ V  คือ  เซตของโหนด E  คือ  เซตของ เส้นเชื่ อ มระหว่างโหนด
โครงสร้างข้อมูลแบบกราฟ  (Graph) ตัวอย่าง กราฟ E =  { AB,AC,AD,CD,CF,DE,EF,FG,EG} V = a,b,c,d,e V = {A,B,C,D,E,F,G} E = {ab,ac,ad,be,ce,cd,ed a b c d e A B C F E D G
โครงสร้างกราฟแบ่งออกเป็น  2  ประเภท  คือ Undirected Graph  หรือเรียกสั้นๆว่า  graph  เป็นโครงสร้างกราฟที่เส้นเชื่อมระหว่างโหนด  ( edge )  ไม่แสดงทิศทางของการเชื่อมต่อ Direct Graph   หรือ  Digraph  เป็นโครงสร้างกราฟที่เส้นเชื่อมระหว่างโหนด   (edge)  แสดงทิศทางของการเชื่อมต่อ โครงสร้างข้อมูลแบบกราฟ  (Graph)
โครงสร้างข้อมูลแบบกราฟ  (Graph) Undirected Graph Direct Graph
Adjacent   vertex  คือโหนดสองโหนดของกราฟที่อยู่บนเส้นเชื่อมเดียวกันติดกัน  Adjacent Vertex: A & C A & B B & C โครงสร้างข้อมูลแบบกราฟ  (Graph) A B C
Path  คือลำดับของโหนดในกราฟที่แต่ละโหนดอยู่ติดกับโหนดลำดับถัดไป ( เส้นทางจากโหนดต้นทางไปยังโหนดปลายทาง ) โครงสร้างข้อมูลแบบกราฟ  (Graph) Path A to D : A-B-C-D : A-C-D A B C D E A B D E C Path A to E : A-D-C-E : A-B-C-E
Cycle  คือ  Path  ที่มีอย่างน้อยสามโหนดและโหนดสุดท้ายอยู่ติดกับโหนดแรก Cycles:    A-B-C-A   C-B-A-C โครงสร้างข้อมูลแบบกราฟ  (Graph) A B C
Connected graph  คือ กราฟที่มี  path  จากโหนดใดๆ ไปยังโหนดอื่นทุกโหนดในกราฟ Undirected Graph โครงสร้างข้อมูลแบบกราฟ  (Graph) A C B D
Connected graph   ของ  Directed Graph  จะแบ่งออกเป็น Strongly connected graph  กราฟที่โหนดทุกโหนดสามารถเชื่อมโยงถึงกันหมดทุกโหนด โครงสร้างข้อมูลแบบกราฟ  (Graph) A D B F C H E G I
Weakly connected graph  กราฟที่มีอย่างน้อย   2 โหนดที่ไม่สามารถเชื่อมโยงถึงกัน โครงสร้างข้อมูลแบบกราฟ  (Graph) A D B F C H E G I
การแทนโครงสร้างข้อมูลกราฟ ใช้  linked list  ที่เรียกว่า  adjacency list  จำนวน  linked list  ที่ได้จะ เท่ากับ จำนวน โหนดของกราฟ linked list  ของโหนดใดๆจะเก็บรายชื่อโหนดทุกโหนดที่อยู่ติดกับโหนดนั้น 0 1 4 2 3 1 4 3 4 2 1
ใช้  Array  แบบสองมิติที่เรียกว่า  adjacency table  หรือ  adjacency Matrix ขนาดของ  adjacency table   จะเท่ากับจำนวนข้อมูลในกราฟ  (n*n) การแทนค่าใน  adjacency table   ด้วย  0  และ  1  การแทนโครงสร้างข้อมูลกราฟ 1 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0

More Related Content

DOCX
เรียนรู้เกี่ยวกับแผนภูมิ
PPT
Sorting
PPT
Graph shortest
PPT
Algorithm programming
PPTX
การเรียงข้อมูลแบบMerge sort นันทนา เนื่องมัจฉา
PDF
Sorting 2
PDF
Linklist
เรียนรู้เกี่ยวกับแผนภูมิ
Sorting
Graph shortest
Algorithm programming
การเรียงข้อมูลแบบMerge sort นันทนา เนื่องมัจฉา
Sorting 2
Linklist

Viewers also liked (12)

PDF
Graph
PDF
Sorting
PPTX
ความรู้เบื้องต้นเกี่ยวกับอัลกอริทึม
PPT
โครงสร้างข้อมูลแบบ กราฟ (Graph)
PDF
PPTX
PPT
สแตกและคิว (Stack & queue)
PPT
การวิเคราะห์อัลกอริทึม(algorithm analysis)
PPT
การจัดเรียงข้อมูล (sorting)
DOC
Infix to-postfix examples
DOCX
Conversion from infix to prefix using stack
PDF
อัลกอริทึมและการวิเคราะห์ปัญหา
Graph
Sorting
ความรู้เบื้องต้นเกี่ยวกับอัลกอริทึม
โครงสร้างข้อมูลแบบ กราฟ (Graph)
สแตกและคิว (Stack & queue)
การวิเคราะห์อัลกอริทึม(algorithm analysis)
การจัดเรียงข้อมูล (sorting)
Infix to-postfix examples
Conversion from infix to prefix using stack
อัลกอริทึมและการวิเคราะห์ปัญหา
Ad

Similar to Chapter6 (20)

PDF
Graph
PPT
PPTX
Tree and Graph Algorithms and Implementation
PPT
โครงสร้างข้อมูลแบบลิงค์ลิสต์ (linklist)
PPT
Week 1
PDF
Graph
PPT
บทที่1 ความรู้พื้นฐาน
PPT
โครงสร้างข้อมูลแบบต้นไม้
PPT
Data struct is_chapter1
PDF
Graph theory
PPT
ความรู้เบื้องต้นเกี่ยวกับโครงสร้างข้อมูลและอัลกอริทึม
PDF
รายงานโปรแกรมสื่อบทเรียนสำหรับระบบการเรียนรู้ออนไลน์ เรื่อง โครงสร้างข้อมูลแบ...
PPTX
Jameball
PPTX
หน่วยการเรียนรู้ที่ 2
PPTX
หน่วยการเรียนรู้ที่ 2
PPTX
หน่วยการเรียนรู้ที่ 2
PPTX
หน่วยการเรียนรู้ที่ 2
PPTX
หน่วยการเรียนรู้ที่ 2
DOCX
หน่วยการเรียนรู้ที่ 2 โครงสร้างข้อมูล
Graph
Tree and Graph Algorithms and Implementation
โครงสร้างข้อมูลแบบลิงค์ลิสต์ (linklist)
Week 1
Graph
บทที่1 ความรู้พื้นฐาน
โครงสร้างข้อมูลแบบต้นไม้
Data struct is_chapter1
Graph theory
ความรู้เบื้องต้นเกี่ยวกับโครงสร้างข้อมูลและอัลกอริทึม
รายงานโปรแกรมสื่อบทเรียนสำหรับระบบการเรียนรู้ออนไลน์ เรื่อง โครงสร้างข้อมูลแบ...
Jameball
หน่วยการเรียนรู้ที่ 2
หน่วยการเรียนรู้ที่ 2
หน่วยการเรียนรู้ที่ 2
หน่วยการเรียนรู้ที่ 2
หน่วยการเรียนรู้ที่ 2
หน่วยการเรียนรู้ที่ 2 โครงสร้างข้อมูล
Ad

Chapter6

  • 1. โครงสร้างข้อมูลแบบกราฟ (Graph) โครงสร้างข้อมูลกราฟเป็นโครงสร้างข้อมูลชนิดหนึ่งที่ประกอบด้วย เซตของโหนดข้อมูล ที่เรียกว่า เวอร์เทกซ์ (Vertex ) เซตของเส้นเชื่อม ระหว่างโหนด 2 โหนด เรียกว่า เอ็จ (edge) สามารถเขียนเป็นความสัมพันธ์ทางคณิตศาสตร์ได้ดังนี้ G = ( V, E) โดยที่ G คือ กราฟ V คือ เซตของโหนด E คือ เซตของ เส้นเชื่ อ มระหว่างโหนด
  • 2. โครงสร้างข้อมูลแบบกราฟ (Graph) ตัวอย่าง กราฟ E = { AB,AC,AD,CD,CF,DE,EF,FG,EG} V = a,b,c,d,e V = {A,B,C,D,E,F,G} E = {ab,ac,ad,be,ce,cd,ed a b c d e A B C F E D G
  • 3. โครงสร้างกราฟแบ่งออกเป็น 2 ประเภท คือ Undirected Graph หรือเรียกสั้นๆว่า graph เป็นโครงสร้างกราฟที่เส้นเชื่อมระหว่างโหนด ( edge ) ไม่แสดงทิศทางของการเชื่อมต่อ Direct Graph หรือ Digraph เป็นโครงสร้างกราฟที่เส้นเชื่อมระหว่างโหนด (edge) แสดงทิศทางของการเชื่อมต่อ โครงสร้างข้อมูลแบบกราฟ (Graph)
  • 5. Adjacent vertex คือโหนดสองโหนดของกราฟที่อยู่บนเส้นเชื่อมเดียวกันติดกัน Adjacent Vertex: A & C A & B B & C โครงสร้างข้อมูลแบบกราฟ (Graph) A B C
  • 6. Path คือลำดับของโหนดในกราฟที่แต่ละโหนดอยู่ติดกับโหนดลำดับถัดไป ( เส้นทางจากโหนดต้นทางไปยังโหนดปลายทาง ) โครงสร้างข้อมูลแบบกราฟ (Graph) Path A to D : A-B-C-D : A-C-D A B C D E A B D E C Path A to E : A-D-C-E : A-B-C-E
  • 7. Cycle คือ Path ที่มีอย่างน้อยสามโหนดและโหนดสุดท้ายอยู่ติดกับโหนดแรก Cycles: A-B-C-A C-B-A-C โครงสร้างข้อมูลแบบกราฟ (Graph) A B C
  • 8. Connected graph คือ กราฟที่มี path จากโหนดใดๆ ไปยังโหนดอื่นทุกโหนดในกราฟ Undirected Graph โครงสร้างข้อมูลแบบกราฟ (Graph) A C B D
  • 9. Connected graph ของ Directed Graph จะแบ่งออกเป็น Strongly connected graph กราฟที่โหนดทุกโหนดสามารถเชื่อมโยงถึงกันหมดทุกโหนด โครงสร้างข้อมูลแบบกราฟ (Graph) A D B F C H E G I
  • 10. Weakly connected graph กราฟที่มีอย่างน้อย 2 โหนดที่ไม่สามารถเชื่อมโยงถึงกัน โครงสร้างข้อมูลแบบกราฟ (Graph) A D B F C H E G I
  • 11. การแทนโครงสร้างข้อมูลกราฟ ใช้ linked list ที่เรียกว่า adjacency list จำนวน linked list ที่ได้จะ เท่ากับ จำนวน โหนดของกราฟ linked list ของโหนดใดๆจะเก็บรายชื่อโหนดทุกโหนดที่อยู่ติดกับโหนดนั้น 0 1 4 2 3 1 4 3 4 2 1
  • 12. ใช้ Array แบบสองมิติที่เรียกว่า adjacency table หรือ adjacency Matrix ขนาดของ adjacency table จะเท่ากับจำนวนข้อมูลในกราฟ (n*n) การแทนค่าใน adjacency table ด้วย 0 และ 1 การแทนโครงสร้างข้อมูลกราฟ 1 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0

Editor's Notes

  • #6: 1 4 3 2 Path หรือเส้นทางของโหนด 1 ไปยังโหนด 3 จะมีเส้นทางหลายเส้นทาง เช่น เส้นทางแรก 1- 3 - 4 -2 เส้นทางสอง 1 - 3 - 2 เส้นทางสาม 1 -4 - 2 Cycle เป็นเส้นทางของโหนดต้นทางไปยังโหนดปลายทาง โดยที่โหนดต้นทางและโหนดปลายทางเป็นโหนดเดียวกัน เช่น 1 - 3 - 4 - 2 - 1 1 - 3 - 2 - 1 1 - 4 - 2 - 1 ความสัมพันธ์ระหว่างจำนวนโหนดและเส้นเชื่อมระหว่างโหนด จากรูปจะสังเกตได้ว่า ถ้าจำนวนโหนดมีเท่ากับ N โหนด จะมีจำนวนเส้นเชื่อมที่เชื่อมระหว่างเท่ากับ N-1 Free Tree คือกราฟที่ไม่มี Cycle 1 4 2 3