<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.o
分类:
编程语言 时间:
2016-02-03 12:44:53
阅读次数:
213
优先级队列及小顶堆排序实现/**@fileHeapSort.h*@copyrightpersonal*@brief优先级队列及堆排序*@versionV1.0.0*@authorfangyuan*@date2015/12/31*@note测试版本*/#include"iostream"usingnamespacestd;template<classT>classCPriQueue{private:intm_iIndex;intm_iMaxsize..
分类:
编程语言 时间:
2016-01-30 18:37:59
阅读次数:
199
C++ Primer 学习中。。。
简单记录下我的学习过程 (代码为主)
/*****************************************
STL-算法--Heap算法
堆排序算法 (heapsort)
make_heap() //把容器内的数据做堆排序
push_heap() //向堆内放入元素
...
分类:
编程语言 时间:
2016-01-30 02:58:58
阅读次数:
186
本文由网络资料整理而来,如有问题,欢迎指正! 分类: 1)插入排序(直接插入排序、希尔排序)2)交换排序(冒泡排序、快速排序)3)选择排序(直接选择排序、堆排序)4)归并排序5)分配排序(基数排序)所需辅助空间最多:归并排序所需辅助空间最少:堆排序平均速度最快:快速排序 不稳定:快速排序,希尔排序,
分类:
编程语言 时间:
2016-01-28 15:23:48
阅读次数:
257
堆排序是我们熟知的常用的排序算法。 首先先介绍一下什么是堆排序。堆指的并不是我们数据结构上分配内存的堆栈,在这里指的是大顶堆和小顶堆。大顶堆是指根节点数值大于左右孩子节点的完全二叉树,也有可能是满二叉树。总之,就是一颗存贮数值的树。我们可以利用根节点大于孩子节点这一特性对一组数组建立堆,不断取出根节
分类:
编程语言 时间:
2016-01-27 21:21:56
阅读次数:
252
希尔排序(by Donald Shell):假定给了一个需要排序的数组并且 按照5-间隔的方式进行排序 附图如下我们 慢慢的按照 越来越小的间隔开始去排序 (最后只能是间隔为1).堆排序:先回顾一下插入排序void Selection_Sort ( ElementType A[], int N...
分类:
编程语言 时间:
2016-01-25 21:26:14
阅读次数:
227
本学习笔记内容部分来自网易云课堂浙江大学数据结构视频,及海子的博客:http://www.cnblogs.com/dolphin0520/archive/2011/10/06/2199741.html以及~大器晚成~的博客http://www.cnblogs.com/luchen927/archiv...
分类:
编程语言 时间:
2016-01-25 16:28:54
阅读次数:
210
1 // max_heap and priority queue 2 // the index must be [1,size],not [0,size-1] 3 #include 4 using namespace std; 5 int arr[20] = {1,4,2,3,9,7,8...
分类:
编程语言 时间:
2016-01-25 06:38:03
阅读次数:
229
堆是一棵顺序存储的完全二叉树。其中每个结点的关键字都不大于其孩子结点的关键字,这样的堆称为小根堆。其中每个结点的关键字都不小于其孩子结点的关键字,这样的堆称为大根堆。举例来说,对于n个元素的序列{R0, R1, ... , Rn}当且仅当满足下列关系之一时,称之为堆: (1) Ri = R2i+1 ...
分类:
编程语言 时间:
2016-01-22 18:01:43
阅读次数:
243
排序算法总结:排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。我们这里说说八大排序就是内部排序。当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。 快速排序:是目...
分类:
编程语言 时间:
2016-01-22 17:31:28
阅读次数:
260