เส้นทางที่ไม่ซ้ำในกราฟกำกับ


9

ฉันออกแบบอัลกอริทึมสำหรับการเรียนที่จะตรวจสอบหากนำกราฟที่ไม่ซ้ำกันด้วยความเคารพต่อยอดดังกล่าวว่าสำหรับการใด ๆมีที่มากที่สุดเส้นทางหนึ่งจากเพื่อUฉันเริ่มต้นด้วยการใช้ BFS (ค้นหาแบบกว้างแรก) เพื่อค้นหาเส้นทางที่สั้นที่สุดจาก v ไปยังจุดสุดยอดอีกจุดหนึ่งจากนั้นเรียกใช้ BFS อีกครั้งเพื่อดูว่าสามารถหาเส้นทางอื่นจาก v ถึง u ได้ไหม ฉันคิดว่ามันใช้เวลานานเกินไป ใครบ้างมีคำใบ้ว่าวิธีการแก้ปัญหาสามารถพบได้ด้วยเวลาการดำเนินการที่สั้นลง?vuvvu

คำตอบ:


9

ใช้ BFS เพื่อทำงานย้อนกลับจาก v ตั้งค่าสถานะจุดยอดแต่ละรายการเป็น 'เยี่ยมชม' ตามที่คุณไป หากคุณเคยมาถึงจุดสุดยอดที่คุณเคยเยี่ยมชมก่อนหน้านี้กราฟของคุณไม่มีคุณสมบัติที่เป็นเอกลักษณ์ มิฉะนั้นมันจะ



2

เป็นการปรับเปลี่ยนกราฟอย่างง่าย ๆ : ถ้าคุณหาขอบของโหนดที่ทำเครื่องหมายไว้ก่อนหน้านี้แสดงว่าคุณมีหลายเส้นทาง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.