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

网站部兼容是什么原因常用博客建站程序

网站部兼容是什么原因,常用博客建站程序,哪些网站可以免费做产品推广,沧州青县机械加工网串是一种数据元素为字符的特殊的线性表。 1. 串的定义 零个或多个字符(字母、数字或其他字符)组成的有限序列。记为 S"a1a2...an"S"a1​a2​...an​",长度为 nn,空串长度为0。 2.串的术语 串长度&#xf…

串是一种数据元素为字符的特殊的线性表。

1. 串的定义

零个或多个字符(字母、数字或其他字符)组成的有限序列。记为 S="a1a2...an"S="a1​a2​...an​",长度为 nn,空串长度为0。

2.串的术语

  • 串长度:串中字符的个数。
  •  空串:零个字符的串。即:"",通常用φ表示。
  • 字符位置:字符在序列中的序号。
  • 空格串:由一个或多个空格组成的串。
  • 子串:串中任意个连续的字符组成的子序列。
  • 主串:包含子串的串。
  • 子串位置:子串的第一个字符在主串中的位置。
  • 串相等:两个串的值相等,即两个串的长度相等,各个对应位置的字符都相等。

3.串的基本运算

  • strassign (s, chars)               //串赋值
  • strCompare (S,T)                  //串比较
  • strLength(S)                          //求串长
  • concat(T, S1, S2)                  //串联接
  • subString(S, sub, pos, len)   //求子串
  • strCopy(T, S)                         //串拷贝
  • strEmpty(S)                           //串判空
  • clearString (S)                       //清空串
  • index(S, T, pos)                     //子串的位置
  • replace(S, T, V)                     //串替换
  • strInsert(S, pos, T)                //子串插入
  • strDelete(S, pos, len)            //子串删除

4. 串的存储结构

 

  • 顺序存储:使用数组存储字符,末尾可加结束符(如C的\0)。优点:随机访问高效;缺点:插入/删除需移动元素。

  • 链式存储:每个节点存储一个或多个字符,通过指针链接。优点:动态扩展方便;缺点:空间利用率低,操作复杂。

5. 模式匹配算法

(1)暴力匹配(Brute-Force)

  • 过程:主串指针i和模式串指针j逐个比较,失败时i回溯到i-j+1j重置为0。

  • 时间复杂度:O(mn)O(mn)。

(2)KMP算法

  • 核心思想:利用部分匹配信息(最长公共前后缀),避免主串回溯。

  • 步骤

        构造next数组:记录模式串每个位置的最长公共前后缀长度。

        匹配过程:主串指针i不回溯,模式串指针j根据next数组跳转。

  • next数组构造

    void  getnext( SqString T, int next[ ] )
    {      int j,  k;next[0] = -1; j = 0;   k = -1;      //k=next[j]while( j < T.length-1 ){      if ( k == -1 || T.str[j] == T.str[k] )  {     next[j+1] =  k+1;j++;k++;    //k=next[j]} else    k = next[k]}       
    }
  • 时间复杂度:O(m+n)O(m+n),适用于频繁匹配的场景。

6. 代码示例(KMP算法实现)

 

int  Index_KMP( SqString S, SqString T )
{      int i, j, next[200];getnext(T, next);i=0; j=0;while( i<S.length && j<T. length ){     if( j == -1|| S.str[i] ==T.str[j] ){    i++; j++; }else  j = next[j];}if(j>=T.length)  return i-T.curlen+1; //返回位序  else return 0;
}

总结

串是数据处理的基础结构,其高效操作依赖于合理的存储设计和算法选择。掌握KMP算法及其next数组的构造是解决复杂字符串匹配问题的关键。实际应用中需结合场景权衡不同方法的优缺点。

 

http://www.dtcms.com/a/424219.html

相关文章:

  • 大模型相关核心信息整合汇总
  • 【term】票据质押和背书的区别
  • 第四部分:VTK常用类详解(第118章 vtkWarpScalar标量变形类)
  • HTB 赛季9靶场 - Imagery
  • 集团微网站建设中企动力初期做的网站
  • 中山网站seo办公资源网
  • 检索增强生成(RAG)全流程解析
  • JAVA:Spring Boot 集成 AspectJ 实现切面编程
  • Promse.all 与 Promise.allSettled
  • 网站本科腾讯企点
  • 杭州高端品牌网站建设网站建设维护升级
  • 上海大规模网站建设平台北京城市副中心投资建设公司网站
  • 360免费建站空间网站建设网络安全
  • 金融适合什么颜色做网站广州seo公司官网
  • DeepSeek-V3.2:DSA稀疏注意力的降本增效
  • SpringBoot 不更改 pom.xml 引入各种 JDBC 驱动 jar 包
  • 【37】C# WinForm入门到精通 —— Winform界面运行后,界面上的字体 图案 整体感觉模糊,解决办法
  • 哪家公司建5g基站网站怎么做qq的授权登陆
  • 做解析视频网站违法莫网站调优技能
  • 个人建设视频网站ppt模板制作免费下载
  • 20250929的学习笔记
  • 字节序和位操作
  • 没有公司自己做网站百度云wordpress怎么搭建网站
  • 《Python 中的“面向接口编程”:抽象基类的力量与实践指南》
  • 25.渗透-.Linux基础命令(十七)-Linux系统状态管理(安全加固-删除无关账户)
  • wordpress响应式网站模板下载企业手机网站建设流程图
  • ollama离线部署加载Bge-M3向量模型
  • 全站仪快速建站本地建站工具
  • AI照片转二次元
  • A股大盘数据-20250929分析