随笔分类 -  经典算法

程序员常用算法、经典面试题
摘要:以前看过kmp算法,当时接触后总感觉好深奥啊,抱着数据结构的数啃了一中午,最终才大致看懂,后来提起kmp也只剩下“奥,它是做模式匹配的”这点干货。最近有空,翻出来算法导论看看,原来就是这么简单(先不说程序实现,思想很简单)。 阅读全文
posted @ 2014-09-18 09:34 侯凯 阅读(2268) 评论(3) 推荐(5) 编辑
摘要:在给定的字符串A和字符串B,LD(A,B)表示编辑距离,LCS(A,B)表示最长公共子串的长度。如何来度量它们之间的相似度呢? 阅读全文
posted @ 2014-09-16 13:19 侯凯 阅读(1026) 评论(0) 推荐(1) 编辑
摘要:有字符串表示的一个四则运算表达式,要求计算出该表达式的正确数值。 阅读全文
posted @ 2014-09-16 10:55 侯凯 阅读(6862) 评论(2) 推荐(1) 编辑
摘要:本文介绍基于最长公共子序列的文本比较算法——Needleman/Wunsch算法。还是以实例说明:字符串A=kitten,字符串B=sitting那他们的最长公共子序列为ittn(注:最长公共子序列不需要连续出现,但一定是出现的顺序一致),最长公共子序列长度为4。和LD算法类似,Needleman/... 阅读全文
posted @ 2014-09-15 17:05 侯凯 阅读(5356) 评论(0) 推荐(0) 编辑
摘要:某幢大楼有100层。你手里有两颗一模一样的玻璃珠。当你拿着玻璃珠在某一层往下扔的时候,一定会有两个结果,玻璃珠碎了或者没碎。这幢大楼有个临界楼层。低于它的楼层,往下扔玻璃珠,玻璃珠不会碎,等于或高于它的楼层,扔下玻璃珠,玻璃珠一定会碎。玻璃珠碎了就不能再扔。现在让你设计一种方式,使得在该方式下,最坏的情况扔的次数比其他任何方式最坏的次数都少。 阅读全文
posted @ 2014-09-15 16:12 侯凯 阅读(3707) 评论(0) 推荐(0) 编辑
摘要:编辑距离,又称Levenshtein距离,是指两个字串之间,由一个转成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。 阅读全文
posted @ 2014-09-15 14:09 侯凯 阅读(2908) 评论(0) 推荐(2) 编辑
摘要:蒙特卡罗方法又称统计模拟法、随机抽样技术,是一种随机模拟方法,以概率和统计理论方法为基础的一种计算方法,是使用随机数(或更常见的伪随机数)来解决很多计算问题的方法。将所求解的问题同一定的概率模型相联系,用电子计算机实现统计模拟或抽样,以获得问题的近似解。为象征性地表明这一方法的概率统计特征,数学家冯·诺依曼用闻名世界的赌城——蒙特卡罗命名(就是那个冯·诺依曼)。 阅读全文
posted @ 2014-06-24 22:24 侯凯 阅读(28058) 评论(4) 推荐(5) 编辑
摘要:最近参见了几个公司的实习面试,也参考了其他同学面试时遇到的一些问题,在此总结一下。发福利了 阅读全文
posted @ 2014-04-24 21:50 侯凯 阅读(1022) 评论(1) 推荐(1) 编辑
摘要:全排序:从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个元素的一个排列。当m=n时所有的排列情况叫全排列。例如n=3,全排序为:123、132、213、231、312、321共6种。 阅读全文
posted @ 2014-04-19 16:55 侯凯 阅读(5123) 评论(6) 推荐(3) 编辑
摘要:通过八皇后问题来学习“回溯法” 阅读全文
posted @ 2013-12-18 19:47 侯凯 阅读(35421) 评论(8) 推荐(8) 编辑
摘要:介绍递归思想,并引入两个简单的例子。 阅读全文
posted @ 2013-12-18 19:46 侯凯 阅读(2279) 评论(0) 推荐(0) 编辑
摘要:由浅入深地介绍了O(n*n*n)、O(n*n)及O(n)复杂度的三种最长回文字符串的求解方法。 阅读全文
posted @ 2013-10-16 11:32 侯凯 阅读(5336) 评论(7) 推荐(7) 编辑