码迷,mamicode.com
首页 >  
搜索关键字:堆排序    ( 1851个结果
白话经典算法系列之七 堆与堆排序
堆排序与高速排序,归并排序一样都是时间复杂度为O(N*logN)的几种常见排序方法。学习堆排序前,先解说下什么是数据结构中的二叉堆。二叉堆的定义二叉堆是全然二叉树或者是近似全然二叉树。二叉堆满足二个特性:1.父结点的键值总是大于或等于(小于或等于)不论什么一个子节点的键值。2.每一个结点的左子树和右...
分类:其他好文   时间:2014-10-07 21:41:04    阅读次数:184
堆的相关算法
堆是一种特殊的二叉树,它具有以下两个性质: 1、每个节点的值大于或等于其每个子节点的值; 2、该树完全平衡,最后一层的叶子都处于最左侧的位置。 有最大堆和最小堆之分,以上定义是最大堆的定义,最小堆的定义如下: 1、每个节点的值小于或等于其每个子节点的值; 2、该树完全平衡,最后一层的叶子都处于最左侧的位置。 本文实现了堆的建立、删除、插入、堆排序。 本文中的例子以最大堆为...
分类:其他好文   时间:2014-10-07 18:10:53    阅读次数:122
数据结构--堆排序
#include #include void MaxHeapify(int a[],int length,int i); void BuildMaxHeapify(int a[],int length); void HeapSort(int a[],int length); void main(void) { int i; int a[10]={1,3,4,2,1,3,2,19,4,...
分类:其他好文   时间:2014-10-07 00:45:41    阅读次数:196
选择排序---堆排序算法(Javascript版)
堆排序分为两个过程:1.建堆。堆实质上是完全二叉树,必须满足:树中任一非叶子结点的关键字均不大于(或不小于)其左右孩子(若存在)结点的关键字。堆分为:大根堆和小根堆,升序排序采用大根堆,降序排序采用小根堆。如果是大根堆,则通过调整函数将值最大的节点调整至堆根。2.将堆根保存于尾部,并对剩余序列调用调...
分类:编程语言   时间:2014-10-03 00:28:23    阅读次数:255
堆排序
package sort;public class CheapSort { public static final int MAX=10; public static void main(String[] args){ int []a={0,16,7,3,2...
分类:其他好文   时间:2014-10-02 17:25:33    阅读次数:181
深入浅出排序算法之-堆排序
深入浅出排序算法之-堆排序...
分类:其他好文   时间:2014-09-30 23:06:50    阅读次数:266
STL源码剖析——STL算法之sort排序算法
本文介绍的STL算法中的sort排序算法,SGI STL中的排序算法不是简单的快速排序,而是交叉利用各种排序:堆排序、插入排序和快速排序;这样做的目的是提高效率,针对数据量比较大的采用快速排序,数据量比较小的可以采用堆排序或插入排序。...
分类:其他好文   时间:2014-09-30 20:56:30    阅读次数:312
堆排序实现及应用
堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。...
分类:其他好文   时间:2014-09-30 20:07:20    阅读次数:211
堆排序
堆排序...
分类:其他好文   时间:2014-09-30 06:45:42    阅读次数:234
java实现 数据结构之8大排序
现在来写写数据结构,感觉还是有点陌生,应该多练练,有需要的朋友可以看看。 * 冒泡排序 * 插入排序 * 选择排序 * shell排序 * 堆排序 * 归并排序 * 二叉树排序 * 快速排序...
分类:编程语言   时间:2014-09-29 19:23:01    阅读次数:310
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!