在最坏情况下,堆排序需要比较的次数为多少?
一道全国计算机二级VF试题,
人气:416 ℃ 时间:2020-03-22 04:39:10
解答
0(nlog2n)
首先前面的那个是O而不是0,相信你应该了解时间复杂度的表示方法吧,前面就有一个O,我认为此处也应该是和那个一样的含义,即取n的最大次方!下面我们看看堆排序的定义:
n个关键字序列Kl,K2,…,Kn称为堆,当且仅当该序列满足如下性质(简称为堆性质):
(1) ki≤K2i且ki≤K2i+1 或(2)Ki≥K2i且ki≥K2i+1(1≤i≤[n/2] )
若将此序列所存储的向量R[1..n]看做是一棵完全二叉树的存储结构,则堆实质上是满足如下性质的完全二叉树:树中任一非叶结点的关键字均不大于(或不小于)其左右孩子(若存在)结点的关键字.堆排序的特点是:在排序过程中,将R[l..n]看成是一棵完全二叉树的顺序存储结构,利用完全二叉树中双亲结点和孩子结点之间的内在关系【参见二叉树的顺序存储结构】,在当前无序区中选择关键字最大(或最小)的记录.
看完之后相信你自己就可以解答自己的疑问了!
推荐
- 堆排序算法中如何计算元素比较次数和移动次数
- “堆排序法,最坏情况需要O(nlog2n)次比较”中“O”是什么意思?
- 下面的排方法中,最坏的情况下比较次数最少的是( ) A冒泡排序 B简单选择排序 C直接插入排序 D 堆排序
- 请高人讲解一下堆排序法到底是怎么排的,属于计算机二级的中的排序问题,能不能附加例题呢
- 一筐水果连筐重48千克,取出一半后,连筐重25千克,这只筐里原来有水果多少千克?
- 甲、乙、丙3个数的比是3:4:5,这三个数的平均数是96,这3个数分别是多少?
- 正方形ABCD的边长为a,E 为AD的中点,BM⊥BC与M,则BM的长为_____ 等腰梯形两对对角线互相垂直,中位线长为
- Find out when these things were invented and then write about them.
猜你喜欢