码迷,mamicode.com
首页 >  
搜索关键字:原地排序    ( 61个结果
算法导论 第6章 堆排序(简单选择排序、堆排序)
堆数据结构实际上是一种数组对象,是以数组的形式存储的,可是它能够被视为一颗全然二叉树,因此又叫二叉堆。堆分为下面两种类型:大顶堆:父结点的值不小于其子结点的值,堆顶元素最大小顶堆:父结点的值不大于其子结点的值,堆顶元素最小堆排序的时间复杂度跟合并排序一样,都是O(nlgn),可是合并排序不是原地排序...
分类:编程语言   时间:2014-10-20 21:14:02    阅读次数:239
算法手记(7)快速排序
终于到了经典的快排了,作为20世纪科学和工程领域十大算法之一,自60年代发明以来,一直吸引着一批批工程师和科学家对其改进,今天我们就分析快排算法以及它的几种改进方案。快速排序概述:快速排序算法也是基于分治思想的方案,与归并排序不同的是,它是原地排序,同时可以将长度为N的数组排序所需的时间和NlogN...
分类:其他好文   时间:2014-09-29 13:14:30    阅读次数:181
Head First Python学习笔记(五)
一、排序的两种方式(1)原地排序(In-place sorting):按指定的顺序排列数据,然后用排序后的数据替换原来的数据,原来的数据丢失。sort(),列表的标准方法,e.g. mylist.sort()(2)复制排序(Copied sorting):按指定的顺序排列数据,然后返回原数据一个有序...
分类:编程语言   时间:2014-09-23 00:04:13    阅读次数:310
基数排序
参考资料:算法导论性能:给定n个d位数,每一个数位可以取k种可能的值,基数排序算法时间为O(d(n+k)),当d为常数,k=O(n)时,基数排序为O(n)时间优点:稳定排序缺点:不是原地排序实现代码(用户需要提供一个RSHelper的实现即可完成排序,本例给出一个随意的实现仅作示意)RadixSor...
分类:其他好文   时间:2014-09-12 23:22:44    阅读次数:289
JAVA插入排序
插入排序它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(原地排序,即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。算法描述一般来说...
分类:编程语言   时间:2014-09-04 16:56:29    阅读次数:180
《算法之道》精华 经典算法部分
《算法之道》精华 经典算法部分 本书作者绉恒明,作者另有一本书《数据结构之弦》,以及《操作系统之哲学原理》都是很好的书这本书可以算得上是深入浅出,文笔很好,作者添加了很多自己的思考本文包括经典算法部分 第十章 排序与次序 插入排序 从无序部分抽取一张插入有序部分为原地排序,无需占用临时存储空间最优情况下为O(n),平均O(n^2) 折半插入排序 插入时使用二分查找 归...
分类:其他好文   时间:2014-08-09 11:36:47    阅读次数:238
算法导论 第6章 堆排序
堆数据结构实际上是一种数组对象,是以数组的形式存储的,但是它可以被视为一颗完全二叉树,因此又叫二叉堆。堆分为以下两种类型: 大顶堆:父结点的值不小于其子结点的值,堆顶元素最大 小顶堆:父结点的值不大于其子结点的值,堆顶元素最小 堆排序的时间复杂度跟合并排序一样,都是O(nlgn),但是合并排序不是原地排序(原地排序:在排序过程中,只有常数个元素是保存在数组以外的空间),合并排序的多有元素都被...
分类:其他好文   时间:2014-08-05 22:34:10    阅读次数:232
算法导论——lec 06 堆排序
堆数据结构是一种数组对象,它可以被视为一颗完全二叉树,树中每个节点和数组中存放该节点值的那个元 素对应。如果表示堆的数组为A,那么树的根为A[1]。 一、 堆 1. 表示堆的数组A是一个具有两个属性的对象:length(A)是数组中的元素个数,heap-size(A)是存放在A中的堆的元素个数;A[heap-size(A)]之后的元素都不属于相应的堆。也就是:Heap-size(A)。 2....
分类:其他好文   时间:2014-07-08 20:23:53    阅读次数:222
算法导论——lec 07 快速排序
一、 快速排序的描述 1、 快速排序是一种原地排序的算法,最坏情况下的时间复杂度为Θ(n^2),期望的运行时间为Θ(n logn),且其中隐含的常数因子较小。 2、 快速排序分三个步骤: 分解:数组A[p...r]被划分成两个数组A[p...q-1]和A[q+1...r],使得A[p...q-1]中的元素都小于等于A[q],A[q+1...r]中的元素都大于等于A[q]。下标q在这个划分过程...
分类:其他好文   时间:2014-07-08 15:31:28    阅读次数:203
普林斯顿公开课 算法4-3:堆排
堆排的灵感源自于堆的数据结构。它是一种原地排序算法,不需要额外的临时数组。 基本思想 堆排的基本思想是: 先建立一个最大堆 将最大的元素移动到数组末尾,减小堆的大小,调整最大堆使其符合最大堆的性质 重复第二步,直到最大堆耗尽为止 第一个步骤建立最大堆的代码非常简单,只要对每个节点执行sink操作即可。 ...
分类:其他好文   时间:2014-06-10 06:55:08    阅读次数:295
61条   上一页 1 ... 4 5 6 7 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!