码迷,mamicode.com
首页 >  
搜索关键字:堆排    ( 1969个结果
算法导论(二)堆排序
debug这么久hhhhhhh  话不多说 贴代码 #include #include using namespace std; void Max_Heapify(int *a,int i,int _size) { int l,r,largest; int temp; l = 2*i; r = 2*i+1; if(la[i])...
分类:编程语言   时间:2015-06-01 22:39:37    阅读次数:234
排序算法(转)
概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。 我们这里说说八大排序就是内部排序。 当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。 快速排...
分类:编程语言   时间:2015-06-01 18:16:45    阅读次数:204
每日一题32:排序
排序概述排序用途广泛,比如为数据库查询结果按时间排序,最小生成树算法中对边按权重排序,背包问题中对物品按大小排序等等。排序算法有很多,本文主要记录了冒泡排序、插入排序、快速排序、选择排序、堆排序、归并排序等几种比较流行的算法。冒泡排序 //冒泡排序,对数组做n-1趟扫描,每一趟把未就位的元素中的最大的元素 //放到他正确的位置上,每一趟扫描从输入数组第一个元素开始,依次...
分类:编程语言   时间:2015-05-31 11:01:31    阅读次数:210
算法之简单选择排序和堆排序
3. 选择排序—简单选择排序(Simple Selection Sort) 基本思想: 在要排序的一组数中,选出最小(或者最大)的一个数与第1个位置的数交换;然后在剩下的数当中再找最小(或者最大)的与第2个位置的数交换,依次类推,直到第n-1个元素(倒数第二个数)和第n个元素(最后一个数)比较为止。...
分类:编程语言   时间:2015-05-30 01:47:22    阅读次数:132
C实现9种排序算法
算法复杂度以及稳定性分析算法名称平均时间辅助空间稳定性冒泡排序O(n2)O(1)是选择排序O(n2)O(1)否插入排序O(n2)O(1)是自底向上归并排序O(nlog2n)O(n)是自顶向下归并排序O(nlog2n)O(n)是快速排序O(nlog2n)O(n)否堆排序O(nlog2n)O(1)否基数...
分类:编程语言   时间:2015-05-30 00:35:05    阅读次数:147
堆排序
堆排序只需要一个记录大小的辅助空间,每个待排序的记录仅占用一个存储空间。 堆排序利用了大根堆(或小根堆)堆顶记录的关键字最大(或最小)这一特征,使得当前无序区中选取最大(或最小)关键字的记录变得简单。我们以大跟堆为例子,排序的基本操作如下:          首先是建堆,建堆就是不断调整堆的过程,从len/2处开始调整,一直到第一个节点,此处len是堆中元素的个数。建堆的过程是线性的过程,从l...
分类:编程语言   时间:2015-05-28 21:38:10    阅读次数:206
数据结构排序-堆排序
堆排序就是利用了最大堆(或最小堆)堆顶记录的关键字最大(或最小)这一特征,使得在当前无序区中选取最大(或最小)关键字变得简单。以最大堆为例,它的基本思想就是:先将初始文件R[1..n]建成一个最大堆,此堆为初始的无序区;再将关键字最大的记录R[1](即堆顶)和无序区的最后一个记录R[n]交换,由此得...
分类:编程语言   时间:2015-05-28 00:10:17    阅读次数:177
数据结构排序-选择排序
选择排序中的两个经典算法:简单选择排序,堆排序。简单选排:通过n-1次数据元素的比较,从n-i+1个记录中选择最小的数据,并与第i个数据进行交换,它的时间复杂度是O(n^2)。堆排序:利用堆的特征进行排序,复杂度为O(n*logn)。 1 #include 2 #include 3 4 int...
分类:编程语言   时间:2015-05-27 22:33:47    阅读次数:163
8大排序算法
排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。本文将依次介绍上述八大排序算法。算法一:插...
分类:编程语言   时间:2015-05-27 13:48:28    阅读次数:174
8大排序算法的java实现--做个人收藏
排序算法分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因为数据量太大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。这里只讨论内部排序,常见的内部排序算法有:插入排序、希尔排序、选择排序、堆排序、冒泡排序、快速排序、归并排序、及基数排序。1、插入排序插入排序是...
分类:编程语言   时间:2015-05-27 13:41:34    阅读次数:312
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!