
字符串
~张然
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
KMP子字符串查找中的DFA算法
KMP算法的一个优点是不需要在输入中回退,这使得KMP子字符串查找算法更适合在长度不确定的输入流中进行查找,需要回退的算法在这种情况下则需要复杂的缓冲机制。 dfa[pat.charAt(0)][0] = 1; for (int X = 0, j = 1; j < M; j++) { for (int c = 0; c < R; c++) dfa[c][j]...原创 2019-02-03 16:19:06 · 2623 阅读 · 0 评论 -
BM算法查找子字符串
两种模式,三种匹配状态。 两种模式: 文本指针i自左向右移动,模式指针自右向左移动。匹配时由pattern的字符串由右向左匹配。 三种匹配失败状态: 1.匹配到一个不在模式字符串中的字符,将文本指针i跳跃pattern.length+1。重新匹配。 2.匹配到一个在模式字符串中的字符,将文本指针i跳跃的长度为该字符在pattern最右边的位置,也就是将文本字符串该...原创 2019-02-03 17:26:37 · 229 阅读 · 0 评论 -
RK指纹字符串查找算法
源代码: import java.math.BigInteger; import java.util.Random; import edu.princeton.cs.algs4.StdOut; public class RabinKarp { private String pat; //模式字符串 private long patHash; //模式字符串散列值 ...原创 2019-02-04 23:47:42 · 2393 阅读 · 0 评论 -
lzw压缩算法
关键是抓住编码过程中当P+C不在字典里,才会输出P的过程。 LZW编码算法: 1. 初始状态,字典里只有所有的默认项,例如0->a,1->b,2->c。此时P和C都是空的。 2. 读入新的字符C,与P合并形成字符串P+C。 3. 在字典里查找P+C,如果: - P+C在字典里,P=P+C。 - P+C不在字典里,将P的记号输出;在字典中为P+C建立一个记...原创 2019-02-10 20:35:34 · 366 阅读 · 0 评论 -
有关的字符串算法
例题1: 要求并不是按传统的字典排序,而是考虑小写字母,也就是a = A。 public static int comparto(String aArr ,String bArr){ int aLen = aArr.length(); int bLen = bArr.length(); int order1,order2; cha...转载 2019-02-26 22:42:11 · 181 阅读 · 0 评论