码迷,mamicode.com
首页 >  
搜索关键字:堆排    ( 1969个结果
堆排序
堆的定义、堆的存储和堆排序一. 堆的定义、堆的存储、堆排序在堆排序 Heap Sort中介绍的比较好,堆排序主要涉及两个问题:如何由一个无序序列构造初始堆?由于叶节点已经满足了堆的性质,所以只需从最后一个非叶子节点向下调整,然后从倒数第二个非叶子节点向下调整,...,最后从堆顶向下调整。这一过程可以...
分类:编程语言   时间:2015-05-27 11:49:33    阅读次数:227
堆排序(c++第一次尝试)
对排序的实现思路有两种第一种:1.构建最小堆。2.将最小堆的堆顶元素取出放到辅助数组的0号下标。3.重新调整成最小堆(向上调整) 4.重复2-3第二种:1.构建最大堆。2.将堆顶元素(0号)与最后一个元素调换位置。3.最后一个元素不变,剩下的数据调整成最大堆。 4.重复2-3。这里用的是第二种方式。...
分类:编程语言   时间:2015-05-27 00:58:17    阅读次数:140
java面试题003
各种排序算法:冒择路(入)兮(稀)快归堆,桶式排序,基数排序冒泡排序,选择排序,插入排序,稀尔排序,快速排序,归并排序,堆排序,桶式排序,基数排序一、冒泡排序(BubbleSort)1. 基本思想: 两两比较待排序数据元素的大小,发现两个数据元素的次序相反时即进行交换,直到没有反序的数据元素为止。....
分类:编程语言   时间:2015-05-26 23:02:26    阅读次数:289
几种常用的排序算法总结
主要针对于插入排序,交换(冒泡和快速),选择,堆排序,归并这几种排序的基本原理和时间复杂度,及空间复杂度的一个总结。   一、插入排序 基本执行过程:3  5  2  7  9  8   1、从小到大:从第二个数开始,每次比较都与前边的几个数进行比较 但是从大到小,要先与前边排好序的几个数中的最大的开始进行比较即倒序比较,依次往前推。 如:5 先与3进行比较,比3大,所以直接排在3的...
分类:编程语言   时间:2015-05-25 11:36:18    阅读次数:241
Vector::sort
template void Vector::sort(Rank lo, Rank hi) { //向量区间[lo, hi)排序 switch (rand() % 5) { //随机选取排序算法。可根据具体问题的特点灵活选取或扩充 case 1: bubbleSort(lo, hi); break; //起泡排序 case 2: sel...
分类:其他好文   时间:2015-05-25 10:10:01    阅读次数:124
Coursera 数据结构 清华 邓俊辉 第十二章 漫谈快排
引言 本文从多个方面讲解了快速排序的知识点,包括快排分而治之的思想,以及他与归并排序注重点的不同,快排的性能,包括最优最差以及平均性能,并以均匀分布为例,证明了快排的平均性能是1.39*(n+1)logn,接下来又从熵的角度说明了一下快排为什么下界只能达到nlogn,为什么堆排比快排慢,而基排又能够...
分类:其他好文   时间:2015-05-25 09:50:36    阅读次数:175
【经典算法】线性时间排序
在计算机科学中,排序是一门基础的算法技术,许多算法都要以此作为基础,不同的排序算法有着不同的时间开销和空间开销。排序算法有非常多种,如我们最常用的快速排序和堆排序等算法,这些算法需要对序列中的数据进行比较,因为被称为基于比较的排序。基于比较的排序算法是不能突破O(NlogN)的。简单证明如下: .....
分类:编程语言   时间:2015-05-24 20:20:34    阅读次数:138
Kth Largest Element in an Array
Find the kth largest element in an unsorted array. Note that it is the kth largest element in the sorted order, not the kth distinct element. For example, Given [3,2,1,5,6,4] and k = 2, return 5. ...
分类:其他好文   时间:2015-05-23 18:25:13    阅读次数:131
C语言 最大堆排序
#include using namespace std; int left(int i){ return 2*i; } int right(int i){ return 2*i+1; } int parent(int i){ return i/2; } void maxHeapify(int *arr, int length, int i){ if(arr == 0 || i < 0)...
分类:编程语言   时间:2015-05-21 22:38:19    阅读次数:150
桶排序_BUCKETSORT
桶排序_BUCKETSORT 桶排序的思想 桶排序的代码编写 总结桶排序_BUCKETSORT假设你有五百万份试卷,每份试卷的满分都是100分,如果要你对这些试卷按照分数进行排序,天噜啦,五百万份试卷啊,快速排序?堆排序?归并排序?面对这么多的数据,平均下来上面的每一种一种算法至少都要花费nlogn=5000000log5000000=111267433nlogn=5000000log5000000...
分类:编程语言   时间:2015-05-20 14:54:16    阅读次数:136
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!