[理工] 資結題庫5-64!

看板Grad-ProbAsk作者 (andrew)時間6年前 (2019/09/21 06:09), 6年前編輯推噓5(5015)
留言20則, 4人參與, 6年前最新討論串1/1
https://i.imgur.com/J8W8m8Y.jpg
想請問一下例題40…看完題目,還蠻不知道該怎麼想這題! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 39.12.94.10 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1569017341.A.C6B.html ※ 編輯: Aa841018 (39.12.94.10 臺灣), 09/21/2019 06:09:25

09/21 06:31, 6年前 , 1F
可以簡單看看這幾種方法的差別
09/21 06:31, 1F

09/21 06:31, 6年前 , 2F
inorder是先往左走,再看值,再往右走
09/21 06:31, 2F

09/21 06:31, 6年前 , 3F
preorder是先看值,再往左,再往右
09/21 06:31, 3F

09/21 06:31, 6年前 , 4F
所以假設今天想刪掉node a底下的subtree, 使用inorder
09/21 06:31, 4F

09/21 06:31, 6年前 , 5F
走的話就會變成,明明已經traverse到那個點了,卻一路
09/21 06:31, 5F

09/21 06:31, 6年前 , 6F
往左繼續走,而不是直接刪掉
09/21 06:31, 6F

09/21 06:31, 6年前 , 7F
但用preorder來走,只要一看發現經過node a了,就可以
09/21 06:31, 7F

09/21 06:31, 6年前 , 8F
直接刪掉了
09/21 06:31, 8F

09/21 06:46, 6年前 , 9F
那level order呢?應該就沒有必須一直往下走的問題了
09/21 06:46, 9F

09/21 08:17, 6年前 , 10F
我的想法是這樣的,有錯還請指正
09/21 08:17, 10F

09/21 08:17, 6年前 , 11F
因為binary tree分成array跟用pointer做linking的建法
09/21 08:17, 11F

09/21 08:17, 6年前 , 12F
通常只有complete binary tree才會使用array來建構
09/21 08:17, 12F

09/21 08:17, 6年前 , 13F
一般情況都是建一個struct node, 以pointer的方式實現
09/21 08:17, 13F

09/21 08:17, 6年前 , 14F
這種情況下除非是新增sibling link,不然根本很難做到le
09/21 08:17, 14F

09/21 08:17, 6年前 , 15F
vel order的traversal
09/21 08:17, 15F

09/21 10:09, 6年前 , 16F
09/21 10:09, 16F

09/21 18:22, 6年前 , 17F
借問個,那為什麼preorder還是比postorder適合呢?
09/21 18:22, 17F

09/21 19:41, 6年前 , 18F
原因一樣吧 我能早點取就早點結束
09/21 19:41, 18F

09/21 20:01, 6年前 , 19F
了解了,感謝樓上
09/21 20:01, 19F

09/21 21:33, 6年前 , 20F
謝謝m大解說
09/21 21:33, 20F
文章代碼(AID): #1TXKtznh (Grad-ProbAsk)