ผลต่างระหว่างรุ่นของ "418341 ภาคต้น 2552/โจทย์ปัญหาการโปรแกรมพลวัต II"
Aoy (คุย | มีส่วนร่วม) (→ข้อ 2) |
Aoy (คุย | มีส่วนร่วม) (→ข้อ 3) |
||
แถว 10: | แถว 10: | ||
== ข้อ 3 == | == ข้อ 3 == | ||
+ | [Dasgupta, Papadimitriou, Vazirani 4.11]จงหาอัลกอริทึมที่รับอินพุตเป็นกราฟแบบมีทิศทางที่มี cost ของแต่ละ edge เป็นบวก และให้คำตอบเป็นความยาวของ cycle ที่สั้นที่สุดในกราฟ (ถ้ากราฟไม่มี cycle อัลกอริทึมนี้จะตอบ no) อัลกอริทึมของคุณควรทำงานได้ในเวลา <math> O(|V|^3) \,</math> | ||
== ข้อ 4 == | == ข้อ 4 == | ||
== ข้อ 5 == | == ข้อ 5 == |
รุ่นแก้ไขเมื่อ 06:45, 1 ตุลาคม 2552
ข้อ 1
[Dasgupta, Papadimitriou, Vazirani 4.5]โดยทั่วไปแล้วเส้นทางที่สั้นที่สุดระหว่างโหนดสองโหนดในกราฟมักจะมีมากกว่าหนึ่งเส้นทาง จงออกแบบอัลกอริทึมที่ทำงานในเวลา linear time สำหรับปัญหาต่อไปนี้
อินพุต: กราฟแบบไม่มีทิศทาง ที่มี cost ของ edge ทุก edge เท่ากันหมด และให้โหนดมาสองโหนดคือ
เอาพุต: จำนวนของเส้นทางที่สั้นที่สุดที่แตกต่างกันจาก ไปยัง
ข้อ 2
[Dasgupta, Papadimitriou, Vazirani 4.10]ให้กราฟแบบมีทิศทางพร้อมกับ cost ของแต่ละ edge (อาจมีค่าเป็นลบได้) โดยที่รับประกันว่าเส้นทางที่สั้นที่สุดระหว่างโหนดสองโหนดในกราฟมีอย่างมาก edge จงออกแบบอัลกอริทึมที่หาเส้นทางที่สั้นที่สุดระหว่างโหนดสองโหนด และ โดยอัลกอริทึมดังกล่าวทำงานได้ในเวลา
ข้อ 3
[Dasgupta, Papadimitriou, Vazirani 4.11]จงหาอัลกอริทึมที่รับอินพุตเป็นกราฟแบบมีทิศทางที่มี cost ของแต่ละ edge เป็นบวก และให้คำตอบเป็นความยาวของ cycle ที่สั้นที่สุดในกราฟ (ถ้ากราฟไม่มี cycle อัลกอริทึมนี้จะตอบ no) อัลกอริทึมของคุณควรทำงานได้ในเวลา