码迷,mamicode.com
首页 >  
搜索关键字:原地排序    ( 61个结果
算法分析之——heap-sort堆排序
堆排序是一种原地排序排序算法,不使用额外的数组空间,运行时间为O(nlgn)。本篇文章我们来介绍一下堆排序的实现过程。 要了解堆排序,我们首先来了解一个概念,完全二叉树。堆是一种完全二叉树或者近似完全二叉树。什么是完全二叉树呢?百度百科上给出定义:完全二叉树:除最后一层外,每一层上的节点数均达到最大值;在最后一层上只缺少右边的若干结点。下面用两个小图来说明完全二叉树与非完全二叉树。(图片来自百度...
分类:编程语言   时间:2016-04-10 11:34:35    阅读次数:294
Head Frist Python 读书笔记 第五章 处理数据
Bullet Option:sort(*, key=None, reverse=None)sort方法用于原地排序,可以接收两个keyword-only参数,并且此方法是的排序是稳定的。key:一个表达式,比较时会根据该表达式的计算结果进行排序reverse:默认False,升序排列;True,降序...
分类:编程语言   时间:2015-11-22 18:52:32    阅读次数:205
《head first python》——理解数据:列表排序与集合
1、sort()与sorted()——数据排序 sort() 对数据原地排序,sorted()创建原地副本。用法是: obj.sort(); obj2 = sorted(obj1) >>> a = [2,7,5,1,9] >>> b = sort(a) Traceback (most recent call last): File "", line 1, in b = so...
分类:编程语言   时间:2015-08-21 23:24:03    阅读次数:217
算法(第四版)学习笔记之java实现快速排序
快速排序是一种分治的排序算法。它将一个数组分成两个子数组,将两部分独立地排序。快速排序和归并排序是互补的,归并排序将两个子数组分别排序,并将有序的子数组归并以将整个数组排序;而快速排序则是当两个子数组有序时整个数组也就自然有序了。在快速排序中,切分的位置取决于数组的内容。 优点: 1.实现简单; 2.适用于各种不同的输入数据且在一般应用中比其他排序算法都要快得多; 3.原地排序; 4.时...
分类:编程语言   时间:2015-07-25 12:16:54    阅读次数:119
算法导论笔记(一) 插入排序
插入排序:插入排序属于原地排序(sorted in place),使用的是增量(incremental)方法。排序从第二个元素开始遍历。在排好序的子数组A[1 .. j -1]中,将元素A[j]插入,形成排好序的子数组A[1 .. j];然后,重复此操作,直到整个数组有序。使用for循环实现的升序插...
分类:编程语言   时间:2015-07-05 16:23:54    阅读次数:147
【算法】5 快速排序
快速排序Quicksort由Tony Hoare在1962年发明。 这是一个分治算法,而且它就在原地排序。 所谓原地排序,就是指在原来的数据区域内进行重排,就像插入排序一般。而归并排序就不一样,它需要额外的空间来进行归并排序操作。为了在线性时间与空间内归并,它不能在线性时...
分类:编程语言   时间:2015-06-01 20:31:54    阅读次数:137
算法导论--第二章、插入排序
1. 插入排序类似于整理扑克牌(排列好顺序的扑克和待排序的扑克);2. 插入排序(INSERTION-SORT)参数是一个数组A[1..n]共n个数,输入的各个数字原地排序(sorted in place),分为排好序的和待排序的,每次取一个待排序元素,找到插入的位置,插入已排好序的部分中。元素取完...
分类:编程语言   时间:2015-04-09 17:01:05    阅读次数:132
python 数据排序,个人记录使用
排序分为两种,一种原地排序,一种是复制排序>>>data=[1,4,2,8,9,5,6,0]>>>data.sort()>>>>>>data[0,1,2,4,5,6,8,9]>>>data=[4,66,7,2,7,9,0,5,]>>>data2=sorted(data)>>>>>>data2[0,2...
分类:编程语言   时间:2015-02-03 22:37:58    阅读次数:229
排序高级之交换排序_冒泡排序
冒泡排序(Bubble Sort,台湾另外一种译名为:泡沫排序)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。 冒泡排序对个项目需要O()的比较次数,且可以原地排序。尽管这个算法是最简单了解和实...
分类:编程语言   时间:2015-01-06 11:59:41    阅读次数:165
算法---快速排序(quick sort)
在前面介绍的排序算法中,最快的排序算法为归并排序,但是归并排序有一个缺陷就是排序过程中需要O(N)的额外空间。本文介绍的快速排序算法时一种原地排序算法,所需的额外空间复杂度为O(1)。 算法介绍:快速排序其实一种根据需找某个元素的具体位置进行排序的方法。比如所存在如下数组   选择第一个元素5,找到5最终的位置,即5的左边的数都小于或者等于5,右边的数都大于或者等于5. 从"6"开...
分类:编程语言   时间:2014-11-16 23:09:45    阅读次数:370
61条   上一页 1 ... 3 4 5 6 7 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!