码迷,mamicode.com
首页 >  
搜索关键字:堆排    ( 1969个结果
求数组中最小的k个数
题目:输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。 除了基于优先队列,时间复杂度为O(nlogk)、堆排序,时间复杂度为O(nlogk)、partition函数,时间复杂度为O(n)的解法之外,还有基于冒泡排序的解法时间复 ...
分类:编程语言   时间:2017-11-09 22:48:19    阅读次数:222
堆排序——HeapSort
基本思想: 图示: (88,85,83,73,72,60,57,48,42,6) 平均时间复杂度: O(NlogN)由于每次重新恢复堆的时间复杂度为O(logN),共N - 1次重新恢复堆操作,再加上前面建立堆时N / 2次向下调整,每次调整时间复杂度也为O(logN)。二次操作时间相加还是O(N ...
分类:编程语言   时间:2017-11-09 22:44:59    阅读次数:261
图解排序算法(三)之堆排序
预备知识 堆排序 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为O(nlogn),它也是不稳定排序。首先简单了解下堆结构。 堆 堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆;或者每个结点的值都小于或等于 ...
分类:编程语言   时间:2017-11-08 00:52:27    阅读次数:314
堆排序(大根堆)
package algorithm; public class LargeHeapSort { /** * 对数组进行调整,使得arr[low]成为low-len最大的 * @param arr * @param low 当前二叉树(堆的一部分)的根 * @param len 数组的长度 */ pu... ...
分类:编程语言   时间:2017-11-04 13:18:49    阅读次数:188
c 堆排序
#include <stdio.h> #include <stdlib.h> //堆调整,构建大顶堆,arr[]是待调整的数组,i是待调整的数组 //元素的位置,length是数组的长度 void HeapAdjust(int arr[], int i, int length) { int Chil ...
分类:编程语言   时间:2017-11-02 23:20:01    阅读次数:430
堆排序
/* */ /* 知识点: */ #include #include #include #include #include #include using namespace std; #define MAXN 1005 class heap_sort { private: public: void ... ...
分类:编程语言   时间:2017-11-01 01:04:25    阅读次数:219
堆排序
//建堆 ...
分类:编程语言   时间:2017-10-30 17:07:28    阅读次数:186
八大排序算法
概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。 我们这里说的八大排序就是内部排序。 当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。 快速排序:是目前基 ...
分类:编程语言   时间:2017-10-29 17:32:24    阅读次数:216
什么是“堆”,"栈","堆栈","队列",它们的区别
原文:什么是“堆”,"栈","堆栈","队列",它们的区别 堆:什么是堆?又该怎么理解呢? ①堆通常是一个可以被看做一棵树的数组对象。堆总是满足下列性质: ·堆中某个节点的值总是不大于或不小于其父节点的值; ·堆总是一棵完全二叉树。 将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根 ...
分类:其他好文   时间:2017-10-29 12:44:46    阅读次数:104
堆排序
核心代码 算法分析: 最好时间复杂度:O(nlog2(n)) 平均时间复杂度:O(nlog2(n)) 最坏时间复杂度:O(nlog2(n)) 空间复杂度:O(1) 稳定性:不稳定 ...
分类:编程语言   时间:2017-10-27 20:39:09    阅读次数:195
1969条   上一页 1 ... 60 61 62 63 64 ... 197 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!