关键字匹配之BF算法-python实现
来源:互联网 发布:虚拟主机能绑定域名吗 编辑:程序博客网 时间:2024/04/30 08:15
#!/usr/bin/python# -*- coding: UTF-8# filename BFimport time"""t="this is a big apple,this is a big apple,this is a big apple,this is a big apple."p="apple""""t="为什么叫向量空间模型呢?其实我们可以把每个词给看成一个维度,而词的频率看成其值(有向),即向量,这样每篇文章的词及其频率就构成了一个i维空间图,两个文档的相似度就是两个空间图的接近度。假设文章只有两维的话,那么空间图就可以画在一个平面直角坐标系当中,读者可以假想两篇只有两个词的文章画图进行理解。"p="读者"i=0count=0start=time.time()while (i <=len(t)-len(p)):j=0 while (t[i]==p[j]): i=i+1 j=j+1if j==len(p):breakelif (j==len(p)-1):count=count+1else:i=i+1j=0print countprint time.time()-start算法思想:目标串t与模式串p逐词比较,若对应位匹配,则进行下一位比较;若不相同,p右移1位,从p的第1位重新开始比较。
算法特点:整体移动方向:可认为在固定t的情况下,p从左向右滑动;匹配比较时,从p的最左边位开始向右逐位与t串中对应位比较。p的滑动距离为1,这导致BF算法匹配效率低(相比其他算法,如:BM,KMP,滑动没有跳跃)。
该算法的时间复杂度为O(len(t)*len(p)),空间复杂度为O(len(t)+len(p))
- 关键字匹配之BF算法-python实现
- 字符串匹配之BF算法
- 字符串匹配之BF算法
- Java实现BF串匹配算法
- 字符串模式匹配之BF算法
- 字符串匹配算法之BF vs KMP
- 串的模式匹配之BF算法
- 数据结构 字符串模式匹配之BF算法
- 模式匹配之(BF KMP算法)
- 字符串匹配:BF算法
- BF匹配算法
- BF暴力匹配算法
- 模式匹配-BF算法
- 字符串匹配算法BF
- BF匹配算法
- 字符匹配BF算法
- 串匹配-BF算法
- 模式匹配算法(BF)
- Unix select()的使用
- xmind executable launcher was unable to locate its companion launcher jar问题解决
- XP,增加了一个用户,创建之后,切换不到原来的用户Administrator
- Language Model
- JQuery 样式操作
- 关键字匹配之BF算法-python实现
- CSDN TTT培训计划-软件技术类高校教师(2013暑期)
- python3处理json
- 修复jquery.cookie的bug,使其能在IE浏览器下正常工作
- 本地安装wamp 访问时wamp You don't have permission to access
- Ubuntu下,查看python的版本号
- android反编译工具总结
- EXTJS4.x之实战项目(1)
- 学习新技术的10个建议