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

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา
(หน้าที่ถูกสร้างด้วย 'ให้ <math>u \,</math> และ <math>v \,</math> เป็น vertex ใดๆ ในกราฟแล้ว เราจะได…')
 
แถว 4: แถว 4:
 
* DFSALL(v) ถูกเรียกให้ทำงานก่อน DFSALL(u)
 
* DFSALL(v) ถูกเรียกให้ทำงานก่อน DFSALL(u)
  
ิพิจารณากรณีที่ DFSALL(u) ถูกเรียกให้ทำงานก่อน DFSALL(v) ในกรณีนี้เราจะได้ว่า <math>\mathrm{post}[u] < \mathrm{post}[v] \,</math> และในกรณีนี้มีความเป็นไปได้สองกรณีด้วยกันคือ
+
ิพิจารณากรณีที่ DFSALL(u) ถูกเรียกให้ทำงานก่อน DFSALL(v) ในกรณีนี้เราจะได้ว่า <math>\mathrm{pre}[u] < \mathrm{pre}[v] \,</math> และในกรณีนี้มีความเป็นไปได้สองกรณีด้วยกันคือ
  
* DFSALL(u) ถูกเรียกใ้ห้ทำงาน <math> \,</math>
+
# <math>\mathrm{post}[u] < \mathrm{pre}[v] \,</math>
 +
# <math>\mathrm{post}[u] > \mathrm{pre}[v] \,</math>
 +
 
 +
ในกรณีที่ 1 เราได้ว่า <math>\mathrm{pre}[u] < \mathrm{post}[u] < \mathrm{pre}[v] < \mathrm{post}[v] \,</math>
 +
ซึ่งหมายความว่าช่วง <math>[\mathrm{pre}[u], \mathrm{post}[u]] \,</math> และช่วง <math>[\mathrm{pre}[v], \mathrm{post}[v]] \,</math>
 +
ไม่ซ้อนทับกันเลย ซึ่งตรงกับข้อความหนึ่งในสามข้อในโจทย์
 +
 
 +
ในกรณีที่ 2 เราได้ว่า <math>\mathrm{pre}[u] < \mathrm{pre}[v] < \mathrm{post}[u]\,</math> หมายความว่า DFSALL(v) ถูกเรียกให้ทำงานระหว่าง DFSALL(u) กำลังทำงานอยู่
 +
ฉะนั้น DFSALL(v) จะต้องทำงานเสร็จก่อน DFSALL(u) เสมอ

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

ให้ และ เป็น vertex ใดๆ ในกราฟแล้ว เราจะได้ว่ามีความเป็นไปได้สองกรณีด้วยกัน คือ

  • DFSALL(u) ถูกเรียกให้ทำงานก่อน DFSALL(v)
  • DFSALL(v) ถูกเรียกให้ทำงานก่อน DFSALL(u)

ิพิจารณากรณีที่ DFSALL(u) ถูกเรียกให้ทำงานก่อน DFSALL(v) ในกรณีนี้เราจะได้ว่า และในกรณีนี้มีความเป็นไปได้สองกรณีด้วยกันคือ

ในกรณีที่ 1 เราได้ว่า ซึ่งหมายความว่าช่วง และช่วง ไม่ซ้อนทับกันเลย ซึ่งตรงกับข้อความหนึ่งในสามข้อในโจทย์

ในกรณีที่ 2 เราได้ว่า หมายความว่า DFSALL(v) ถูกเรียกให้ทำงานระหว่าง DFSALL(u) กำลังทำงานอยู่ ฉะนั้น DFSALL(v) จะต้องทำงานเสร็จก่อน DFSALL(u) เสมอ