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

จาก Theory Wiki
รุ่นแก้ไขเมื่อ 13:57, 16 กันยายน 2552 โดย Cardcaptor (คุย | มีส่วนร่วม) (หน้าที่ถูกสร้างด้วย 'สมมติว่า <math>u \,</math> เป็น vertex และให้ <math>v_1, v_2, \ldots, v_k \,</math> เป็นลู…')
(ต่าง) ←รุ่นแก้ไขก่อนหน้า | รุ่นแก้ไขล่าสุด (ต่าง) | รุ่นแก้ไขถัดไป→ (ต่าง)
ไปยังการนำทาง ไปยังการค้นหา

สมมติว่า เป็น vertex และให้ เป็นลูกของ เราจะได้ว่า

ฉะนั้นเราสามารถหาค่า สำหรับทุก vertex โดยการปรับปรุง ใหม่ดังต่อไปนี้

<geshi lang="c"> DFS(u) {

   explored[u] = 1
   z[u] = x[u]
   
   for i = 1 to d[u] do
   {
       v = a[u][i]
       if explored[v] = 0 then
           DFS(v)
       if z[v] < z[u] then
           z[u] = z[v]
   }    

} </geshi>