SlideShare una empresa de Scribd logo
1 de 36
 โครงสร้างข้อมูลแบบ กราฟ (Graph)
โครงสร้างข้อมูล (Data Structure)
โครงสร้างข้อมูลแบบกราฟ (Graph)
 กราฟ (Graph)  เป็นโครงสร้างข้อมูลแบบไม่ใช่เชิง
เส้นอีกชนิดหนึ่ง กราฟเป็นโครงสร้างข้อมูลที่มี
การนำาไปใช้ในงานที่เกี่ยวข้องกับการแก้ปัญหาที่
ค่อนข้างซับซ้อน เช่น การวางข่ายงานคอมพิวเตอร์
การวิเคราะห์เส้นทางวิกฤติ และปัญหาเส้นทางที่สั้น
ที่สุด เป็นต้น
โครงสร้างข้อมูลแบบกราฟ (Graph)
ศัพท์ที่เกี่ยวข้อง
1.เวอร์เทก (Vertex) หมายถึง โหนด
2.เอดจ (Edge) หมายถึง เส้นเชื่อมของโหนด
3.ดีกรี (Degree) หมายถึง จำานวนเส้นเข้าและออก ของ
โหนดแต่ละโหนด
4.แอดจาเซนท์โหนด (Adjacent Node) หมายถึง โหนดที่มี
การเชื่อมโยงกัน
 Graph แบ่งเป็น
1. Directed Graph (Digraph) (Arc)
โครงสร้างข้อมูลแบบกราฟ (Graph)
โครงสร้างข้อมูลแบบกราฟ (Graph)
 แอดจาเซนท์โหนด (Adjacent Node)
A กับ B
D กับ F
ใช่ใช่
ไม่ใช่ไม่ใช่
โครงสร้างข้อมูลแบบกราฟ (Graph)
 เส้นทาง (Path)
ใช้เรียกลำาดับของ เวอร์เทก (Vertex) ที่เชื่อมต่อกัน
จากจุดหนึ่งไปยังอีกจุดหนึ่ง
(A,B,C,D,E)
(A,B,E,F)
โครงสร้างข้อมูลแบบกราฟ (Graph)
 Cycle
Path ที่ประกอบด้วยอย่างน้อย 3 Vertex และมีจุดเริ่ม
ต้นและสิ้นสุดเดียวกัน
เช่น (B,C,E,B)(B,C,E,B)
(B,C,D,E,B)(B,C,D,E,B)
โครงสร้างข้อมูลแบบกราฟ (Graph)
 ลูป (Loop)
มีเพียง Arc เดียวและมีจุดเริ่มต้นและสิ้นสุดเดียวกัน
โครงสร้างข้อมูลแบบกราฟ (Graph)
Directed Graph : มีการกำาหนดทิศทาง
 Strongly Connected
ทุก ๆ 2 Vertex มี Path ทั้งไปและกลับ
(ทุกโหนดในกราฟมีพาทติดต่อถึงกันหมด)
โครงสร้างข้อมูลแบบกราฟ (Graph)
 Weakly Connected : มีอย่างน้อย 2 Vertex ที่มี
Path ในทิศทางเดียว (บางโหนดไม่สามารติดต่อไป
ยังทุกโหนดในกราฟนั้นได้)
AA ไปไป GG ได้ในทิศทางเดียวได้ในทิศทางเดียว
Graph Storage Structure
การเก็บข้อมูลในหน่วยความจำาสามารถทำาได้ 2 แบบ
ดังนี้
1. Adjacency Matrix : ใช้อาร์เรย์เก็บใช้อาร์เรย์เก็บ
ข้อมูลข้อมูล
2. Adjacency List : ใช้ลิงค์ลิสต์เก็บข้อมูลใช้ลิงค์ลิสต์เก็บข้อมูล
Adjacency Matrix
 เป็นโครงสร้างที่ประกอบไปด้วยโหนดและเส้นเชื่อม
ต่อที่บอกถึงเส้นทางของการเดินทาง หรือความ
สัมพันธ์ในทิศทางซึ่งสามารถนำามาแทนความ
สัมพันธ์นั้นด้วยการกำาหนดเมตริกซ์ n x n
 Mk
เป็นเมทริกซ์ของกราฟใด ๆ k คือทางเดินที่มี
ความยาว k จากโหนดหนึ่งไปอีกโหนดหนึ่ง
Adjacency Matrix
0 : ไม่เป็นแอดจาเซนซีกัน
1 : เป็นแอดจาเซนซีกัน
Transitive Closure
 ในกรณีที่เราอยากทราบว่าในกราฟจากโหนดหนึ่ง
ไปยังโหนดหนึ่งมีจำานวนเส้นทางมากเท่าไร เรา
สามารถหาค่าได้จากการคูณเมทริกซ์
ตัวอย่าง
Adjacency List
Graph Traversal
สามารถทำาได้ 2 วิธี
1. แนวลึก : Depth-first Traversal
2. แนวราบ : Breath-first Traversal
Depth-first Traversal
 เป็นลักษณะการท่องเข้าไปยังโหนดเริ่มต้น แล้วให้โหนด
ใกล้เคียงเป็นโหนดเริ่มต้น เข้าเยี่ยมโหนด ทำาต่อไปจน
กระทั่งไม่มีโหนดใกล้เคียงจึงย้อนกลับมายังโหนดก่อนหน้า
และเข้าเยี่ยมโหนดอีกด้านด้วยรูปแบบเดียวกันจนครบ เทียบ
ได้กับการท่องเข้าไปในทรีแบบพรีออเดอร์
1. Push vertex
2. Pop vertex และประมวลผล
3. Push adjacent ทั้งหมดของ Vertex ในข้อ 2
Breath-first Traversal
เป็นการท่องเข้าไปในกราฟโดยเข้าเยี่ยมโหนดตัว
แรก และดำาเนินการ หากมีโหนดใกล้เคียงจะดำาเนิน
การกับโหนดที่อยู่ด้านซ้ายก่อน
1. Enqueue vertex
2. Dequeue vertex และประมวลผล
3. Enqueue adjacent ทั้งหมดของ Vertex ใน
ข้อ 2
Network
 หมายถึง Graph ที่ทุก Edge มี Weight กำากับ โดย
ความหมายของ Weight นั้นขึ้นอยู่กับการใช้งาน
Adjacency Matrix
Adjacency List
Network Application
 Minimum Spanning Tree เป็นรูปแบบของการ
ค้นหาโดยกำาหนดเรียกใช้โหนดทุกโหนดและทุกเส้น
การเชื่อมต่อ มาลำาดับความสำาคัญของนำ้าหนักโดยเริ่ม
จากค่าน้อยที่สุดในข่ายงาน ทำาการเชื่อมต่อคู่โหนด
นั้น และดำาเนินการต่อไปในค่านำ้าหนักที่ต่อกัน แต่ถ้า
โหนดใดมีการเชื่อมต่อคู่โหนดแล้วจะไม่เชื่อมต่ออีก
 Shortest Path เป็นอัลกอริทึมที่ใช้ในการหาระยะ
ทางที่สั้นที่สุดเช่นเดียวกับ MST แต่จะเปลี่ยนจาก
Minimum Spanning Tree
 Spanning Tree หมายถึง Tree ที่ประกอบด้วย
ทุก Vertex ใน Graph ซึ่งอาจมีได้มากกว่า 1 แบบ
Minimum Spanning Tree
 Spanning Tree
แบบที่แบบที่ 11 แบบที่แบบที่ 22
Minimum Spanning Tree
 Minimum Spanning Tree (MST) หมายถึง
Spanning Tree ที่มีผลรวมของ Weight ทั้งหมดน้อยที่สุด
1.ใส่ Vertex เริ่มต้นใน Tree
2.เลือก Edge จาก Vertex ใน Tree ไปยัง Vertex ที่ไม่อยู่
ใน Tree และมี Weight ตำ่าสุด
3.ทำาซำ้าข้อ 2 จนกว่าจะครบทุก Vertex
ตัวอย่าง
งหา Minimum Spanning Tree
Total weight = 13Total weight = 13
Shortest Path
 Shortest Path หมายถึง Path ที่สั้นที่สุดระหว่าง 2
Vertex
 หาเส้นทางการส่งข้อมูลจากต้นทางไปปลายทาง โดย
ให้มีระยะทางสั้นที่สุด
1. ใส่ Vertex เริ่มต้นใน Tree
2. เลือก Edge จาก Vertex ใน Tree ไปยัง
Vertex ที่ไม่อยู่ใน Tree และมีผลรวมของ Weight
Shortest Path
 จงหา Shortest Path จากโหนด A ไปยังโหนดอื่น
ๆ
โครงสร้างข้อมูลแบบ กราฟ (Graph)
โครงสร้างข้อมูลแบบ กราฟ (Graph)

Más contenido relacionado

La actualidad más candente

ลักษณะทางพฤกษศาสตร์ของพืช.pdf
ลักษณะทางพฤกษศาสตร์ของพืช.pdfลักษณะทางพฤกษศาสตร์ของพืช.pdf
ลักษณะทางพฤกษศาสตร์ของพืช.pdf
PhraisinPinthana2
 
โครงสร้างของดอกไม้
โครงสร้างของดอกไม้โครงสร้างของดอกไม้
โครงสร้างของดอกไม้
dnavaroj
 
โครงสร้างและหน้าที่ของรากลำต้น
โครงสร้างและหน้าที่ของรากลำต้นโครงสร้างและหน้าที่ของรากลำต้น
โครงสร้างและหน้าที่ของรากลำต้น
Thanyamon Chat.
 
สัตว์ป่า
สัตว์ป่าสัตว์ป่า
สัตว์ป่า
Jiraporn
 
การลำเลียงน้ำของพืช
การลำเลียงน้ำของพืชการลำเลียงน้ำของพืช
การลำเลียงน้ำของพืช
nokbiology
 
บทที่ 5 สรุปผล และข้อเสนอแนะ
บทที่ 5 สรุปผล และข้อเสนอแนะบทที่ 5 สรุปผล และข้อเสนอแนะ
บทที่ 5 สรุปผล และข้อเสนอแนะ
Kittichai Pinlert
 
03 บทที่ 3-วิธีดำเนินงานโครงงาน
03 บทที่ 3-วิธีดำเนินงานโครงงาน03 บทที่ 3-วิธีดำเนินงานโครงงาน
03 บทที่ 3-วิธีดำเนินงานโครงงาน
Champ Wachwittayakhang
 

La actualidad más candente (20)

ลักษณะทางพฤกษศาสตร์ของพืช.pdf
ลักษณะทางพฤกษศาสตร์ของพืช.pdfลักษณะทางพฤกษศาสตร์ของพืช.pdf
ลักษณะทางพฤกษศาสตร์ของพืช.pdf
 
โครงสร้างของดอกไม้
โครงสร้างของดอกไม้โครงสร้างของดอกไม้
โครงสร้างของดอกไม้
 
โครงสร้างและหน้าที่ของรากลำต้น
โครงสร้างและหน้าที่ของรากลำต้นโครงสร้างและหน้าที่ของรากลำต้น
โครงสร้างและหน้าที่ของรากลำต้น
 
Microsoft word คำนำ
Microsoft word   คำนำMicrosoft word   คำนำ
Microsoft word คำนำ
 
ตัวอย่างแผนการสอนรวม7e
ตัวอย่างแผนการสอนรวม7eตัวอย่างแผนการสอนรวม7e
ตัวอย่างแผนการสอนรวม7e
 
โครงงานฟิสิกส์
โครงงานฟิสิกส์โครงงานฟิสิกส์
โครงงานฟิสิกส์
 
เฉลยชีววิทยาหน้า52- 59
เฉลยชีววิทยาหน้า52- 59เฉลยชีววิทยาหน้า52- 59
เฉลยชีววิทยาหน้า52- 59
 
คลื่นและเสียง
คลื่นและเสียงคลื่นและเสียง
คลื่นและเสียง
 
สัตว์ป่า
สัตว์ป่าสัตว์ป่า
สัตว์ป่า
 
การลำเลียงน้ำของพืช
การลำเลียงน้ำของพืชการลำเลียงน้ำของพืช
การลำเลียงน้ำของพืช
 
ส่วนประกอบของดอก
ส่วนประกอบของดอกส่วนประกอบของดอก
ส่วนประกอบของดอก
 
บทที่ 5 สรุปผล และข้อเสนอแนะ
บทที่ 5 สรุปผล และข้อเสนอแนะบทที่ 5 สรุปผล และข้อเสนอแนะ
บทที่ 5 สรุปผล และข้อเสนอแนะ
 
บทที่ 5
บทที่ 5บทที่ 5
บทที่ 5
 
ตัวอย่างโครงงานคอมพิวเตอร์
ตัวอย่างโครงงานคอมพิวเตอร์ตัวอย่างโครงงานคอมพิวเตอร์
ตัวอย่างโครงงานคอมพิวเตอร์
 
กฎของพาสคัล
กฎของพาสคัลกฎของพาสคัล
กฎของพาสคัล
 
ทฤษฎีการเรียนรู้ (Learning theory)
ทฤษฎีการเรียนรู้ (Learning theory)ทฤษฎีการเรียนรู้ (Learning theory)
ทฤษฎีการเรียนรู้ (Learning theory)
 
ตัวอย่างการนำเสนอโครงร่างวิจัย 3 บท
ตัวอย่างการนำเสนอโครงร่างวิจัย 3 บทตัวอย่างการนำเสนอโครงร่างวิจัย 3 บท
ตัวอย่างการนำเสนอโครงร่างวิจัย 3 บท
 
แรงดึงดูดระหว่างมวล2560
แรงดึงดูดระหว่างมวล2560แรงดึงดูดระหว่างมวล2560
แรงดึงดูดระหว่างมวล2560
 
ปัจจัยที่มีผลต่ออัตราการเกิดปฏิกิริยา
ปัจจัยที่มีผลต่ออัตราการเกิดปฏิกิริยาปัจจัยที่มีผลต่ออัตราการเกิดปฏิกิริยา
ปัจจัยที่มีผลต่ออัตราการเกิดปฏิกิริยา
 
03 บทที่ 3-วิธีดำเนินงานโครงงาน
03 บทที่ 3-วิธีดำเนินงานโครงงาน03 บทที่ 3-วิธีดำเนินงานโครงงาน
03 บทที่ 3-วิธีดำเนินงานโครงงาน
 

Más de tumetr

ตั้งรับ ขับเคลื่อนธุรกิจและผลักดันคนไอทีไทยสู่-Aec-2015
ตั้งรับ ขับเคลื่อนธุรกิจและผลักดันคนไอทีไทยสู่-Aec-2015ตั้งรับ ขับเคลื่อนธุรกิจและผลักดันคนไอทีไทยสู่-Aec-2015
ตั้งรับ ขับเคลื่อนธุรกิจและผลักดันคนไอทีไทยสู่-Aec-2015
tumetr
 
Aec rit v.1.0-facebook
Aec rit v.1.0-facebookAec rit v.1.0-facebook
Aec rit v.1.0-facebook
tumetr
 
Aec rit v.1.0-po_p
Aec rit v.1.0-po_pAec rit v.1.0-po_p
Aec rit v.1.0-po_p
tumetr
 
ทรัพยากรมนุษย์และการออกแบบงาน
ทรัพยากรมนุษย์และการออกแบบงานทรัพยากรมนุษย์และการออกแบบงาน
ทรัพยากรมนุษย์และการออกแบบงาน
tumetr
 
กลยุทธ์การเลือกทำเลที่ตั้งสถานประกอบการ
กลยุทธ์การเลือกทำเลที่ตั้งสถานประกอบการกลยุทธ์การเลือกทำเลที่ตั้งสถานประกอบการ
กลยุทธ์การเลือกทำเลที่ตั้งสถานประกอบการ
tumetr
 
กลยุทธ์การวางผังสถานประกอบการ
กลยุทธ์การวางผังสถานประกอบการกลยุทธ์การวางผังสถานประกอบการ
กลยุทธ์การวางผังสถานประกอบการ
tumetr
 

Más de tumetr (20)

ขั้นตอนการสร้าง Facebook page
ขั้นตอนการสร้าง Facebook pageขั้นตอนการสร้าง Facebook page
ขั้นตอนการสร้าง Facebook page
 
ตั้งรับ ขับเคลื่อนธุรกิจและผลักดันคนไอทีไทยสู่-Aec-2015
ตั้งรับ ขับเคลื่อนธุรกิจและผลักดันคนไอทีไทยสู่-Aec-2015ตั้งรับ ขับเคลื่อนธุรกิจและผลักดันคนไอทีไทยสู่-Aec-2015
ตั้งรับ ขับเคลื่อนธุรกิจและผลักดันคนไอทีไทยสู่-Aec-2015
 
Aec rit v.1.0-facebook
Aec rit v.1.0-facebookAec rit v.1.0-facebook
Aec rit v.1.0-facebook
 
Aec rit v.1.0-po_p
Aec rit v.1.0-po_pAec rit v.1.0-po_p
Aec rit v.1.0-po_p
 
The system-analysis-and-design
The system-analysis-and-designThe system-analysis-and-design
The system-analysis-and-design
 
การพัฒนาและติดตั้งระบบ(System implementation)
การพัฒนาและติดตั้งระบบ(System implementation)การพัฒนาและติดตั้งระบบ(System implementation)
การพัฒนาและติดตั้งระบบ(System implementation)
 
พจนานุกรมข้อมูล
พจนานุกรมข้อมูลพจนานุกรมข้อมูล
พจนานุกรมข้อมูล
 
ส่วนจัดการสื่อประสานผู้ใช้(User interface-management)
ส่วนจัดการสื่อประสานผู้ใช้(User interface-management)ส่วนจัดการสื่อประสานผู้ใช้(User interface-management)
ส่วนจัดการสื่อประสานผู้ใช้(User interface-management)
 
ระบบ (System)
ระบบ (System)ระบบ (System)
ระบบ (System)
 
An approach-to-planning-software-projects
An approach-to-planning-software-projectsAn approach-to-planning-software-projects
An approach-to-planning-software-projects
 
An introduction
An introductionAn introduction
An introduction
 
Huffman
HuffmanHuffman
Huffman
 
ทรัพยากรมนุษย์และการออกแบบงาน
ทรัพยากรมนุษย์และการออกแบบงานทรัพยากรมนุษย์และการออกแบบงาน
ทรัพยากรมนุษย์และการออกแบบงาน
 
กลยุทธ์การเลือกทำเลที่ตั้งสถานประกอบการ
กลยุทธ์การเลือกทำเลที่ตั้งสถานประกอบการกลยุทธ์การเลือกทำเลที่ตั้งสถานประกอบการ
กลยุทธ์การเลือกทำเลที่ตั้งสถานประกอบการ
 
กลยุทธ์การวางผังสถานประกอบการ
กลยุทธ์การวางผังสถานประกอบการกลยุทธ์การวางผังสถานประกอบการ
กลยุทธ์การวางผังสถานประกอบการ
 
หน่วยที่ 5.3.2 การสุขาภิบาลอาหาร
หน่วยที่ 5.3.2 การสุขาภิบาลอาหารหน่วยที่ 5.3.2 การสุขาภิบาลอาหาร
หน่วยที่ 5.3.2 การสุขาภิบาลอาหาร
 
หน่วยที่ 5.3.1 สารปนเปื้อนในอาหาร
หน่วยที่ 5.3.1 สารปนเปื้อนในอาหารหน่วยที่ 5.3.1 สารปนเปื้อนในอาหาร
หน่วยที่ 5.3.1 สารปนเปื้อนในอาหาร
 
หน่วยที่ 5.2 ผลิตภัณฑ์อาหารเพื่อสุขภาพ
หน่วยที่ 5.2 ผลิตภัณฑ์อาหารเพื่อสุขภาพหน่วยที่ 5.2 ผลิตภัณฑ์อาหารเพื่อสุขภาพ
หน่วยที่ 5.2 ผลิตภัณฑ์อาหารเพื่อสุขภาพ
 
avl tree ,b-tree
avl tree ,b-treeavl tree ,b-tree
avl tree ,b-tree
 
โครงสร้างข้อมูลแบบลิงค์ลิสต์ (linklist)
โครงสร้างข้อมูลแบบลิงค์ลิสต์ (linklist)โครงสร้างข้อมูลแบบลิงค์ลิสต์ (linklist)
โครงสร้างข้อมูลแบบลิงค์ลิสต์ (linklist)
 

โครงสร้างข้อมูลแบบ กราฟ (Graph)