码迷,mamicode.com
首页 >  
搜索关键字:堆排    ( 1969个结果
堆排序
堆排序主要分为两步:创建最大堆和提取堆中最大元素。 首先,定义MAX-HEAPIFY函数: 该算法的时间复杂度为:T(n)=O(lgn); 创建最大堆:BUILD-MAX-HEAP 该函数的时间复杂度为:T(n)=O(nlgn); 选出最大元素构成有序序列:HEAP-SORT 该函数的时间复杂度为: ...
分类:编程语言   时间:2016-06-28 11:01:03    阅读次数:176
冒泡排序算法和选择排序算法
这是最基本的两种排序算法,比它效率高的还有归并排序,堆排序,快速排序等算法,作为一个IT民工应该好好掌握。 冒泡排序和选择排序都有两层循环,下面逐一介绍: 冒泡排序: 1.外层循环,控制冒泡次数,起始从loop=1开始,结束标识是loop<length,循环length-1次(从数组的第二个数开始冒 ...
分类:编程语言   时间:2016-06-28 09:33:18    阅读次数:188
堆和堆排序
堆的定义如下:n个元素的序列(K1,K2......Kn)当且仅当满足Ki<=K2i&&Ki<=K2i或Ki>=K2i&&Ki>=K2i(i=1,2,3,...n/2)时称之为堆 以一维数组作为堆的存储结构,堆可以看成一个完全二叉树。 最大堆:每个父节点的都大于孩子节点。最小堆:每个父节点的都小于孩 ...
分类:编程语言   时间:2016-06-27 23:04:17    阅读次数:219
算法:8 大排序~
#include<stdio.h>//堆排序(大顶堆) #include<stdlib.h> #defineMaxSize50 #defineMinSize2 typedefstruct//堆的结构 { int*nData;//存储堆元素 intnSize;//堆长度 }MyHeap; //从堆的最后一个结点插入,依次向上(父节点)比较,调整合适位置退出 intInCreas..
分类:编程语言   时间:2016-06-27 12:29:12    阅读次数:151
利用堆排序找出数组中前n大的元素
...
分类:编程语言   时间:2016-06-27 01:31:14    阅读次数:251
堆排序
...
分类:编程语言   时间:2016-06-26 22:25:27    阅读次数:161
图说 堆排序
用例: 将一组数据从大到小进行排列 10, 16, 18, 12, 11, 13, 15, 17, 14, 19 size=10 步骤1.根据数组初始化堆 步骤2.从最后一个根节点( 下标为(size-1-1)/2 )开始往第一个根节点遍历,依次将每个最小子树排好序,建造一个小堆: 步骤3.进行堆排 ...
分类:编程语言   时间:2016-06-24 23:40:34    阅读次数:265
内部排序-第10章-《数据结构题集》习题解析-严蔚敏吴伟民版
//**留坑待填**// 一、基础知识题 10.1?以关键码序列(503,087,512,061,908,170,897,275,653,426)为例,手工执行以下排序算法,写出每一趟排序结束时的关键码状态: (1)直接插入排序; (2)希尔排序(增量d[1]=5); (3)快速排序; (4)堆排序 ...
分类:编程语言   时间:2016-06-23 01:03:36    阅读次数:10028
10-9-堆排序-内部排序-第10章-《数据结构》课本源码-严蔚敏吴伟民版
课本源码部分 第10章 内部排序 - 堆排序 ——《数据结构》-严蔚敏.吴伟民版 源码使用说明 链接??? 《数据结构-C语言版》(严蔚敏,吴伟民版)课本源码+习题集解析使用说明 课本源码合辑 链接??? 《数据结构》课本源码合辑 习题集全解析 链接??? 《数据结构题集》习题解析合辑 本源码引入的 ...
分类:编程语言   时间:2016-06-22 22:05:30    阅读次数:170
《OD学算法》排序
1. 交换排序 (1)冒泡排序 (2)快速排序 2. 选择排序 (1)直接选择排序 (2)堆排序 3. 插入排序 (1)直接插入排序 (2)希尔排序 4. 合并排序 (1)合并排序 5. 非比较排序 (1)计数排序 (2)桶排序 (3)基数排序 ...
分类:编程语言   时间:2016-06-22 20:13:57    阅读次数:207
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!