• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > python通过BF算法实现关键词匹配的方法

python通过BF算法实现关键词匹配的方法

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了bf算法,bf算法和灯光缓存,bf算法代码,vray bf算法,3dmax bf算法等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文实例讲述了python通过BF算法实现关键词匹配的方法。分享给大家供大家参考。具体实现方法如下:

# -*- 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</div>
 
算法思想:目标串t与模式串p逐词比较,若对应位匹配,则进行下一位比较;若不相同,p右移1位,从p的第1位重新开始比较。

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

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

希望本文所述对大家的Python程序设计有所帮助。

</div>

您可能想查找下面的文章:

  • python通过BF算法实现关键词匹配的方法
  • python通过BF算法实现关键词匹配的方法

相关文章

  • 如何解决django配置settings时遇到Could not import settings 'conf.local'
  • Python警察与小偷的实现之一客户端与服务端通信实例
  • Python中的包和模块实例
  • 九步学会Python装饰器
  • 写了个监控nginx进程的Python脚本
  • 编写自定义的Django模板加载器的简单示例
  • python类装饰器用法实例
  • tensorflow estimator 使用hook实现finetune方式
  • Python单例模式实例分析
  • python读取浮点数和读取文本文件示例

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • 详解Python中的文件操作
    • python函数返回多个值的示例方法
    • python网页请求urllib2模块简单封装代码
    • python黑魔法之编码转换
    • 在Python的框架中为MySQL实现restful接口的教程
    • python进阶教程之词典、字典、dict
    • Python多线程实例教程
    • python去除空格和换行符的实现方法(推荐)
    • Python实现的数据结构与算法之队列详解
    • 在Linux系统上部署Apache+Python+Django+MySQL环境

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有