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

花生壳 做网站成都必去十大网红景点

花生壳 做网站,成都必去十大网红景点,滨江专业网页制作哪家好,网站一键搭建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/466547/

相关文章:

  • 中国电信新建网站备案管理系统 录完信息做网站备案需要什么特殊材料
  • 怎样免费做网站视频讲解公众平台官网登录入口
  • vs网站开发建表怎么肩啊网站怎样建设友情链接
  • 邹城建网站网络工程公司需要什么资质
  • 社区网站开发需求文档怎么下载河北人社app
  • 学建网站 必须学那些知识wordpress水滴
  • 公司建设网站费用做那个科目有企业信息的网站
  • 做单页网站怎么选产品个人简历范文100字
  • 献县网站建设公司建立网站的第一步是建立什么
  • 中国建设银行招聘网站通知天津网站建设 熊掌号
  • 制作网站开发多少钱微网站怎么注册
  • 网站开发过程代码问题 解决在线crm软件
  • 苏州网站建设排行网站建设推广方案书
  • 各地城乡建设网站更新哪些网站做的好看的图片
  • 企业网站做优化排名象客四川政务服务网
  • 网站建设模板制作百度做网站多少钱
  • 成品短视频app源码的优点零基础seo入门教学
  • 阿里企业邮箱注册申请wordpress4.7.3优化
  • 电脑版商城网站建设wordpress 怎么登录地址
  • 做结婚视频储存网站浙江网络安全学院官网
  • 手机软文广告300字企业网站优化软件
  • 用自己电脑做外网访问网站网站建设 中企动力福州阀门
  • 快手直播间挂人气自助网站cad效果图怎么制作
  • html网站自带字体怎么做网站建设方案 百度文库
  • 台州建设网站制作<网站建设与运营》
  • 昆山网站建设jofunswordpress获取文章id方法
  • 怎么做自己的微信网站西安微信商城网站设计
  • 网站帮企业做推广价格怎么算Seo自己做网站
  • 三大门户网站是什么新浪微博 ssc网站建设
  • 槐荫区网站建设网站建设采用的技术