เราจะมาดูกันว่าการใช้งานกราฟอัลกอริธึม DFS และ BFS ต่างกันอย่างไร
DFS หรือ Depth First Search ใช้ในที่ต่างๆ การใช้งานทั่วไปบางประการ ได้แก่ −
- หากเราแสดง DFS บนกราฟที่ไม่ถ่วงน้ำหนัก มันจะสร้างแผนภูมิขยายขั้นต่ำสำหรับแผนผังเส้นทางที่สั้นที่สุดของคู่ทั้งหมด
- เราสามารถตรวจจับวัฏจักรในกราฟโดยใช้ DFS หากเราได้ back-edge หนึ่งอันระหว่าง BFS ก็จะต้องมีหนึ่งรอบ
- การใช้ DFS เราจะสามารถค้นหาเส้นทางระหว่างจุดยอดสองจุดที่กำหนด u และ v
- เราสามารถทำการเรียงลำดับทอพอโลยีเพื่อจัดกำหนดการงานจากการขึ้นต่อกันที่กำหนดระหว่างงานต่างๆ การเรียงลำดับทอพอโลยีสามารถทำได้โดยใช้อัลกอริธึม DFS
- การใช้ DFS ทำให้เราสามารถค้นหาองค์ประกอบที่เชื่อมโยงอย่างมากของกราฟได้ หากมีเส้นทางจากจุดยอดแต่ละจุดไปยังจุดยอดอื่นทุกจุด แสดงว่ามีการเชื่อมต่อกันอย่างแน่นหนา
เช่นเดียวกับ DFS BFS (Breadth First Search) ยังใช้ในสถานการณ์ต่างๆ เหล่านี้เป็นเหมือนด้านล่าง −
- ในเครือข่ายเพียร์ทูเพียร์ เช่น บิตทอร์เรนต์ BFS ถูกใช้เพื่อค้นหาโหนดเพื่อนบ้านทั้งหมด
- โปรแกรมรวบรวมข้อมูลของเครื่องมือค้นหาใช้ BFS เพื่อสร้างดัชนี เริ่มต้นจากหน้าต้นทาง จะพบลิงก์ทั้งหมดในนั้นเพื่อรับหน้าใหม่
- การใช้ระบบนำทาง GPS BFS ใช้ในการค้นหาสถานที่ใกล้เคียง
- ในระบบเครือข่าย เมื่อเราต้องการเผยแพร่แพ็กเก็ต เราใช้อัลกอริทึม BFS
- อัลกอริธึมการค้นหาเส้นทางขึ้นอยู่กับ BFS หรือ DFS
- ใช้ BFS ในอัลกอริทึมของ Ford-Fulkerson เพื่อค้นหาการไหลสูงสุดในเครือข่าย