![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
Evilester
java android 图像
展开
-
二分法--求两有序数组中位数
有两个已排好序的数组A和B,长度均为n,找出这两个数组合并后的中间元素,要求时间代价为O(logn)。 先说说思路吧: 如果采用分别遍历,时间复杂度肯定超过logn,这里采用二分法,充分利用两个数组都是有序的,记midA,midB为数组A,B的中间数,如果A[midA]==B[midB],则A[midA](B[midB])就是我们要找的中位数了,而如果A[midA]>B[midB]那么,则中间原创 2013-06-06 21:32:31 · 1002 阅读 · 0 评论 -
笔试算法和数据结构--字符串移动算法
算法和数据结构是笔试和技术面必会涉及的内容,而且与编程有关最为基础也是最为重要的也是这一块,而目前笔记的题目往往是从公司的题库中抽取的,"猜中"的可能性还是比较大的,但如何去猜,并不是说我们上网把那什么面试宝典上的题会记一遍,但如果记性好,那也可以,比如那什么排序,查找考的可能性较大的,但是这样对于自己的思维上的提高真的帮助很小,这些天看算法和数据结构下来,发现很多的算法的思想方法是相通的,如果再原创 2013-09-28 00:53:19 · 783 阅读 · 0 评论 -
一篇博文让你理解KMP算法
提到串的模式匹配算法,不得不提两种思想方法,一种是我们常用的BF算法一种就是我们将要介绍的KMP算法。 什么是模式核匹配呢?即子串的定位操作,求子串在主串中的位置。 最简单的思路就是,分别利用两计数指针指向主串S和子串T中的当前正待比较的字符位置,然后从主串中的第pos个字符开始和子串的第一个字符比较, 若相等,则继续比较,否则从主串的下一个字符起和子串的第一个比较,直至子串中的每一个字符都原创 2013-11-07 21:11:42 · 691 阅读 · 0 评论 -
一篇博文让你理解基数排序
如果我们有M个数,其范围是1~M,我们可以利用其范围的有限性结合数组实现O(m)的一种排序算法。 我们定义一个数组Count,大小为M,初始化为0,于是Count有M个桶,开始都是空的,然后根据输入的内容,刚在相应的数组上加1, 当一躺遍历完后,则按照数组下标的顺序输出即可。 这种排序就是桶排序(bucket sort ),适用于范围有限的数或字符。 而基数排序(radix sort)则是原创 2013-11-10 00:45:44 · 1431 阅读 · 0 评论