418531 ภาคต้น 2552/โจทย์ปัญหาอัลกอริทึมแบบตะกละ II/เฉลยข้อ 3

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา

ให้ เป็น minimum spanning tree ที่ Kruskal's algorithm สร้าง เราจะพิสูจน์ว่ามันเป็น spanning tree เป็นต้นเดียวเท่านั้นของกราฟ

สมมติให้เกิดข้อขัดแย้งว่ามี minimum spanning tree ต้นอื่นที่ไม่ใช่ แสดงว่า จะต้องมี edge โดยที่ ไม่อยู่ใน

พิจารณาการทำงานของ Kruskal's algorithm เมื่อมันตรวจสอบว่ามันจะเอา edge เข้าไปใส่ใน หรือไม่ เนื่องจาก Kruskal's algorithm ไม่เอา เข้าไปใส่ใน หมายความว่าถ้่าเพิ่ม เข้าใน จะทำให้เกิด cycle ขึ้นมาหนึ่ง cycle นอกจากนี้เรายังสามารถรับประกันได้ว่า จะต้องเป้น edge ที่มี cost มากที่สุดใน cycle นั้นเนื่องจาก Kruskal's algorithm เพิ่ม edge เรียงลำดับจาก cost น้อยไปหา cost มาก และโจทย์กำหนดว่าไม่มี edge ใดมี cost เท่ากันเลย จาก cycle property เราได้ว่า จะต้องไม่เป็นส่วนประกอบของ minimum spanning tree ต้นใดเลย เกิดข้อขัดแย้ง