一步一步学算法
文章平均质量分 52
鱼萌_幸福路
热爱生活 热爱挑战 珍惜拥有,多AC
展开
-
极其通熟易懂——字符串匹配的KMP算法
字符串匹配的KMP算法 原文作者: 阮一峰 字符串匹配是计算机的基本任务之一。 举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD"? 许多算法可以完成这个任务,Knuth-Morris-Pratt算法(简称KMP)是最常用的之一。它以三个发明者命名,起转载 2013-06-06 22:52:42 · 738 阅读 · 0 评论 -
在一个大数组中有且仅有两个数相同,怎样尽快找出这两个数
提供几种算法: 1、如果数据量不大,千万以下级别的,可以用一个数组保存所有的int,然后排序,找相邻两个元素,时间复杂度为O(nlogn) 2、如果数据量很大,内存无法保存所有的数据,这样就不能够使用排序的算法,这时可以考虑状态压缩,比如int hash[10000000] 一共有 10000000 * 32 位,也就是可以处理 10000000 * 32 个不同的整数,这样类似哈希的做法可以转载 2014-04-28 16:36:52 · 1264 阅读 · 0 评论 -
young氏矩阵的操作及应用
参考博客:http://www.jobcoding.com/array/matrix/young-tableau-problem/ http://wolf5x.cc/blog/algorithm/young-tableau-smallest-kth原创 2014-04-22 16:49:52 · 1079 阅读 · 0 评论 -
给定N个整数集合是否存在两个其和刚好为指定常数的元素
重新学习一遍,看到了这个问题: 描述一个运行时间为O(nlgn)的算法,使之能在给定一个由n个整数构成的集合S和另一个整数 X 时,判断出S中是否存在有两个其和刚好等于 X 的元素。 Solution: (1)->对整个集合进行排序,可以用快排(含有小文件策略、三者取中策略),时间复杂度O(nlogn),形成一个数组A[n]。 ->设定两个下标pBegin和pEnd,分别指向数组原创 2014-07-12 17:23:20 · 1358 阅读 · 0 评论