您的位置:程序门 -> c/c++ ->



关于堆排序


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


关于堆排序[已结贴,结贴人:winkyxiao1981]
发表于:2007-07-06 19:54:02 楼主
在完全二叉树中,所有序i> [n/2]   的结点都是叶子,因此以这些结点为根的子树均已是堆。这样,我们只需依次将以序号为[n/2]   ,[n/2]-1,…,1的结点作为根的子树都调整为堆即可。
这句话怎么理解?请各位大虾赐教,谢谢!
发表于:2007-07-08 03:29:021楼 得分:5
1

                                          2                                                                       3

                        4                                   5                                   6                                     7
                  8           9                     10           11                   12           13                       14         15

上面的完全二叉树共有n=15个结点,[n/2]=7,第8号以后的结点都是叶子结点
此以这些结点为根的子树只有一个结点,当然已经是堆
接下来只需依次将以序号为7,6,5,…,1的结点作为根的子树都调整为堆
发表于:2007-07-08 20:29:142楼 得分:0
谢谢,我结贴了,多谢指教!我感觉这里的人都很热心。都是我的良师益友。呵呵!


快速检索

最新资讯
热门点击