最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python通過(guò)BF算法實(shí)現(xiàn)關(guān)鍵詞匹配的方法

 更新時(shí)間:2015年03月13日 12:08:13   作者:chongq  
這篇文章主要介紹了python通過(guò)BF算法實(shí)現(xiàn)關(guān)鍵詞匹配的方法,實(shí)例分析了BF算法的原理與Python實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下

本文實(shí)例講述了python通過(guò)BF算法實(shí)現(xiàn)關(guān)鍵詞匹配的方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:

復(fù)制代碼 代碼如下:
#!/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="為什么叫向量空間模型呢?其實(shí)我們可以把每個(gè)詞給看成一個(gè)維度,而詞的頻率看成其值(有向),即向量,這樣每篇文章的詞及其頻率就構(gòu)成了一個(gè)i維空間圖,兩個(gè)文檔的相似度就是兩個(gè)空間圖的接近度。假設(shè)文章只有兩維的話,那么空間圖就可以畫(huà)在一個(gè)平面直角坐標(biāo)系當(dāng)中,讀者可以假想兩篇只有兩個(gè)詞的文章畫(huà)圖進(jìn)行理解。"
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

 
算法思想:目標(biāo)串t與模式串p逐詞比較,若對(duì)應(yīng)位匹配,則進(jìn)行下一位比較;若不相同,p右移1位,從p的第1位重新開(kāi)始比較。

算法特點(diǎn):整體移動(dòng)方向:可認(rèn)為在固定的情況下,p從左向右滑動(dòng);匹配比較時(shí),從p的最左邊位開(kāi)始向右逐位與t串中對(duì)應(yīng)位比較。p的滑動(dòng)距離為1,這導(dǎo)致BF算法匹配效率低(相比其他算法,如:BM,KMP,滑動(dòng)沒(méi)有跳躍)。

該算法的時(shí)間復(fù)雜度為O(len(t)*len(p)),空間復(fù)雜度為O(len(t)+len(p))

希望本文所述對(duì)大家的Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • Python中的xml與dict的轉(zhuǎn)換方法詳解

    Python中的xml與dict的轉(zhuǎn)換方法詳解

    這篇文章主要介紹了Python中的xml與dict的轉(zhuǎn)換方法詳解,xml 是指可擴(kuò)展標(biāo)記語(yǔ)言,一種標(biāo)記語(yǔ)言類似html,作用是傳輸數(shù)據(jù),而且不是顯示數(shù)據(jù)??梢宰远x標(biāo)簽,需要的朋友可以參考下
    2023-07-07
  • Python通過(guò)keyboard庫(kù)實(shí)現(xiàn)模擬和監(jiān)聽(tīng)鍵盤(pán)

    Python通過(guò)keyboard庫(kù)實(shí)現(xiàn)模擬和監(jiān)聽(tīng)鍵盤(pán)

    這篇文章主要為大家詳細(xì)介紹了Python如何通過(guò)keyboard庫(kù)實(shí)現(xiàn)模擬和監(jiān)聽(tīng)鍵盤(pán),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下
    2024-10-10
  • python實(shí)現(xiàn)本地圖片轉(zhuǎn)存并重命名的示例代碼

    python實(shí)現(xiàn)本地圖片轉(zhuǎn)存并重命名的示例代碼

    今天小編就為大家分享一篇python實(shí)現(xiàn)本地圖片轉(zhuǎn)存并重命名的示例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • Python通過(guò)30秒就能學(xué)會(huì)的漂亮短程序代碼(過(guò)程全解)

    Python通過(guò)30秒就能學(xué)會(huì)的漂亮短程序代碼(過(guò)程全解)

    這篇文章主要介紹了Python之30秒就能學(xué)會(huì)的漂亮短程序代碼,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-10-10
  • django中ORM模型常用的字段的使用方法

    django中ORM模型常用的字段的使用方法

    這篇文章主要介紹了django中ORM模型常用的字段的使用方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • python數(shù)據(jù)預(yù)處理方式 :數(shù)據(jù)降維

    python數(shù)據(jù)預(yù)處理方式 :數(shù)據(jù)降維

    今天小編就為大家分享一篇python數(shù)據(jù)預(yù)處理方式 :數(shù)據(jù)降維,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-02-02
  • jupyter notebook運(yùn)行代碼沒(méi)反應(yīng)且in[ ]沒(méi)有*

    jupyter notebook運(yùn)行代碼沒(méi)反應(yīng)且in[ ]沒(méi)有*

    本文主要介紹了jupyter notebook運(yùn)行代碼沒(méi)反應(yīng)且in[ ]沒(méi)有*,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Python初學(xué)者必備的文件讀寫(xiě)指南

    Python初學(xué)者必備的文件讀寫(xiě)指南

    今天給大家?guī)?lái)的是關(guān)于Python基礎(chǔ)的相關(guān)知識(shí),文章圍繞著Python文件讀寫(xiě)展開(kāi),文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • Python常見(jiàn)字典內(nèi)建函數(shù)用法示例

    Python常見(jiàn)字典內(nèi)建函數(shù)用法示例

    這篇文章主要介紹了Python常見(jiàn)字典內(nèi)建函數(shù)用法,結(jié)合具體實(shí)例形式分析了Python字典內(nèi)建函數(shù)實(shí)現(xiàn)針對(duì)字典的長(zhǎng)度、hash運(yùn)算、鍵值對(duì)遍歷、獲取、計(jì)算等相關(guān)操作技巧,需要的朋友可以參考下
    2018-05-05
  • python與pycharm有何區(qū)別

    python與pycharm有何區(qū)別

    在本篇文章里小編給大家整理了關(guān)于pycharm與python的區(qū)別相關(guān)內(nèi)容,有需要的朋友們可以學(xué)習(xí)下。
    2020-07-07

最新評(píng)論

历史| 卢氏县| 双城市| 濮阳市| 饶平县| 赫章县| 苗栗县| 伊宁市| 和田县| 阆中市| 新泰市| 丽水市| 黄陵县| 新乡县| 大宁县| 息烽县| 龙井市| 乌鲁木齐县| 平原县| 大宁县| 新营市| 宜昌市| 民丰县| 乌拉特中旗| 峨边| 齐齐哈尔市| 金阳县| 涿州市| 慈溪市| 柘荣县| 枝江市| 吴堡县| 永和县| 兴安县| 普定县| 永昌县| 万宁市| 怀安县| 清水河县| 泗阳县| 五台县|