国产成人AV无码一二三区,少女1到100集,国产精品久久久久精品综合紧,巜公妇之诱感肉欲HD在线播放

文章 > Python常见问题 > Python怎么实现模式匹配

Python怎么实现模式匹配

头像

Python

2019-06-22 11:10:394766浏览 · 0收藏 · 0评论

python通过BF算法实现关键词匹配,BF算法,即暴风(Brute Force)算法,是普通的模式匹配算法,BF算法的思想就是将目标串S的第一个字符与模式串T的第一个字符进行匹配,若相等,则继续比较S的第二个字符和 T的第二个字符;若不相等,则比较S的第二个字符和T的第一个字符,依次比较下去,直到得出最后的匹配结果。BF算法是一种蛮力算法。

代码如下:

#!/usr/bin/python
# -*- coding: UTF-8
# filename BF
import 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=0
count=0
start=time.time()
while (i <=len(t)-len(p)):
j=0
while (t[i]==p[j]):
i=i+1
j=j+1
if j==len(p):
break 
elif (j==len(p)-1):
count=count+1
else:
i=i+1
j=0
print count
print time.time()-start

算法思想:目标串t与模式串p逐词比较,若对应位匹配,则进行下一位比较;若不相同,p右移1位,从p的第1位重新开始比较。

算法特点:整体移动方向:可认为在固定的情况下,p从左向右滑动;匹配比较时,从p的最左边位开始向右逐位与t串中对应位比较。p的滑动距离为1,这导致BF算法匹配效率低(相比其他算法,如:BM,KMP,滑动没有跳跃)。

该算法的时间复杂度为O(len(t)*len(p)),空间复杂度为O(len(t)+len(p))

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

国产又好看的特效大片| 宝宝用力嗯脚翘起来怎么回事 | 把腿扒开让我添30分钟| 国产少女免费观看电视剧| 我兄弟的妈妈免费观看电视剧| 教室停电插班花原文小说| 香蕉漫画免费读漫画网下拉式| 少妇厨房伦性做爰| 蜜桃免费观看电视剧高清完整版| 把腿扒开让我添30分钟| 日本妈妈DNA与儿子DNA一样..| 精品免费国产一区二区三区四区 | 《无能的丈夫》完整版| 暴躁少女免费看高清电视剧| 局长把我奶头掏出来直接吃| 小丹让我尝尝你的味道是什么歌啊| 女士穿紧身裸体开裆光滑皮裤| 美国色情巜教练和女警官视频| 臣卜扌桑扌圭辶鬲猛| 《互换人妻HD中字》| 人犬兽人在线观看免费完整| 免费观看已满十八岁电视剧在线播... | 《魅魔之耻》1~4集免费看 | 憋尿白丝小肚子凸起高冷知乎| 少女配狗播放视频| 1.120分钟免费观看电视剧大全 | 夹心玩具BY笔趣阁| 了解女性健康| 两个奶头被吃得又翘又肿特别疼| 《老公今晚我加班》免费阅读| 《妻子6》在线观看免费版电视剧| 欧美IPHONEXR| 闺蜜老公把我压在怀里| 倫理片《亂倫》| 《黏糊糊的你》动漫免费观看| 电影《乳妓》在线观看| 欧式少女16集全免费观看电视剧 | BOBO浏览器| 香港十大禁片| 法国色情巜做爰4| 日本护士裸体做爰视频