ผลต่างระหว่างรุ่นของ "418531 ภาคต้น 2552/โจทย์ปัญหาอัลกอริทึมเกี่ยวกับกราฟ/เฉลยข้อ 4.4"
ไปยังการนำทาง
ไปยังการค้นหา
Cardcaptor (คุย | มีส่วนร่วม) |
Cardcaptor (คุย | มีส่วนร่วม) |
||
แถว 6: | แถว 6: | ||
เนื่องจาก <math>\mathrm{post}[v] < \mathrm{post}[u] \,</math> เรารู้ว่า DFSALL(v) ถูกเรียกก่อนที่ DFSALL(u) จะทำงานเสร็จ | เนื่องจาก <math>\mathrm{post}[v] < \mathrm{post}[u] \,</math> เรารู้ว่า DFSALL(v) ถูกเรียกก่อนที่ DFSALL(u) จะทำงานเสร็จ | ||
− | ฉะนั้นจะต้องมี path ใน DFS tree จาก <math>u \,</math> ถึง <math>v \,</math> ดังนั้น <math>(u,v) \,</math> จึงเป็น tree edge | + | ฉะนั้นจะต้องมี path ใน DFS tree จาก <math>u \,</math> ถึง <math>v \,</math> |
− | หรือไม่ก็ forward edge | + | |
+ | ดังนั้น <math>(u,v) \,</math> จึงเป็น tree edge หรือไม่ก็ forward edge |
รุ่นแก้ไขเมื่อ 10:58, 16 กันยายน 2552
กรณีที่ 1
เราต้องการพิสูจน์ว่าถ้า แล้ว edge จะต้องเป็น tree edge หรือว่า forward edge
เนื่องจาก เรารู้ว่า DFSALL(u) เริ่มทำงานก่อน DFSALL(v) และ เนื่องจาก เรารู้ว่า DFSALL(v) ถูกเรียกก่อนที่ DFSALL(u) จะทำงานเสร็จ
ฉะนั้นจะต้องมี path ใน DFS tree จาก ถึง
ดังนั้น จึงเป็น tree edge หรือไม่ก็ forward edge