看板 Math 關於我們 聯絡資訊
https://imgur.com/a/3j1Gism 不好意思請教神人大大 第二小題,右邊參考解答中 為何需要把趙六放入推疊三次? 還是解答有誤? 願奉上P幣100P -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.166.103.246 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Math/M.1622287135.A.E43.html
LPH66 : 我們只在走到節點時紀錄走過, 而不是在推進堆疊時 05/29 19:50
LPH66 : 另外, 這三個堆疊紀錄代表不同來源, 而 DFS 要的 05/29 19:53
LPH66 : 是從最深點的分支先走, 因此 (5) 的趙六來自 (4) 05/29 19:54
LPH66 : 先進行, 而 (6) 來自 (3), (7) 來自 (2) 則當作重覆 05/29 19:55
請問這題的答案是唯一嗎? 感謝您,已匯100p ※ 編輯: ooww (218.166.103.246 臺灣), 05/29/2021 20:22:29 請問可否這樣寫? 1. push(張三(CS)) stack:張三(CS) 2. pop()→走訪張三(CS) stack:empty push(趙六(CL)) stack:趙六(CL) 3. pop()→走訪趙六(CL) stack:empty push(李四(LS)) stack:李四(LS) 4. pop→走訪李四(LS) stack:empty push(王五(WW)) stack:王五(WW) 5. pop→走訪王五(WW) stack:empty 6. 結束 深度優先搜尋的走訪順序:張三→ 趙六→李四→王五 ※ 編輯: ooww (218.166.103.246 臺灣), 05/29/2021 20:41:01
LPH66 : 你在尋訪張三時就要把它的所有連線推進堆疊了 05/29 20:55
LPH66 : 所以不能只在那裡推趙六, 連李四也要推進去 05/29 20:55
LPH66 : 而推的順序即是題目要求的順序 05/29 20:55
LPH66 : 因此先推趙六再推李四 05/29 20:56
LPH66 : 同理, 尋訪李四時要把它的所有連線推進去 05/29 20:57
LPH66 : 扣掉張三是走來的方向, 剩下的先推趙六再推王五 05/29 20:58