请问可不可以像打印最大堆的树形结构来打印二分搜索树

来源:5-5 二分搜索树的遍历(深度优先遍历)

慕粉3169703

2019-02-04

老师,在学习最大堆的那章,您提供了一个打印树状图的方法,用来形象地描述最大堆插入元素后的性质。虽然二分搜索树原理上跟堆的树不一样,但是可不可以在之前的方法上改造从未打印出二分搜索树的树状图呢?
最后祝老师新年快乐!

写回答

1回答

liuyubobobo

2019-02-04

肯定可以的:)但是由于堆是一个完全二叉树,所以每一层的节点个数是固定,打印出来效果会很好,而对于二分搜索树,不能保证每一层都是满的,所以如果节点缺失太多,打印出来的效果不够好。但不管怎样,同样的逻辑是适用的,毕竟堆本身也是二叉树:)


如果有兴趣的话,可以在学习完广度优先遍历以后,研究一下我的代码,自己尝试改造一下,或者自己实现一个属于自己的版本:)(堆是用数组表示的二叉树结构,而我们实现的二叉树是链式结构。)


在这个课程中也有同学使用canvas进行了二叉树的可视化,如果有兴趣可以参考:https://github.com/kingAnyWHere/canvas-binary-search


继续加油! & 春节快乐:)

0
1
慕粉3169703
非常感谢!正是我想要的!
2019-02-24
共1条回复

算法与数据结构(C++版) 面试/评级的算法复习技能包

课程专为:短时间内应对面试、升职测评等艰巨任务打造

11187 学习 · 1614 问题

查看课程