⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.java

📁 三种字符串匹配:BF
💻 JAVA
字号:
package patternMatching;
//import java.util.Date;
import java.lang.management.*;
public class Main {

	/**
	 * @param args
	 */
	public static void main(String[] args) throws java.io.FileNotFoundException {
		long start;
		long end;
		ThreadMXBean tmxb = ManagementFactory.getThreadMXBean();
	
		start = tmxb.getCurrentThreadCpuTime();
			String text = ReadIn.readIn("Algorithm.html");
			//System.out.println(text);
		end = tmxb.getCurrentThreadCpuTime();
		System.out.println("Loading costs:"+(end-start)+"\n");

		
		String strPattern;
		int pattern_position;
		PatternMatcher pattern;
		
		long resultArray[] = new long[50*6];
		for(int size=1; size <=50; size++){
			pattern_position = text.length()-size;;
			strPattern = text.substring(pattern_position,text.length());
			System.out.println("size " + size);
			System.out.println("find in: "+ pattern_position);
			System.out.print("BruteForce: ");
				start = tmxb.getCurrentThreadCpuTime();
				pattern = new BruteForce(strPattern);
				for(int i=0 ; i < 100; i++){
					pattern.match(text);
				}
				end = tmxb.getCurrentThreadCpuTime();
			//System.out.println("The pattern "+strPattern+" is found with index of "+result);
			System.out.println((end-start)/100);
			resultArray[(size-1)*6+0]=(int) ((end-start)/100);
			resultArray[(size-1)*6+3]= pattern.getComparetimes();
			
			System.out.print("BoyerMoore: ");
				start = tmxb.getCurrentThreadCpuTime();
				pattern = new BoyerMoore(strPattern);
				for(int i=0 ; i < 100; i++){
					pattern.match(text);
				}
				end = tmxb.getCurrentThreadCpuTime();
			//System.out.println("the pattern "+strPattern+" is found with index of "+result);
			System.out.println((end-start)/100);
			resultArray[(size-1)*6+1]=(int)((end-start)/100);
			resultArray[(size-1)*6+4]= pattern.getComparetimes();
			
			System.out.print("KnuthMorrisPratt: ");
				start = tmxb.getCurrentThreadCpuTime();
				pattern = new KnuthMorrisPratt(strPattern);
				for(int i=0 ; i < 100; i++){
					pattern.match(text);
				}
				end = tmxb.getCurrentThreadCpuTime();
			//System.out.println("the pattern "+strPattern+" is found with index of "+result);
			System.out.println((end-start)/100);
			resultArray[(size-1)*6+2]=(int)((end-start)/100);
			resultArray[(size-1)*6+5]= pattern.getComparetimes();
			//System.out.println("result " + pattern.match(text));
		}
		/*for(int i=0; i <resultArray.length; i++){
			if (i%3==0) System.out.print(",");
			System.out.print(resultArray[i]+"  ");
		}*/
		Excel.intoExcel(resultArray);
	}
	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -