随笔分类 - 算法
摘要:做PHP确实很少接触算法问题前几天遇到一个PHP几率算法问题,很有意思,大致就是一个抽奖程序贵重物品出现几率低,便宜物品出现几率高网上找打了答案,在下面评论中看到了另一种方法,我觉得更好,效率更高转来这个问题,和我之前遇到的差不多,问题是这样子的:在一个物品合成系统中,需要使用几件不同的物品来合成宝...
阅读全文
摘要:排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。我们这里说说八大排序就是内部排序。当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。 快速排序:是目前基于比较的内...
阅读全文
摘要:在介绍KMP算法之前,先介绍一下BF算法。一.BF算法 BF算法是普通的模式匹配算法,BF算法的思想就是将目标串S的第一个字符与模式串P的第一个字符进行匹配,若相等,则继续比较S的第二个字符和P的第二个字符;若不相等,则比较S的第二个字符和P的第一个字符,依次比较下去,直到得出最后的匹配结果。 举例...
阅读全文
摘要:字符串匹配是计算机的基本任务之一。 举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD"? 许多算法可以完成这个任务,Knuth-Morris-Pratt算法(简称KMP)是最常用的之一。它以三个发明者命名,起头的那个...
阅读全文