418531 ภาคต้น 2552/โจทย์ปัญหาอัลกอริทึมเกี่ยวกับกราฟ/เฉลยข้อ 4.4
รุ่นแก้ไขเมื่อ 11:08, 16 กันยายน 2552 โดย Cardcaptor (คุย | มีส่วนร่วม)
เราจะทำการพิสูจน์ข้อความทั้งสามโดยใช้ข้อสังเกตสองข้อต่อไปนี้
ถ้า ถูกเรียกให้ทำงานหลังจาก DFSALL(u) ทำงาน แต่ก่อนที่ DFSALL(u) จะทำงานเสร็จ แล้วจะมี path ใน DFS tree จาก ถึง
พิสูจน์ สมมติว่าก่อนหลังจากที่ DFSALL(u) ทำงานแล้ว มีการเรียก DFSALL()
กรณีที่ 1
เราจะพิสูจน์ว่าถ้า แล้ว edge จะต้องเป็น tree edge หรือว่า forward edge
พิสูจน์: เนื่องจาก เรารู้ว่า DFSALL(u) เริ่มทำงานก่อน DFSALL(v) และ เนื่องจาก เรารู้ว่า DFSALL(v) ถูกเรียกก่อนที่ DFSALL(u) จะทำงานเสร็จ
ฉะนั้นจะต้องมี path ใน DFS tree จาก ถึง
ดังนั้น จึงเป็น tree edge หรือไม่ก็ forward edge