博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
常见的排序算法五——堆排序
阅读量:6221 次
发布时间:2019-06-21

本文共 308 字,大约阅读时间需要 1 分钟。

原理:利用大根堆或小根堆思想,首先建立堆,然后将堆首与堆尾交换,堆尾之后为有序区。

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

实现:

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) 终究是建立一个堆的排序算法 

转载地址:http://wmeja.baihongyu.com/

你可能感兴趣的文章
C++0X 学习之 auto
查看>>
火焰图&perf命令
查看>>
可乐鸡翅
查看>>
Spring MVC【入门】就这一篇!
查看>>
windows7 professional.iso
查看>>
postgresql存储过程
查看>>
vue.js的安装部署+cnpm install 安装过程卡住不动----亲测可用
查看>>
如何使用win7自带的备份还原以及创建系统镜像------傻瓜式教程
查看>>
类,接口,抽象类,结构
查看>>
Linux GSO逻辑分析
查看>>
ORACLE 创建表空间
查看>>
keepalived+双主架构
查看>>
robotframwork的WEB功能测试(二)—登录
查看>>
java_有秒计时的数字时钟
查看>>
最小生成树-Prim算法与Kruskal算法
查看>>
阅读笔记11
查看>>
Javascript中大括号“{}”的多义性
查看>>
Loadrunner Get&Post方法性能测试脚本解析
查看>>
Android manifest 获取源代码
查看>>
第三讲课后作业1
查看>>