您的位置:首页 > 其它

常见的排序算法五——堆排序

2012-09-23 21:10 225 查看
原理:利用大根堆或小根堆思想,首先建立堆,然后将堆首与堆尾交换,堆尾之后为有序区。

要点:建堆、交换、调整堆

实现:

Void HeapSort(Node L[])

{

BuildingHeap(L);//建堆(大根堆)

For(int i=n;i>0;i--)//交换

{

Int temp=L[i];

L[i]=L[0];

L[0]=temp;

Heapify(L,0,i);//调整堆

}

}

Void BuildingHeap(Node L[])

{ For(i=length/2 -1;i>0;i--)

Heapify(L,i,length);

}

排序算法的复杂度是o(n2) 终究是建立一个堆的排序算法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐