堆排序的时间复杂度分析:
1. 对深度为 k 的堆,“筛选”所需进行的关键字
比较的次数至多为2(k-1);
3. 调整“堆顶” n-1 次,总共进行的关键
字比较的次数不超过
2 (log2(n-1)+ log2(n-2)+ …+log22) < 2n(log2n)
因此,堆排序的时间复杂度为O(nlogn)。
2. 对 n 个关键字,建成深度为h(=log2n+1)的堆,
所需进行的关键字比较的次数至多 4n;
2022-11-20 16:12:40
3.29MB
排序算法
1