码迷,mamicode.com
首页 >  
搜索关键字:堆排    ( 1969个结果
堆排序
排序(Heapsort)是指利用堆积树(堆)这种数据结构所设计的一种排序算法,它是选择排序的一种。可以利用数组的特点快速定位指定索引的元素。堆分为大根堆和小根堆,是完全二叉树。大根堆的要求是每个节点的值都不大于其父节点的值,即A[PARENT[i]] >= A[i]。在数组的非降序排序中,需要使用的...
分类:编程语言   时间:2015-04-16 21:15:41    阅读次数:124
[转][算法天天练]堆与堆排序
堆排序与快速排序,归并排序一样都是时间复杂度为O(N*logN)的几种常见排序方法。学习堆排序前,先讲解下什么是数据结构中的二叉堆。二叉堆的定义二叉堆是完全二叉树或者是近似完全二叉树。二叉堆满足二个特性:1.父结点的键值总是大于或等于(小于或等于)任何一个子节点的键值。2.每个结点的左子树和右子树都...
分类:编程语言   时间:2015-04-16 13:58:35    阅读次数:170
如何在很大数量级的数据中(比如1个亿)筛选出前10万个最小值?之二
准备对能一次读入内存中处理的数据,取前K小,用多种方法进行。设想有:插入排序、折半查找插入排序、链排序、堆排序。顺序查找直接插入:思路:1、对全部数据,依次取值。送到一个队列。2、待判断的数据,在队列中做顺序查找。找到位置则插入。3、当队列满,且待判断的数据大于队列中最大数据,则直接放弃。另,代码中...
分类:其他好文   时间:2015-04-15 22:48:56    阅读次数:161
堆排序的OC实现
/* 建议先看堆调整方法,堆调整了解了,整个排序算法就算掌握了 */- (void)viewDidLoad{ [super viewDidLoad]; /* 测试数据 */ NSArray *array=@[@3,@2,@6,@4,@1,@0,@6,...
分类:编程语言   时间:2015-04-15 21:18:21    阅读次数:157
堆排序
堆排序 1 // 将待排序的最后一个元素current插入大根堆中 2 void insert_heap(int *arr, int current, int low, int high) 3 { 4 //记录low的孩子结点中较大元素的下标,初始化为左孩子 5 int large ...
分类:编程语言   时间:2015-04-14 16:23:24    阅读次数:181
make_head,,,pop_head,,,push_head,,,sort_head..
STL中,有很多的排序函数模板供我们调用,省去我们自己编写一些排序过程的麻烦。本文是一篇关于STL中堆排序的一个介绍。 本文涉及的几个函数如下:make_heap(), push_heap(), pop_heap(), is_heap(), sort_heap()。其中make_heap()用于构建...
分类:其他好文   时间:2015-04-13 20:26:52    阅读次数:132
堆排序
package my0410;public class HeapSort { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated metho...
分类:编程语言   时间:2015-04-11 22:21:44    阅读次数:155
堆排序(概念、原理、实现)
堆排序是非常常用的算法之一,应用包括海量数据筛选、普通排序、笔试面试等,一些优秀的开源软件如libevent,它的定时器管理部分就是用的堆排序,不过做了优化,有点晦涩!
分类:编程语言   时间:2015-04-11 19:15:00    阅读次数:278
堆排序
这里以小顶堆为例:思路:对于堆排序来说,首先需要做的是要建堆,建堆是一个不断调整堆的过程,能够在线性时间内完成。堆排序的过程1、建堆,建堆是不断调整堆的过程,从len/2处开始调整,一直到第一个节点,此处len是堆中元素的个数。建堆的过程是线性的过程,从len/2到0处一直调用调整堆的过程,相当于o...
分类:编程语言   时间:2015-04-10 23:47:55    阅读次数:175
堆排序示例-java
package Heapsort;public class TestMain { /** * 调整堆 * @param array 数组 * @param i 调整的元素i * @param length 堆元素个数 */ public static void adaptat...
分类:编程语言   时间:2015-04-09 23:09:43    阅读次数:136
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!