码迷,mamicode.com
首页 >  
搜索关键字:快排    ( 1026个结果
排序算法之冒泡、插入、快排和选择排序
排序算法大全 package cn.baidu; import java.util.Arrays; public class SortTest { public static void main(String[] args) { int[] arr = { 2, 5, 3, 1, 4 }; Syst... ...
分类:编程语言   时间:2019-10-26 13:27:03    阅读次数:70
LeetCode | 148. 排序链表
原题(Medium): 在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序。 思路:自底向上(bottom-to-up)、归并排序(Merge Sort) 题目对时间复杂度和空间复杂度做出了要求,常用的对数级别的排序方法不多,由于这里并不是双向链表,所以快排不太可能,可以使用归 ...
分类:编程语言   时间:2019-10-26 13:25:17    阅读次数:99
148.排序链表
1.题目描述: 在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序。 2.解题思路及代码: 看到O(n log n)时间复杂度,第一时间想到用归并排序或者快排,但是链表交换节点太麻烦,遂选择归并排序 用归并排序排序数组难点在于如何快速找到链表中点,便于后续递归调用。后来看了题解 ...
分类:编程语言   时间:2019-10-25 23:09:11    阅读次数:109
快排---非递归实现
递归的核心是栈;可构造辅助栈实现非递归。 ...
分类:其他好文   时间:2019-10-23 09:36:21    阅读次数:104
快排算法的实现
先来说网上流行最多的实现,用两个指针,一个从前往后,一个从后往前。直接上代码,如下。 再来说说我最喜欢的风格,也是算法导论上的快排实现方法,两个指针从同一边开始,算法导论的思路很清晰,还给出了完整的理论推导,不变性的证明,有兴趣的可以去看看算法道路的快排章节。 下面是算法导论关于快排的实现思路,如下 ...
分类:编程语言   时间:2019-10-21 11:22:53    阅读次数:81
第二章算法总结
递归的概念:直接或者间接地调用自身的算法称为递归算法。 递归让一些复杂的问题变得简单易懂易于分析,如汉诺塔问题和Ackerman函数,在排序快排算法和归并排序算法中也有递归的运用。 汉诺塔: ackerman函数: 递归的缺点:需要不断开拓堆栈空间,占用空间大,可能导致内存溢出,并且运行效率低,不能 ...
分类:编程语言   时间:2019-10-13 18:29:56    阅读次数:93
链表排序
1、冒泡排序 2、快排 ...
分类:编程语言   时间:2019-10-13 11:25:19    阅读次数:81
归并排序详解
浅谈归并排序 排序算法有很多,今天让我说一说: 冒泡选择和插入,希尔基数和堆桶; 还有快排很好写,STL大法没得说。 还有一个叫归并,时间稳定不爆锅。 —— 一个会说相声的博主的引言 相比于一些复杂度不太稳定的排序算法(比如快排,最坏的时候会退化成$O(n^2)$级别的)或者时间稳定但是本来就是$O ...
分类:编程语言   时间:2019-10-11 19:59:42    阅读次数:79
八大内部排序
先来看看8种排序之间的关系: 一、直接插入排序 代码如下 二、希尔排序 第三、简单选择排序 第四、堆排序 第五、冒泡排序 第六、快排 第七、归并排序 第八、基数排序 参考:https://blog.csdn.net/jiangwei0910410003/article/details/3826178 ...
分类:编程语言   时间:2019-10-10 19:51:26    阅读次数:102
排序算法的特性
稳定性: 稳定:冒泡排序,插入排序,归并排序、桶排序、计数排序、基数排序 非稳定:选择排序、快速排序、堆排 稳定性的优势 稳定性可保证双属性条件下,按第一个属性排序后,再按照第二个属性排序,排完后属性2相等的元素,按属性1的顺序排列。 工程中 长序列: 基础类型:快排(非稳定) 自定义属性:堆排(稳 ...
分类:编程语言   时间:2019-10-03 21:42:17    阅读次数:94
1026条   上一页 1 ... 13 14 15 16 17 ... 103 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!