สามารถใช้ dfs เพื่อค้นหาเส้นทางที่สั้นที่สุดได้หรือไม่

สารบัญ:

สามารถใช้ dfs เพื่อค้นหาเส้นทางที่สั้นที่สุดได้หรือไม่
สามารถใช้ dfs เพื่อค้นหาเส้นทางที่สั้นที่สุดได้หรือไม่
Anonim

มีความแตกต่างหลายประการระหว่าง DFS และ BFS (คำตอบสั้น ๆ: ทั้ง สามารถค้นหาเส้นทางที่สั้นที่สุดในกราฟแบบไม่ถ่วงน้ำหนัก) ทั้ง BFS และ DFS จะให้เส้นทางที่สั้นที่สุดจาก A ถึง B หากคุณดำเนินการถูกต้อง

เป็นเส้นทาง DFS หรือ BFS ที่สั้นที่สุดหรือไม่

BFS ค้นหาเส้นทางที่สั้นที่สุดไปยังปลายทาง ในขณะที่ DFS ไปที่ด้านล่างของทรีย่อยแล้วย้อนกลับ รูปแบบที่สมบูรณ์ของ BFS คือการค้นหาแบบกว้างก่อนในขณะที่ DFS แบบเต็มคือการค้นหาแบบลึกก่อน BFS ใช้คิวติดตามสถานที่ต่อไปที่จะเยี่ยมชม

DFS ค้นหาเส้นทางที่สั้นที่สุดในกราฟถ่วงน้ำหนักได้หรือไม่

เช่นเดียวกับ BFS สามารถใช้ DFS เพื่อค้นหาจุดยอดทั้งหมดที่เข้าถึงได้จากจุดยอด v เพื่อตรวจสอบว่ากราฟเชื่อมต่ออยู่หรือไม่ หรือเพื่อสร้างแผนภูมิขยาย ไม่เหมือนกับ BFS ไม่สามารถใช้เพื่อค้นหาเส้นทางที่ไม่มีน้ำหนักที่สั้นที่สุด.

คุณสามารถใช้ BFS เพื่อค้นหาเส้นทางที่สั้นที่สุดได้หรือไม่

ทางเทคนิค การค้นหาแบบกว้างๆ (BFS) ด้วยตัวเองไม่ได้ช่วยให้คุณพบเส้นทางที่สั้นที่สุด เพียงเพราะ BFS ไม่ได้มองหาเส้นทางที่สั้นที่สุด: BFS อธิบายกลยุทธ์ สำหรับการค้นหากราฟ แต่ไม่ได้บอกว่าคุณต้องค้นหาอะไรเป็นพิเศษ

เราสามารถใช้ DFS ใน Dijkstra ได้หรือไม่

2 คำตอบ. DFS กระโดดไปตามโหนดจนกว่าจะพบเส้นทาง ในขณะที่ Dijkstra นั้นคล้ายกับ BFS มากกว่า เว้นแต่จะติดตามน้ำหนัก (ไม่ใช่ทุกเส้นทางมีราคาเท่ากัน) และจะคอยตรวจสอบเส้นทางที่สั้นที่สุดยังไม่ได้ตรวจสอบจนกว่าจะถึงเป้าหมาย

แนะนำ: