วีดีโอ: คุณจะหาเส้นทางที่สั้นที่สุดในกราฟกำกับได้อย่างไร?
2024 ผู้เขียน: Lynn Donovan | [email protected]. แก้ไขล่าสุด: 2023-12-15 23:54
รับน้ำหนัก กำกับ อะไซคลิก กราฟ และจุดยอดต้นทางใน กราฟ , หา เส้นทางที่สั้นที่สุด จากแหล่งที่กำหนดไปยังจุดยอดอื่นๆ ทั้งหมด
เส้นทางที่สั้นที่สุดในกราฟ Acyclic กำกับทิศทาง
- เริ่มต้น dist = {INF, INF, ….}
- สร้างลำดับทอพอโลยีของจุดยอดทั้งหมด
- ทำตามทุกจุดยอดในลำดับทอพอโลยี
ในลักษณะนี้ คุณจะหาเส้นทางที่สั้นที่สุดบนกราฟได้อย่างไร
ขั้นตอนอัลกอริทึม: สำหรับ กราฟ ด้วยจุดยอด: เริ่มต้น เส้นทางที่สั้นที่สุด ระหว่างจุดยอดใดๆ กับอินฟินิตี้ หา ทุกคู่ เส้นทางที่สั้นที่สุด ที่ใช้จุดยอดตรงกลางแล้ว หา NS เส้นทางที่สั้นที่สุด ที่ใช้จุดยอดระดับกลางเป็นต้น..จนใช้จุดยอดทั้งหมดเป็นโหนดกลาง.
ด้านบนนี้ คุณจะค้นหาเส้นทางที่สั้นที่สุดใน DFS ได้อย่างไร ไม่ คุณไม่สามารถใช้ DFS ถึง หาทางที่สั้นที่สุด ในกราฟที่ไม่ถ่วงน้ำหนัก ไม่ใช่กรณีที่ หา NS เส้นทางที่สั้นที่สุด ระหว่างสองโหนดได้รับการแก้ไขโดย BFS เท่านั้น
ในทำนองเดียวกัน คุณจะหาเส้นทางที่สั้นที่สุดในต้นไม้ได้อย่างไร?
- ต้นไม้สำรวจ (ความลึกก่อน)
- เก็บดัชนี (โหนด)
- เพิ่มค่า
- ทำ (1) จนจบต้นไม้
- เปรียบเทียบผลรวมและพิมพ์เส้นทางและผลรวม
อัลกอริทึมใดที่ใช้ในการค้นหาเส้นทางที่สั้นที่สุด
Dijkstra's Shortest Path First algorithm