4.2模式匹配-BF算法
来源:互联网 发布:淘宝的商品类目 编辑:程序博客网 时间:2024/05/16 11:48
4.2模式匹配-BF算法
BF(Brute-Force)算法,即暴力匹配。二重循环,很好理解。特点是需要 i指针的回溯。
(1)BF算法
int Index_BF(char *s,char *p){int i , j;int sLen = strlen(s); int pLen = strlen(p);i = j = 0;while(i < sLen && j < pLen){if(s[i] == p[j]){i ++;j ++;}else{i = i-j+1; j = 0;}}if(j == pLen)return i - pLen +1;elsereturn -1;}
(2)模式匹配
# include <stdio.h># include <string.h>void Init_string(char *s,char *p);int Index_BF(char *s,char *p);void print(int i);int main(){int i;char s[50];char p[50];Init_string(s,p);i = Index_BF(s,p);print(i);return 0;}void Init_string(char *s,char *p){printf("input string s , p:\n");gets(s);gets(p);}int Index_BF(char *s,char *p){int i , j;int sLen = strlen(s); int pLen = strlen(p);i = j = 0;while(i < sLen && j < pLen){if(s[i] == p[j]){i ++;j ++;}else{i = i-j+1; j = 0;}}if(j == pLen)return i - pLen +1;elsereturn -1;}void print(int i){if(i == -1)printf("String p not be found !\n");elseprintf("The pos is: %d\n",i);}
(3)性能分析
时间复杂度:O(m * n);
空间复杂度:O( 1 )
总而言之,太慢!
0 0
- 4.2模式匹配-BF算法
- 模式匹配-BF算法
- 模式匹配算法(BF)
- BF模式匹配算法改良
- 字符串模式匹配算法--BF & KMP算法
- 字符串模式匹配之BF算法
- 数据结构12:模式匹配BF算法
- 串的模式匹配--BF算法
- KMP与BF模式匹配算法
- 串的模式匹配之BF算法
- 数据结构 字符串模式匹配之BF算法
- C++ BF模式串匹配算法!
- 1.BF 朴素的模式匹配算法
- 模式匹配算法BF和KMP
- 串的模式匹配-BF算法
- 字符串的模式匹配: BF算法
- 模式匹配之(BF KMP算法)
- 朴素模式匹配(BF)
- AUC的解释
- 加载外部图片
- android 中Timer解析
- edit plus++User Files
- 输出到屏幕和保存文件同时进行
- 4.2模式匹配-BF算法
- Java类锁和对象锁实践
- 【致明哥】顶起来
- 第八周项目1分段函数求和
- 编程之美---确定二进制中1的个数
- 响应式WEB设计
- Hadoop常见的45个面试题
- distinct subsequence
- Windows Auzre 微软云计算产品后台操作界面