算法
Apollo96
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
快速排序以及分区函数整理
快速排序是东尼霍尔发现的一种排序算法。在平均情况下,排序n个项目要O(nlogn)O(nlogn)O(nlogn)次比较。在最坏状况下需要O(n2)O(n^2)O(n2)次比较,但是这种状况并不常见。事实上,快速排序通常明显比其他O(nlogn)O(nlogn)O(nlogn)算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来。 快速排序使用分治法(Divide and Conquer)策略来把一个串行(list)分为两个子串行(sub-lists)。 快速排序又是一转载 2020-06-12 17:23:53 · 561 阅读 · 1 评论 -
快慢指针相遇问题
为什么用快慢指针找链表的环,快指针和慢指针一定会相遇,并且相遇时必然只绕了一圈? 这个问题你可以用数学归纳法来思考。首先,由于链表是个环,所以相遇的过程可以看作是快指针从后边追赶慢指针的过程。那么做如下思考: 1:快指针与慢指针之间差一步。此时继续往后走,慢指针前进一步,快指针前进两步,两者相遇。 2:快指针与慢指针之间差两步。此时继续往后走,慢指针前进一步,快指针前进两步,两者之间相差一步,转化为第一种情况。 3:快指针与慢指针之间差N步。此时继续往后走,慢指针前进一步,快指针前进两步,两者之间相差(N+转载 2020-06-04 17:31:51 · 772 阅读 · 0 评论
分享