โครงสร้างข้อมูลแบบกราฟ  (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
Sir alex
PPT
Synergistic plan
DOC
εκπαιδευτικο σενάριο
PPT
Visionary project
PPT
Chapter6
PPTX
Trabajo practico n15
PPT
Teatro y bailes
เรียนรู้เกี่ยวกับแผนภูมิ
Sir alex
Synergistic plan
εκπαιδευτικο σενάριο
Visionary project
Chapter6
Trabajo practico n15
Teatro y bailes

Viewers also liked (11)

PPTX
Villancicos14
PPSX
En el ies atenea
PPSX
Jugando al balonmano
PPSX
Visita al ies atenea
PPT
IIolimpiadas
PPTX
Les quatre saisons
PPTX
Cienciasymates6
PPTX
Cienciasymates4
PPTX
Cienciasymates5
PPTX
Cien.mat132ºc
PPTX
Días de las ciencias y de las matemáticas
Villancicos14
En el ies atenea
Jugando al balonmano
Visita al ies atenea
IIolimpiadas
Les quatre saisons
Cienciasymates6
Cienciasymates4
Cienciasymates5
Cien.mat132ºc
Días de las ciencias y de las matemáticas
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