[理工] 资结题库5-64!

楼主: Aa841018 (andrew)   2019-09-21 06:08:59
https://i.imgur.com/J8W8m8Y.jpg
想请问一下例题40…看完题目,还蛮不知道该怎么想这题!
作者: mi981027 (呱呱竹)   2019-09-21 06:31:00
可以简单看看这几种方法的差别inorder是先往左走,再看值,再往右走preorder是先看值,再往左,再往右所以假设今天想删掉node a底下的subtree, 使用inorder走的话就会变成,明明已经traverse到那个点了,却一路往左继续走,而不是直接删掉但用preorder来走,只要一看发现经过node a了,就可以直接删掉了
楼主: Aa841018 (andrew)   2019-09-21 06:46:00
那level order呢?应该就没有必须一直往下走的问题了
作者: mi981027 (呱呱竹)   2019-09-21 08:17:00
我的想法是这样的,有错还请指正因为binary tree分成array跟用pointer做linking的建法通常只有complete binary tree才会使用array来建构一般情况都是建一个struct node, 以pointer的方式实现这种情况下除非是新增sibling link,不然根本很难做到level order的traversal
作者: DLHZ ( )   2019-09-21 10:09:00
作者: joey11121 (KRjoyz)   2019-09-21 18:22:00
借问个,那为什么preorder还是比postorder适合呢?
作者: DLHZ ( )   2019-09-21 19:41:00
原因一样吧 我能早点取就早点结束
作者: joey11121 (KRjoyz)   2019-09-21 20:01:00
了解了,感谢楼上
楼主: Aa841018 (andrew)   2019-09-21 21:33:00
谢谢m大解说

Links booklink

Contact Us: admin [ a t ] ucptt.com