数据结构之堆
来源:互联网 发布:数据清单内容分类汇总 编辑:程序博客网 时间:2024/06/11 13:38
(二叉)堆是一个数组,可以被看成一个近似的完全二叉树。
可以被用作对数组进行排序或者优先队列来使用。
以大顶堆为例,主要函数包含有以下几个:
void Max-Heap(int *a,int i,int size) //调整堆 { int l=2*i; int r=2*i+1; int max=i; if(i<=size/2) { if(l<=size&&a[l]>a[max]) { max=l; } if(r<=size&&a[r]>a[max]) { max=r; } if(max!=i) { swap(a[i],a[max]); Max-Heap(a,max,size); } } }void BuildHeap(int *a,int size) { int i; for(i=size/2;i>=1;i--) //代表从叶子节点开始 { Max-Heap(a,i,size); } } void HeapSort(int *a,int size) //堆排序 { int i; BuildHeap(a,size); for(i=size;i>=1;i--) { swap(a[1],a[i]); Max-Heap(a,1,i-1); }}
阅读全文
0 0
- 数据结构复习之堆
- 数据结构之堆
- 数据结构之堆
- 数据结构之堆
- 数据结构之堆
- 数据结构之堆
- 数据结构之堆
- 数据结构之二叉堆
- 数据结构之堆
- 数据结构 : 堆之外传
- 数据结构之堆
- 数据结构之堆排序
- 数据结构 之 二叉堆
- 数据结构之堆排序
- 数据结构之二叉堆
- 数据结构之堆
- 数据结构之最小堆
- 数据结构之堆排序
- scikit-learn 中文文档-聚类-无监督学习|ApacheCN
- 最小生成树prim+邻接表优化
- selenium访问谷歌浏览器
- 内部类
- 带你了解Workday的前生今世(二)
- 数据结构之堆
- HDU 2037 今年暑假不AC
- 动态代理
- Lua元表的定义和使用
- HTML name、id、class 的区别
- 《笨方法学python》第一天
- hashset、hashmap、散列表数据结构(哈希表)它们之间的联系
- javascript基础练习-选项卡切换
- 数据库三范式