二叉树的问题
二叉树的左child能大于右child吗?要实现一个heap(二叉树的一种),书上给的例子如下,9怎莫能比7大呢?应该右面大于左面吧?
2
5 6
9 7
[解决办法]
单纯的二叉树,左右孩子的大小随意。
你这里指的是堆排序。
[解决办法]
详细概念说起来很麻烦,给你找了个,自己去看看,说的很详细了。
http://student.zjzk.cn/course_ware/data_structure/web/paixu/paixu8.4.2.1.htm
[解决办法]
不是,从一个无序序列建堆的过程就是一个反复“筛选”的过程。具体例子看下面的链接,很详细了。
http://ettc.sysu.edu.cn/wlkc/shujujiegou/teaching/chapter10/chapter9-4-3a.html
补充一下,左孩子不大于右孩子的二叉树是二叉排序树,它和堆不是一个概念。
[解决办法]
要把堆的定义搞清楚,你这个像是最小堆,它只需要满足父节点的值
一定比子节点的值小就可以了,而兄弟节点之间并没有顺序要求。
[解决办法]
有大堆和小堆的区别,我有点记不清楚了,从上往下来按高到低是大堆,反之是小堆
大堆的区别是K,2I <=K,2I+1 <=K
小堆的是k,2i> =k,2i+1> =k,如果不对的话别用砖头砸我....
q24785490