python地图匹配_python通过BF算法实现关键词匹配的方法
本文实例讲述了python通过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))
希望本文所述对大家的Python程序设计有所帮助。
python地图匹配_python通过BF算法实现关键词匹配的方法相关推荐
- python关键字匹配_python通过BF算法实现关键词匹配的方法
本文实例讲述了python通过BF算法实现关键词匹配的方法.分享给大家供大家参考.具体实现方法如下: #!/usr/bin/python # -*- coding: UTF-8 # filename ...
- python问题关键词匹配算法_python通过BF算法实现关键词匹配的方法
本文实例讲述了python通过BF算法实现关键词匹配的方法.分享给大家供大家参考.具体实现方法如下: #!/usr/bin/python # -*- coding: UTF-8 # filename ...
- python 地图偏移_python 地图经纬度转换、纠偏的实例代码 百度地图经纬度web纠偏怎么用...
天地图的经纬度 经过纠偏了么 给个例子证明下 如何用python实现百度地图墨卡托坐标跟经纬度坐标互转 麦哲伦机器: 系统设置 地图单位 自定义坐标系 横向墨卡托 原点纬度0 原点经度126(通化) ...
- python 地图偏移_python 地图经纬度转换、纠偏的实例代码
python 地图经纬度转换.纠偏的代码如下所示: # -*- coding: utf-8 -*- import json import urllib import math x_pi = 3.141 ...
- python地图包_Python交互地图-folium包
原标题:Python交互地图-folium包 leftlet给R语言提供了很好用的交互式动态地图接口,其在Python中得API接口包名为folium(不知道包作者为何这样起名字,和leaflet已经 ...
- python玩扫雷_Python玩转算法—扫雷
此题来自LeetCode上的一道难度为Medium的题,说是有一张玩到一半的扫雷地图,接下来给你指定一个点击位置,让你预测点击之后,地图将发生怎么样的变化.看到这道题,瞬间让我想起了以前玩扫雷的日子, ...
- python函数结构图_Python数据结构与算法之图结构(Graph)实例分析
本文实例讲述了Python数据结构与算法之图结构(Graph).分享给大家供大家参考,具体如下: 图结构(Graph)--算法学中最强大的框架之一.树结构只是图的一种特殊情况. 如果我们可将自己的工作 ...
- python 程序设计思维_Python程序设计与算法思维
译者序 前言 第1章 Python编程简介 1 1.1 计算的基本概念 1 1.1.1 为何编程 1 1.1.2 硬件和软件 2 1.1.3 数字领域 3 1.1.4 编程的过程 4 1.1.5 为何 ...
- 链表python笔试题目_python经典面试算法题1.4:如何对链表进行重新排序
本题目摘自<Python程序员面试算法宝典>,我会每天做一道这本书上的题目,并分享出来,统一放在我博客内,收集在一个分类中. 1.4 对链表按照如下要求重新排序 [微软笔试题] 难度系数: ...
最新文章
- Oracle基础 动态SQL语句
- 前辈说先学会了这些Python知识点,再谈学习人工智能、机器学习
- 企业中的局域网性能应该怎么得到保障?
- Java的原始字符串文字
- 阿里云正式推出内容平台“云栖号”:全面助力企业和个人上云决策
- 最适合开发VR游戏大作的游戏引擎——Unity
- php获取工作日时间,ThinkPHP中获取指定日期后工作日的具体日期方法
- JS实现数组去重方法
- 如何设计一个与微信相同的分享sdk
- 网站的动静分离实践(动静分离)
- tp5组装数据_tp5数据库查询和模型结合使用
- 【PHP源码】三合一收款码扫码来源识别收款源码
- c语言表达式必须包含指针类型,c – 错误:表达式必须是指向完整对象类型的指针(?)...
- QQ等级图标对应的算法
- 邮件发送平台哪个好?大家究竟该如何选择?
- html模板怎样做seo,SEO如何做分享模板做外链
- 电子书如何通过邮箱传入kindle
- JAVA的jdk1.8中文文档
- 蚂蚁金服首席数据科学家漆远:AI技术开放,与业界融合共创
- 偏倚的主要类型_医学科研中偏倚的分类有哪些?
热门文章
- C#中ref与out使用小结
- 1. 概述--从零起步实现基于Html5的WEB设计器Jquery插件
- mysql把某一列的数据更新到另一列中(涉及到多张表的数据)
- views.py视图函
- 【LeetCode】11. Container With Most Water 解题小结
- 期末总结20135320赵瀚青LINUX内核分析与设计期末总结
- 菜鸟学习Spring——60s配置XML方法实现简单AOP
- [转载]C#多线程学习(一) 多线程的相关概念
- BZOJ 1040 [ZJOI2008]骑士
- 注意cache同时过期问题