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

企业网站案例公司北京vi设计

企业网站案例公司,北京vi设计,贵阳网站建设zu97,机械公司简介模板1、【Boyer-Moore 算法】 【算法】哪种算法有分数复杂度?- BoyerMoore字符串匹配_哔哩哔哩_bilibili BM算法的精华就在于BM(text, pattern),也就是BM算法当不匹配的时候一次性可以跳过不止一个字符。即它不需要对被搜索的字符串中的字符进行逐一比较,而…

1、【Boyer-Moore 算法】

【算法】哪种算法有分数复杂度?- BoyerMoore字符串匹配_哔哩哔哩_bilibili

         BM算法的精华就在于BM(text, pattern),也就是BM算法当不匹配的时候一次性可以跳过不止一个字符。即它不需要对被搜索的字符串中的字符进行逐一比较,而会跳过其中某些部分。通常搜索关键字越长,算法速度越快。它的效率来自于这样的事实:对于每一次失败的匹配尝试,算法都能够使用这些信息来排除尽可能多的无法匹配的位置。即它充分利用待搜索字符串的一些特征,加快了搜索的步骤。
           BM算法实际上包含两个并行的算法(也就是两个启发策略):坏字符算法(bad-character shift)和好后缀算法(good-suffix shift)。这两种算法的目的就是让模式串每次向右移动尽可能大的距离(即上面的BM( )尽可能大)。

          一般情况下,比KMP算法快3-5倍

package com.vedeng;public class BoyerMoore {private static final int NO_OF_CHARS = 256;// 预处理坏字符规则private static void badCharHeuristic(char[] str, int size, int[] badChar) {for (int i = 0; i < NO_OF_CHARS; i++) {badChar[i] = -1;}for (int i = 0; i < size; i++) {badChar[(int) str[i]] = i;}}// Boyer-Moore算法实现public static void search(char[] txt, char[] pat) {int m = pat.length;int n = txt.length;int[] badChar = new int[NO_OF_CHARS];// 预处理坏字符规则badCharHeuristic(pat, m, badChar);int s = 0; // s是shift的缩写,表示模式串相对于文本串的偏移while (s <= (n - m)) {int j = m - 1;// 从右向左匹配while (j >= 0 && pat[j] == txt[s + j]) {j--;}// 如果匹配成功,打印匹配的位置if (j < 0) {System.out.println("Patterns occur at shift = " + s);// 根据好后缀规则计算下一个可能的偏移s += (s + m < n) ? m - badChar[txt[s + m]] : 1;} else {// 根据坏字符规则计算下一个可能的偏移s += Math.max(1, j - badChar[txt[s + j]]);}}}public static void main(String[] args) {char[] txt = "ABAAABCD".toCharArray();char[] pat = "ABC".toCharArray();search(txt, pat);}
}

相关:

https://blog.csdn.net/qq_43197840/article/details/140680860?spm=1001.2014.3001.5501
https://blog.csdn.net/qq_43197840/article/details/140680621?spm=1001.2014.3001.5501

http://www.yayakq.cn/news/921520/

相关文章:

  • 博客网站素材什么是网络营销什么是传统营销
  • 怎么去做一个网站网站的建设费用
  • 织梦只显示网站首页世界互联网峰会官网
  • 网站域名推广表格制作手机软件
  • 临沂网站建设求职简历wordpress 链接提交表单
  • 网站百度商桥新风向网站建设
  • 企业网站建设文章wordpress图片友情链接
  • 网站地图怎么样做更利于收录做棋牌网站违法
  • 建设厅安全证考试报名在哪个网站重庆做网站seo优化选哪家好
  • 天津网站建设方案1核做网站
  • 软件开发 系统开发 网站开发服务切图网站建设
  • 糕点网站策划书数据中台厂商
  • 企业做网站多少钱小程序管理平台
  • 网站推广的工具wordpress的网站后台
  • 个人免费建站的网站天津网站备案在哪照相
  • 网站制作验收单wordpress gii插件
  • 织梦网站一排4张图片南宁市建设处网站
  • 专业的移动客户端网站建设浙江信息港网
  • 网站如何做快照c 微信小程序开发教程
  • 主流建站开源程序有哪些网站优化 情况
  • 营销型网站建设一般包含哪些内容网站建设临沂
  • 网站怎么做导航wordpress存档显示文章所有内容
  • 搭建微网站的基本流程北京公司名称及地址大全
  • 响应式全屏网站模板wordpress阶梯插件
  • 四川北路街道网站建设中职国示范建设网站
  • 成都游戏网站开发网站建设要达到什么水平
  • 做外贸 上国外网站wordpress 实现 功能
  • 关键词挖掘网站济南百度公司做网站吗
  • 广州网站设计十年乐云seo泰和县网站免费建站
  • 网站做受网站南京seo优化公司