欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python數(shù)據(jù)結(jié)構(gòu)與算法之字典樹實(shí)現(xiàn)方法示例

 更新時間:2017年12月13日 11:24:51   作者:hanahimi  
這篇文章主要介紹了Python數(shù)據(jù)結(jié)構(gòu)與算法之字典樹實(shí)現(xiàn)方法,可實(shí)現(xiàn)針對單詞出現(xiàn)次數(shù)的統(tǒng)計功能,涉及Python樹結(jié)構(gòu)的定義、遍歷及統(tǒng)計等相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了Python數(shù)據(jù)結(jié)構(gòu)與算法之字典樹實(shí)現(xiàn)方法。分享給大家供大家參考,具體如下:

class TrieTree():
  def __init__(self):
    self.root = {}
  def addNode(self,str):
    # 樹中每個結(jié)點(diǎn)(除根節(jié)點(diǎn)),包含到該結(jié)點(diǎn)的單詞數(shù),以及該結(jié)點(diǎn)后面出現(xiàn)字母的鍵
    nowdict = self.root
    for i in range(len(str)):
      if str[i] not in nowdict:  # 發(fā)現(xiàn)新的組合方式
        nowdict[str[i]] = {'count':0,'prefix':str[:i+1]}
      nowdict = nowdict[str[i]]  # 轉(zhuǎn)移到下一個結(jié)點(diǎn)
    nowdict['count'] += 1
  def countWord(self,str):
    # 返回輸入單詞在樹中出現(xiàn)的次數(shù)
    nowdict = self.root
    for s in str:
      if s not in nowdict:
        return 0
      nowdict = nowdict[s]  # 匹配當(dāng)前結(jié)點(diǎn),轉(zhuǎn)下一個結(jié)點(diǎn)
    # 到了這一步證明單詞存在
    return nowdict['count']
if __name__=="__main__":
  pass
  Text = ['b','abc','abd','bcd','abcd','efg','hii','bcd']
  t = TrieTree()
  for str in Text:
    t.addNode(str)
  print t.countWord('bcd')
>>> 2

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python加密解密算法與技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進(jìn)階經(jīng)典教程

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

相關(guān)文章

  • 詳解用pyecharts Geo實(shí)現(xiàn)動態(tài)數(shù)據(jù)熱力圖城市找不到問題解決

    詳解用pyecharts Geo實(shí)現(xiàn)動態(tài)數(shù)據(jù)熱力圖城市找不到問題解決

    這篇文章主要介紹了詳解用pyecharts Geo實(shí)現(xiàn)動態(tài)數(shù)據(jù)熱力圖城市找不到問題解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • python數(shù)據(jù)封裝json格式數(shù)據(jù)

    python數(shù)據(jù)封裝json格式數(shù)據(jù)

    本次內(nèi)容是小編在網(wǎng)上整理的關(guān)于如何python數(shù)據(jù)封裝json格式的內(nèi)容總結(jié),有興趣的讀者們參考下。
    2018-03-03
  • 基于python cut和qcut的用法及區(qū)別詳解

    基于python cut和qcut的用法及區(qū)別詳解

    今天小編就為大家分享一篇基于python cut和qcut的用法及區(qū)別詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • allure結(jié)合python生成測試報告教程

    allure結(jié)合python生成測試報告教程

    這篇文章主要介紹了allure結(jié)合python生成測試報告教程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Python內(nèi)置方法實(shí)現(xiàn)字符串的秘鑰加解密(推薦)

    Python內(nèi)置方法實(shí)現(xiàn)字符串的秘鑰加解密(推薦)

    在Python中實(shí)現(xiàn)AES算法需要借助的第三方庫Crypto,其在各個操作系統(tǒng)上的安裝方法有些許復(fù)雜,所以對于簡單的使用有點(diǎn)殺雞用牛刀的意思。這篇文章主要介紹了利用Python內(nèi)置方法實(shí)現(xiàn)字符串的秘鑰加解密,需要的朋友可以參考下
    2019-12-12
  • python將dict中的unicode打印成中文實(shí)例

    python將dict中的unicode打印成中文實(shí)例

    這篇文章主要介紹了python將dict中的unicode打印成中文實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • python中前綴運(yùn)算符 *和 **的用法示例詳解

    python中前綴運(yùn)算符 *和 **的用法示例詳解

    這篇文章主要介紹了python中前綴運(yùn)算符 *和 **的用法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2020-05-05
  • python爬蟲基礎(chǔ)之簡易網(wǎng)頁搜集器

    python爬蟲基礎(chǔ)之簡易網(wǎng)頁搜集器

    這篇文章主要介紹了python爬蟲基礎(chǔ)之簡易網(wǎng)頁搜集器,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)python爬蟲的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • Python文件路徑處理模塊pathlib示例詳解

    Python文件路徑處理模塊pathlib示例詳解

    pathlib是跨平臺的、面向?qū)ο蟮穆窂讲僮髂K,可適用于不同的操作系統(tǒng),其操作對象是各種操作系統(tǒng)中使用的路徑,下面這篇文章主要給大家介紹了關(guān)于Python文件路徑處理模塊pathlib的相關(guān)資料,需要的朋友可以參考下
    2023-04-04
  • Softmax函數(shù)原理及Python實(shí)現(xiàn)過程解析

    Softmax函數(shù)原理及Python實(shí)現(xiàn)過程解析

    這篇文章主要介紹了Softmax函數(shù)原理及Python實(shí)現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-05-05

最新評論