zoukankan      html  css  js  c++  java
  • 字符串匹配01BF

    BF(Bruce Force)算法可以说是模式匹配算法中最简单、最容易理解的一个。原理很简单。其基本思想是从主串的start位置开始与模式串进行匹配,如果相等,则继续比较后续字符,如果不相等则模式串回溯到开始位置,主串回溯到start+1位置,继续进行比较直至模式串的所有字符都已比较成功则匹配成功,或者主串所有的字符已经比较完毕,没有找到完全匹配的字串,则匹配失败。

    package com.fox;
    
    /**
     * @author huangfox
     * @data 2012-7-18
     * @email huangfox009@126.com
     * @desc 
     */
    public class BF {
    
    	/**
    	 * 
    	 * @param t
    	 *            主串
    	 * @param p
    	 *            模式串
    	 */
    	public static boolean match(String t, String p) {
    		char[] tt = t.toCharArray();
    		char[] pp = p.toCharArray();
    		int j = 0;
    		for (int i = 0; i < tt.length - pp.length + 1; i++) {
    			for (j = 0; j < pp.length; j++) {
    				if (tt[j + i] == pp[j])
    					continue;
    				else
    					break;
    			}
    			if (j == pp.length)
    				return true;
    		}
    		return false;
    	}
    
    	public static void main(String[] f) {
    		boolean m = BF.match("白日依山尽,黄河入海流!", "黄河");
    		System.out.println(m);
    	}
    }
    

      

  • 相关阅读:
    js产生随机数
    Ajax库的编写及使用
    css水平竖直居中方式
    各大网站css初始化代码【转】
    文档对象模型-DOM(二)
    文档对象模型-DOM(一)
    nav标签使用说明
    html5学习整理-0311
    Python OpenCV —— Arithmetic
    关于python3 OpenCV的安装和配置
  • 原文地址:https://www.cnblogs.com/huangfox/p/2597644.html
Copyright © 2011-2022 走看看