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

การประยุกต์ใช้ DFS และ BFS ในโครงสร้างข้อมูล


การประยุกต์ใช้ DFS (Depth First Search)

  • ทำ DFS บน Unweighted Graph → สร้าง Minimum Spanning Tree และ All-Pairs Shortest Path Tree
  • ตรวจจับ Cycle (Cycle Detection) – ถ้าเจอ Back-edge ระหว่าง DFS → มี Cycle
  • หา Path ระหว่างสองโหนด u และ v
  • Topological Sorting – จัดตารางงานจาก Dependency ใช้ DFS
  • หา Strongly Connected Components – ถ้ามี Path จากทุกโหนดไปทุกโหนด = Strongly Connected

การประยุกต์ใช้ BFS (Breadth First Search)

  • Peer-to-Peer Networks (BitTorrent) – หา Neighbor Nodes ทั้งหมด
  • Search Engine Crawlers – สร้าง Index เริ่มจากหน้าแรก หา Link ทั้งหมดเพื่อหาหน้าใหม่
  • GPS Navigation – หาสถานที่ใกล้เคียง
  • Network Broadcasting – ส่งแพ็กเกจแบบ Broadcast ใช้ BFS
  • Path Finding Algorithms – พัฒนามาจาก BFS หรือ DFS
  • Ford-Fulkerson Algorithm – หา Maximum Flow ใน Network ใช้ BFS