易截截图软件、单文件、免安装、纯绿色、仅160KB

Java 串匹配Brute Force算法

每天基础(1),串匹配之Brute-Force算法,最简单的遍历算法。另外有KMP算法,是对此算法的改进,避免每次比较都回回退。
package ibees.sample;
/**
* 字符串匹配模式算法Brute-Force算法,此算法每次比较都会回退
* @author hhzxj2008
* */
public class StringMatch {

/**
* 相当于java.lang.String的indexOf,采用Brute-Force算法
* */
public int match(String str,String substr){
//1.字串的第一字符与主串的第一个字符比较,若不匹配字串的第一个字符和主串的第二个字符比较
//2.若字串的第一个字符与主串的某一位置上字符串匹配,则将字串的第二个字符与主串该位的下一位置
// 进行比较,依次类推。遇到不相等,则重复第一步。
int index = -1;
boolean match = true;
for(int i = 0; i <= str.length()-substr.length(); i ++){//str
match = true;
for(int j = 0; j < substr.length(); j ++){//substr
if(str.charAt(i+j) != substr.charAt(j)){
match = false;
}
}
if(match){
index = i;
break;
}
}
return index;
}


}

KMP算法主要考虑在比较的过程中存在部分匹配,所以不用每次都回退。这里不作具体的介绍。


相关文档:

使用开源产品搭建java开发环境

原发表于http://saharabear.javaeye.com
 和http://www.haulynjason.net(英)
同时发表在这里.
在我周围,有很多人是Java程序员或者计算机专业的学生.有时,我帮他们调试程序的时候,发现他们的机器上总是安装着很多没有授权的工具,比如盗版的
windows,没有License的MyEclipse等,甚至有一些人分不清eclipse和myeclipse ......

欢迎Java编程爱好者交流

     大家好!
     我是一个编程爱好者。
     经过专业课的学习,有一定的编程基础,对C/C++、ASP.ENT以及数据库比较熟悉。
     现在,我在一个Java培训班学习。
     空闲之余,在这里找到了一个交流的平台, ......

java中的基本数据类型

java的基本数据类型以及长度如下:
    1.整数型
            字节型byte:占1个字节 范围为 -28-1至28-1-1
         短整型short:占2个字节 范围为 -22*8-1 至 22*8-1-1
& ......

Java 的缓存的实质

计算机缓存的定义 :缓存是CPU的一部分,它存在于CPU中
就此可以说明 CPU中不可能存放大量的数据
所以java 的缓存 不是真正意义上的缓存
而且
缓存是为了解决CPU速度和内存速度的速度差异问题
内存中被CPU访问最频繁的数据和指令被复制入CPU中的缓存,这样CPU就可以不经常到象“蜗牛”一样慢的内存中去取数 ......

Oracle + Sun: Java Strategy

Oracle and Sun
http://www.oracle.com/events/productstrategy/index.html
Oracle + Sun: Java Strategy
   http://oracle.com.edgesuite.net/ivt/4000/8104/9236/12630/lobby_external_flash_clean_480x360/default.htm 
Oracle + Sun: Java Strategy
  ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号