418531 ภาคต้น 2552/โจทย์ปัญหาอัลกอริทึมเกี่ยวกับกราฟ/เฉลยข้อ 4.5
ให้่ เป็น edge ใดๆ ใน undirected graph
โจทย์ต้องการให้เราพิสูจน์ว่า edge เป็น tree edge หรือไม่ก็ back edge
นั่นคือเท่ากับพิสูจน์ว่า "ถ้า ไม่เป็น tree edge แล้วมันต้องเป็น back edge"
ดังนั้นเราสมมติว่า ไม่เป็น tree edge
สมมติเพิ่มเพื่อไม่ให้เสียนัยทั่วไปว่า ถูกเรียกก่อน (ถ้า ถูกเรียกก่อนเราก็แค่สลับ กับ )
ข้อสังเกต: เมื่อ ถูกเรียกให้ทำงาน มันจะจบการทำงานก็ต่อเมื่อ ได้เข้าไปสำรวจ vertex ทุก vertex ที่ยังไม่เคยถูกสำรวจซึ่งเราสามารถเดินไปถึงจาก ได้
เนื่องจากมี edge ดังนั้นเราสามารถเดินจาก ไปถึง ได้
แต่ ณ เวลาที่ ถูกเรียก ยังไม่ถูกเรียก เพราะฉะนั้น ณ เวลานั้น ยังไม่ถูกสำรวจ
ฉะนั้นจึงสามารถสรุปได้ว่า เป็นลูกหลานของ ใน DFS tree
edge ไม่ใช่ tree edge มันจึงต้องเป็น back edge เนื่องจากมันเชื่อมลูกหลานตัวหนึ่งของ เข้ากับตัว เอง