堆以及堆排序的优化 什么是堆? FixHeap() CreateHeap() 堆排序的优化 堆的泛化 堆的性质 什么是堆? 堆结构+偏序关系 任何关于堆的算法都要先保证其一,再尽力做好另一个 FixHeap() 先保证堆结构不被破坏,即将最后一个放在第一个的位置,然后再利用左右子树只需修一个树的局部完整性达到 O ( l o g ( n ) ) \Omicron (log(n)) O(log(n))的效果 CreateHeap() 对左右子树递归的执行算法,然后fix头部即可, w ( n ) = 2 w ( n / 2 ) + l o g n w(n)=2w(n/2)+logn w(n)=