少年未央

导航

2010年1月13日

串的模式匹配(KMP算法)

摘要: KMP算法的核心在于,研究字串(模式串)存在的某种规律,总结出一种模式,使得主串指针不必回溯,而通过这种模式来移动字串指针或滑动字串,从而完成匹配。以下为:next[j]的代码using System;namespace Review{ /// <summary> /// KMP算法next[j]算法 /// </summary> public class KMP { p... 阅读全文

posted @ 2010-01-13 20:13 少年未央 阅读(287) 评论(0) 推荐(0) 编辑

串的模式匹配(Brute-Force算法)

摘要: Brute-Force算法简称BF算法,也称简单匹配算法,其基本思路是:从目标串s=”s0s1…sn-1”的第一个字符开始和模式串t=”t0t1…tm-1”中的第一个字符比较,若相等,则继续逐个比较后续字符,否则,从目标串s的第2个字符开始重新与模式串t的第一个字符进行比较,依次类推,若从模式串s的第i个字符开始,每个字符依次和目标串t中的对应字符相等,则匹配成功,该算法返回i;否则匹配失败,返回... 阅读全文

posted @ 2010-01-13 19:47 少年未央 阅读(838) 评论(0) 推荐(0) 编辑

栈的简单实现(C#)

摘要: 栈是线性表的一个特例,因为栈只能对线性表的固定一端进行插入和删除操作,对其它位置不能进行操作,也就是“后进先出”的特性,下面为栈的简单实现代码:using System;namespace Review{ /// <summary> /// 栈的实现代码 /// </summary> public class Stack { private object[] _array... 阅读全文

posted @ 2010-01-13 19:29 少年未央 阅读(188) 评论(0) 推荐(0) 编辑

2010年1月12日

C#: const与readonly的用法和区别解析(转)

摘要: 总结一下const和readonly: 1.const和readonly的值一旦初始化则都不再可以改写; 2.const只能在声明时初始化;readonly既可以在声明时初始化也可以在构造器中初始化; 3.const隐含static,不可以再写static const;readonly则不默认static,如需要可以写static readonly; 4.const是编译期静态解析的常量(因此其... 阅读全文

posted @ 2010-01-12 23:58 少年未央 阅读(694) 评论(0) 推荐(0) 编辑

循环队列

摘要: 由于数组在删除元素时,需要花费大量时间移动大量元素,因此基于数组的队列在执行出队操作时,速度很慢,很少有实际的应用,所以多采用循环队列的方式。 为了避免大量的数据移动,通常将一维数组中的各个元素看成是一个首尾相接的封闭的圆环,既第一个元素时最后一个元素的下一个元素,这种形式的顺序队列成为循环队列。 循环队列的代码如下:using System;namespace Review{ /// <... 阅读全文

posted @ 2010-01-12 23:46 少年未央 阅读(446) 评论(0) 推荐(1) 编辑