![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
zack-jie
这个作者很懒,什么都没留下…
展开
-
算法--快速排序
1.算法思想:每次排序都找一个基准位,使得基准位前端的部分每个数都小于基准位上的数,基准位后端的部分都大于基准位上的数,然后递归该过程2.代码实现public static void quickSort(int[] arr){ qsort(arr, 0, arr.length-1);}private static void qsort(int[] arr, int low, int high...原创 2018-03-04 09:33:25 · 161 阅读 · 0 评论 -
算法--KMP算法
1.算法思想KMP算法的关键是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。具体实现就是实现一个next()函数,函数本身包含了模式串的局部匹配信息(相同的最长前缀和最长后缀)2.代码实现public int[] getNext(String b) { int len=b.length(); int j=0; int ...原创 2018-03-04 09:56:40 · 119 阅读 · 0 评论 -
算法--动态规划算法
动态规划经典题目:最大连续子序列和给定k个整数的序列{N1,N2,...,Nk },其任意连续子序列可表示为{ Ni, Ni+1, ..., Nj },其中 1 <= i <= j <= k。最大连续子序列是所有连续子序中元素和最大的一个,例如给定序列{ -2, 11, -4, 13, -5, -2 },其最大连续子序列为{11,-4,13},最大连续子序列和即为20。动态规划法...转载 2018-03-04 10:09:18 · 298 阅读 · 0 评论 -
算法--判断链表是否有环
1.判断链表是否有环 追赶法:设定两个指针slow、fast,均从头指针开始,每次分别前进1步、2步;如果存在环,则两者相遇,如果不存在环,fast遇到null退出2.计算环的长度 记录下问题1的相遇点,slow、fast从该点出发,再次相遇时,slow所经过的节点数就是环的长度3.环的入口位置 设问题1中相遇点为m2,p=h,q=m2;h为链表头节点,p,q每次向前一步,p、q...转载 2018-03-04 10:17:29 · 209 阅读 · 0 评论