当前位置: 首页 > news >正文

做分类信息网站如何/百度下载老版本

做分类信息网站如何,百度下载老版本,wordpress首页图片幻灯片播放,阿凡达网站建设常见的字符串匹配算法有BF、KMP(教科书中非常经典的)、BM、Sunday算法 这里主要想介绍下性能比较好并且实现比较简单的Sunday算法 。 基本原理: 从前往后匹配,如果遇到不匹配情况判断母串参与匹配的最后一位的下一位字符 &#xf…

常见的字符串匹配算法有BFKMP(教科书中非常经典的)、BMSunday算法

这里主要想介绍下性能比较好并且实现比较简单的Sunday算法 。

基本原理:

从前往后匹配,如果遇到不匹配情况判断母串参与匹配的最后一位的下一位字符

,如果该字符出现在模板串中,选择最右出现的位置进行对齐;

否则直接跳过该匹配区域。

画图说明:

 首先下标为0 的字符相互比较,发现并不相等,

 然后查找 s 中参与匹配的最后一位字符的下一字符 ,即 i ,  看 在是不是在t中(从右向左匹配) 发现i不在t中,

 接下来 s后移2(即t.length())位,到i处,发现i不存在于t中,于是 s后移2(即t.length())位,到x处 发现x存在于t中

于是s在移动(t.length()-x在t中出现的下标) 在做比较 

 

代码演示:

 

public class SundaySearch {public static void main(String[] args) {String s = "thiexaamp";String t = "ex";int rtn = sundaySearch(s, t);System.out.println(rtn);}/*** source 母串* target 模板串* 返回值 如果存在就返回target的第一个字符在source的下标* */private static int sundaySearch(String source, String target) {int loc = 0;int locSource = 0;int locTarget = 0;int count = 0; //用于记录有几个字符相同,如果与locTarget的长度相等就找到了while (locSource < source.length() && locTarget < target.length()) {if (target.charAt(locTarget) == source.charAt(locSource)) {locTarget++;locSource++;count++;} else {count = 0;if (locSource < source.length() - target.length()) {//看原下标+target.length()位的元素是不是在target中,(从右往左匹配)loc = target.lastIndexOf(source.charAt(locSource + target.length()));} else {break;}if (loc == -1) {//不存在 locSource 移动target.length()位locSource = locSource + target.length();} else {//存在,右移(target.length() - loc) 位 locSource = locSource + target.length() - loc;}locTarget = 0;}}if (loc != -1 && count == target.length()) {return locSource - count;}return -1;}
}

  运行结果如下

       

      

 

转载于:https://www.cnblogs.com/javabigdata/p/7207083.html

http://www.jmfq.cn/news/4877911.html

相关文章:

  • 可以自己做网站赚钱吗/什么是sem推广
  • 建站神器/小程序推广
  • 安阳网站优化/怎么建立网站?
  • 图片背景在网站建设中/市场营销
  • 重庆找做墩子网站/windows10优化大师
  • 做不锈钢门的网站/舆情优化公司
  • 违法网站开发人员/企业推广文案
  • 做网站困难吗/厦门百度广告开户
  • python软件开发/长沙官网网站推广优化
  • 智慧团建网站密码忘了/2023年免费进入b站
  • 免费申请做网站/短信营销
  • 北京做网站设计/全国疫情最新报告
  • 无锡网站建设培训/今日头条新闻视频
  • 网站顶一下代码/今天新疆新闻头条
  • 公司做网站合同/百度搜索指数1000是什么
  • 网络营销培训心得/福州seo
  • 创建网站目录权限/简述优化搜索引擎的方法
  • 淄博高端网站建设/图片识别 在线百度识图
  • 从搜索引擎访问网站/搜索引擎优化是什么?
  • 枣庄做网站公司/站长素材官网
  • 这个网站中有网名做会计的吗 了解一下/网站快速排名互点软件
  • 自己如何开发一个小程序/seo推广怎么做
  • 网站设计公司/中国十大网站有哪些
  • win7如何安装iis来浏览asp网站/每天新闻早知道
  • 政府网站群四种建设模式/学生个人网页制作代码
  • 做企业网站接单/班级优化大师免费下载学生版
  • 火星建站和八亿建站/网站流量排名
  • 2020年注册公司流程和费用/常德seo快速排名
  • 哈尔滨网站建设可信赖/网络运营和网络营销的区别
  • 企业网站建设存在的问题及建议/百度手机助手下载免费安装