排序算法
文章平均质量分 50
springreef
享受自由的boy
展开
-
稳定排序和不稳定排序
紫红的泪:http://www.cnblogs.com/codingmylife/archive/2012/10/21/2732980.html 首先,排序算法的稳定性大家应该都知道,通俗地讲就是能保证排序前2个相等的数其在序列的前后位置顺序和排序后它们两个的前后位置顺序相同。在简单形式化一下,如果Ai = Aj,Ai原来在位置前,排序后Ai还是要在Aj位置前。其次,说一下稳定性的好处。排序算法如果原创 2016-08-08 15:40:19 · 736 阅读 · 0 评论 -
KMP算法学习
http://www.cnblogs.com/c-cloud/p/3224788.html作者这篇文章讲的真是好,虽然匹配代码跳转部分看不懂,作者说这部分是关键…. “部分匹配值”就是”前缀”和”后缀”的最长的共有元素的长度。以”ABCDABD”为例, - “A”的前缀和后缀都为空集,共有元素的长度为0; - “AB”的前缀为[A],后缀为[B],共有元素的长度为0; - “ABC”的前缀为转载 2016-08-30 11:24:10 · 343 阅读 · 0 评论 -
如何判断两个单向链表是否有相交,并找出交点
判断两个链表是否相交:(假设两个链表都没有环) 1、判断第一个链表的每个节点是否在第二个链表中 2、把第二个链表连接到第一个后面,判断得到的链表是否有环,有环则相交 3、先遍历第一个链表,记住最后一个节点,再遍历第二个链表,得到最后一个节点时和第一个链表的最后一个节点做比较,如果相同,则相交如何判断一个单链表是有环的?(注意不能用标志位,最多只能用两个额外指针) 一种O(n)的办法就是(用两转载 2016-09-21 21:41:34 · 455 阅读 · 0 评论 -
常见排序算法的时间复杂度
排序算法 平均时间 最差情形 稳定度 额外空间 备注 冒泡 O(n^2) O(n^2) 稳定 O(1) n小时较好 交换 O(n^2) O(n^2) 不稳定 O(1) n小时较好 选择 O(n^2) O(n^2) 不稳定 O(1) n小时较好 插入 O(n^2) O(n^2) 稳定 O(1)原创 2016-09-27 14:08:42 · 348 阅读 · 0 评论