看了一遍书,对3个问题很纠结,
分别有找前驱和后继
这个问题已经在前面帖子解决。可以看
[url=http://topic.csdn.net/u/20120817/08/e266b100-15f8-4858-8c20-a2724c085c88.html][/url]
不过后面接着看 删除操作有遇到麻烦。
凡是树的删除都有文章做。
这里树的删除有3种情形来讲,
叶子
只有一个儿子 都很简单
有2个儿子,要考虑找后继。
如果写成代码
是不是就是3个分支就是啦?
原来我是这么想的。
不过看了代码,我得问自己3个问题
1.如果删除的是节点的根,怎么办?
2.3种情形有什么共同点?//换个角度如何让代码变得更短,书上仅仅17行,如果是我,估计3倍!
3.书中的p数组(parent数组)想到了吗?//找父亲的手段。
其他:
其实 一直在想找中序的前驱、后继,还有问题?