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