ผลต่างระหว่างรุ่นของ "418531 ภาคต้น 2552/โจทย์ปัญหาอัลกอริทึมเกี่ยวกับกราฟ/เฉลยข้อ 4.4"

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา
แถว 1: แถว 1:
 +
เราจะทำการพิสูจน์ข้อความทั้งสามโดยใช้ข้อสังเกตสองข้อต่อไปนี้
 +
 +
<blockquote>
 +
ถ้า <math> \,</math> ถูกเรียกให้ทำงานหลังจาก DFSALL(u) ทำงาน แต่ก่อนที่ DFSALL(u) จะทำงานเสร็จ แล้วจะมี path ใน DFS tree จาก <math>u \,</math> ถึง <math>v \,</math>
 +
</blockquote>
 +
 +
'''พิสูจน์''' สมมติว่าก่อนหลังจากที่ DFSALL(u) ทำงานแล้ว มีการเรียก DFSALL(<math>u_1 \,</math>)
 +
 
== กรณีที่ 1 ==
 
== กรณีที่ 1 ==
เราพิสูจน์ว่าถ้า <math>\mathrm{pre}[u] < \mathrm{pre}[v] < \mathrm{post}[v] < \mathrm{post}[u] \,</math> แล้ว edge <math>(u,v) \,</math>
+
เราจะพิสูจน์ว่าถ้า <math>\mathrm{pre}[u] < \mathrm{pre}[v] < \mathrm{post}[v] < \mathrm{post}[u] \,</math> แล้ว edge <math>(u,v) \,</math>
 
จะต้องเป็น tree edge หรือว่า forward edge
 
จะต้องเป็น tree edge หรือว่า forward edge
  

รุ่นแก้ไขเมื่อ 11:08, 16 กันยายน 2552

เราจะทำการพิสูจน์ข้อความทั้งสามโดยใช้ข้อสังเกตสองข้อต่อไปนี้

ถ้า ถูกเรียกให้ทำงานหลังจาก 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