《数据结构和算法》之字符串BF算法
来源:互联网 发布:淘宝店铺id怎么查 编辑:程序博客网 时间:2024/06/11 20:53
一,定义:
串是由零个或者多个字符组成的有限序列,又名字符串。一般记为 s=“a1a2a3a4......an”(n>0),串可以是空串,即没有字符,直接由 “”表示,或者可以由希腊字母来表示。
子串和主串,例如“china”是“chinaboy”的子串,反之则倒过来。字符串比较大小要怎么比较呢,这个时候比的就是字符串里每个字符的ASCII码的大小,因为‘F’==70,‘f’==102,'f'>'F'。
二,字符串的存储结构
字符串的存储结果与线性表一样,分为顺序存储和链式存储。字符串的顺序存储结构是用一组地址连续的存储单元来存储串中的字符序列的。按照预定义的大小,为每个定义的字符串变量分配一个固定长度的存储区,一般用定长数组来定义。与线性表类似,既然是固定长度的存储区,就存在一个空间分配不灵活的问题,那么会考虑用链式存储结构。不同的字符串我们一般都是连在一起表述的,所以习惯上我们通常还是会直接定义一个足够长的存储区来存储的。
三,BF算法
Brute Force算法,属于朴素的模式匹配算法。核心算法是:有两个字符串S和T,长度为N和M,首先S[1]和T[1]比较,若相等,则再比较S[2]和T[2],一直到T[M]为止,若S[1]和T[1]不等,则T向右移动一个字符的位置,再依次进行比较。该算法最坏情况下要进行M*(N-M+1)次比较,时间复杂度为O(M*N)。在这里S是主串,T是子串,这种子串的定位操作通常称为串的模式匹配。假设我们要从主串S="IloveFishC.com"找到T="FishC"这个子串的位置,安装BF算法,我们需要进行下边的步骤:
在经过上面的6个步骤就可以知道BF算法的原理。
- 《数据结构和算法》之字符串BF算法
- C++数据结构之字符串的BF算法
- 数据结构 字符串模式匹配之BF算法
- 【数据结构与算法】字符串匹配之BF&KMP算法
- 字符串匹配之BF算法
- 查找字符串之 BF算法
- 字符串匹配之BF算法
- 字符串--BF和KMP算法
- 字符串匹配BF算法和KMP算法
- 字符串 [BF算法] --->字符串
- 字符串模式匹配之BF算法
- 字符串匹配算法之BF vs KMP
- 字符串BF算法
- 字符串匹配:BF算法
- 字符串匹配算法BF
- BF算法匹配字符串
- 字符串匹配算法(BF和KMP)
- 字符串和BF算法的实现
- 哲学家就餐问题
- JAVA类加载机制详解
- Zookeeper分布式技术详解 (一)zookeeper 集群的 监控图形化页面
- 究竟什么是副作用
- Couldn’t open CUDA library libcupti.so.8.0
- 《数据结构和算法》之字符串BF算法
- (45)Air Band OpenCV2.4.13_输入视频和相似性度量
- lightoj 1269
- 关于spring mvc拦截器拦截js文件等导致无法正常使用问题的解决
- hiho#1478 : 水陆距离 (BFS)
- spring mvc 中使用spring的validator
- 欢迎使用CSDN-markdown编辑器
- Android网络请求心路历程
- loadrunner 脚本录制-录制选项设置HTML-based URL-based Script