码迷,mamicode.com
首页 >  
搜索关键字:堆排序    ( 1851个结果
堆排序-2
package com.ghj.util;public class sortAlgorithm> { // 交换索引i和索引j的值 private void swap(T[] data, int i, int j) { T tmp; tmp = data[i]...
分类:编程语言   时间:2015-05-05 18:38:18    阅读次数:113
堆排序
1.堆排序是利用堆的特性对记录序列进行排序的一种排序方法。好的那么堆得特性是什么呢?堆得定义:堆是满足下列性质的数列{r1, r2, …,rn}:
分类:编程语言   时间:2015-05-05 14:07:10    阅读次数:110
【算法设计-优先队列】优先队列的实现与操作
优先队列是堆排序的一个具体应用。 优先队列分为如下几个操作: 1.INSERT(S,x)把元素x插入到优先队列中。 2.MAXIMUM(S):返回s中具有最大关键字的元素。 3.EXTRACT_MAX(S):去掉S中最大关键字的元素 4.INCREASE_KEY(S,x,k):将元素x的关键字值增加到k,k是不小于x的元素。 优先队列的应用: 1.共享计算机系统的作业调度。最大优先队...
分类:编程语言   时间:2015-05-04 10:05:49    阅读次数:187
堆排序
1 #include 2 #include 3 #include 4 #include 5 6 using namespace std; 7 const int N=15; 8 void change(int a[],int f,int t) 9 {10 int tmp=a[f];11 ...
分类:编程语言   时间:2015-05-04 01:08:13    阅读次数:225
【算法设计-堆排序】大根堆排序
1.堆排序不仅拥有与归并排序一样的时间复杂度为o(nlgn),而且空间复杂度所占秩序额外的几个元素空间,这个又有插入排序的优势。 2.堆排序分为3部分,第一部分是保持堆的性质的函数MAX_HEAPIFY函数,用于保持堆的性质:父结点的值要大于子节点。                                      第二部分是创建大根堆的函数,BUILD_MAX_HEAP这个函数从第一...
分类:编程语言   时间:2015-05-03 23:45:15    阅读次数:210
八大排序对比
八大排序对比(转)排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。我们这里说说八大排序就是内部排序。当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。 快速排序:...
分类:编程语言   时间:2015-05-03 17:25:25    阅读次数:224
看数据结构写代码(63) 堆排序
// HeapSort.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include #define LIST_MAX_SIZE 100 //顺序表 struct sqList{ int base[LIST_MAX_SIZE]; int len; }; typedef sqList Heap;//顺序表作为堆排序的基本类型 //初始化顺序表 ...
分类:编程语言   时间:2015-05-03 09:19:53    阅读次数:146
排序算法——堆排序
关于堆排序的一些基本定义可参见我转载的另一篇博文。http://blog.csdn.net/u010275850/article/details/45311661  其实在学习堆的时候细心的同学就可以发现,只要依次保存删除操作的数据,就可以得到一个有序的序列。堆排序也是利用了这样的思想。 算法实现: /*根据最大堆实现的堆排序*/ #include #define LeftChild(i)...
分类:编程语言   时间:2015-04-29 11:43:14    阅读次数:136
java 堆排序的实现
堆就是一个完全二叉树,堆要求是指 该节点大于它的两个子节点。而两个字节点大小不一定。堆排序的最坏时间复杂度为nlog(n),平均也为nlog(n),占用空间为o(1),是一种比较排序算法。堆排序也可以用于找最大的k个数。时间复杂度为klog(n),因为建堆后,每次循环实际上都生成一个最大数。下面见代...
分类:编程语言   时间:2015-04-28 11:16:36    阅读次数:161
一天一学数据结构之选择排序
每次 从待排序序列中选择出一个最大(或者最小)的记录添加到有序序列的后面即为选择排序。 选择排序主要有:简单选择排序、树形选择排序、堆排序。1、简单选择排序基本思路:重复进行n趟选择,第i趟通过n-i次记录的比较,在n-i+1个记录中选取最小(或最大)的记录与第i个记录进行交换。void se...
分类:编程语言   时间:2015-04-28 08:16:43    阅读次数:120
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!