面试算法
文章平均质量分 77
smilesundream
这个作者很懒,什么都没留下…
展开
-
字符串匹配KMP算法
字符串匹配问题:求出模板在文本中的所有匹配点,所谓匹配点是指从当前点开始,在模板的长度内,模板与文本字符一样。朴素的字符串匹配,当模板与文本不匹配时,模板右移一位然后,从模板0位置开始继续检测当前文本点是否是匹配点。复杂度n*m。KMP匹配:核心思想:当模板与文本在某点不匹配时,不是模板重新开始从0位置开始进行匹配,而是充分利用文本中已经匹配过的字符串,构造一个失配函数原创 2017-07-30 17:57:54 · 199 阅读 · 0 评论 -
概率性算法
转载自:http://blog.csdn.net/chdhust/article/details/10601167等概率随机函数面试题总结 在面试中也常考等概率随机函数的题目,所以很重要,特此整理下,资料全来自网上。1. 几道热身等概率随机函数题首先我们来一道最简单的题目作为引子1、已知有一个随机函数rand_0_and_1_with_p(),它转载 2017-09-20 23:51:54 · 1701 阅读 · 0 评论 -
B树(B-树)、B+树、B*树
B树主要用于文件索引,通过降低树的高度,来减少对磁盘的访问,从而提高效率。基本概念:http://www.cnblogs.com/oldhorse/archive/2009/11/16/1604009.html拓展:http://blog.csdn.net/v_JULY_v/article/details/6530142/原创 2017-07-25 23:16:09 · 202 阅读 · 0 评论 -
海量数据处理-BloomFilter
BloomFilter——大规模数据处理利器 Bloom Filter是由Bloom在1970年提出的一种多哈希函数映射的快速查找算法。通常应用在一些需要快速判断某个元素是否属于集合,但是并不严格要求100%正确的场合。 一. 实例 为了说明Bloom Filter存在的重要意义,举一个实例: 假设要你写一个网络蜘蛛(web crawler转载 2017-08-23 11:29:31 · 276 阅读 · 0 评论 -
bitmap海量数据
1.腾讯面试题:给40亿个不重复的unsigned int的整数,没排过序的,然后再给一个数,如何快速判断这个数是否在那40亿个数当中?思想:用数组来存这40亿个数,而且只能用bit来表示。why?40亿约等于4G,就算你用一个字节来,也需要4GB,32位的机子爆掉了。如果用bit来存,意思一个字节就能表示8个数,这个样子只需要512M内存。这个属于接受范围。如果有内存要求,则可以分块。原创 2017-07-10 23:46:33 · 297 阅读 · 0 评论 -
索引查找
转自:http://www.cnblogs.com/GumpYan/p/5754661.html4.索引查找 关于索引,我们很容易地联想到数据库中的索引,建立了索引,可以大大提高数据库的查询速度。 索引查找又称为分块查找,是一种介于顺序查找和二分查找之间的一种查找方法。 分块查找的基本思想是: 首先查找索引表,可用二分查找或顺序查找(因为块间转载 2017-08-10 20:32:37 · 760 阅读 · 0 评论 -
洗牌算法
题目有个长度为2n的数组{a1,a2,a3,…,an,b1,b2,b3,…,bn},希望排序后{a1,b1,a2,b2,….,an,bn},请考虑有无时间复杂度o(n),空间复杂度0(1)的解法。来源2013年UC的校招笔试题思路一第①步、确定b1的位置,即让b1跟它前面的a2,a3,a4交换:a1,b1,a2,a3,a4,b2,b3,b4第②转载 2017-07-10 09:52:25 · 333 阅读 · 0 评论 -
五海盗问题
https://www.jianshu.com/p/ab2f71802733转载 2019-01-26 20:43:46 · 485 阅读 · 0 评论