Python數(shù)據(jù)結(jié)構(gòu)與算法之字典樹實現(xiàn)方法示例
本文實例講述了Python數(shù)據(jù)結(jié)構(gòu)與算法之字典樹實現(xiàn)方法。分享給大家供大家參考,具體如下:
class TrieTree(): def __init__(self): self.root = {} def addNode(self,str): # 樹中每個結(jié)點(除根節(jié)點),包含到該結(jié)點的單詞數(shù),以及該結(jié)點后面出現(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é)點 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] # 匹配當前結(jié)點,轉(zhuǎn)下一個結(jié)點 # 到了這一步證明單詞存在 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īng)典教程》
希望本文所述對大家Python程序設(shè)計有所幫助。
- Python數(shù)據(jù)結(jié)構(gòu)與算法之完全樹與最小堆實例
- Python數(shù)據(jù)結(jié)構(gòu)與算法之二叉樹結(jié)構(gòu)定義與遍歷方法詳解
- python數(shù)據(jù)結(jié)構(gòu)之二叉樹的統(tǒng)計與轉(zhuǎn)換實例
- python數(shù)據(jù)結(jié)構(gòu)之二叉樹的遍歷實例
- python數(shù)據(jù)結(jié)構(gòu)之二叉樹的建立實例
- python數(shù)據(jù)結(jié)構(gòu)樹和二叉樹簡介
- Python數(shù)據(jù)結(jié)構(gòu)樹與算法分析
相關(guān)文章
詳解用pyecharts Geo實現(xiàn)動態(tài)數(shù)據(jù)熱力圖城市找不到問題解決
這篇文章主要介紹了詳解用pyecharts Geo實現(xiàn)動態(tài)數(shù)據(jù)熱力圖城市找不到問題解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-06-06python數(shù)據(jù)封裝json格式數(shù)據(jù)
本次內(nèi)容是小編在網(wǎng)上整理的關(guān)于如何python數(shù)據(jù)封裝json格式的內(nèi)容總結(jié),有興趣的讀者們參考下。2018-03-03Python內(nèi)置方法實現(xiàn)字符串的秘鑰加解密(推薦)
在Python中實現(xiàn)AES算法需要借助的第三方庫Crypto,其在各個操作系統(tǒng)上的安裝方法有些許復(fù)雜,所以對于簡單的使用有點殺雞用牛刀的意思。這篇文章主要介紹了利用Python內(nèi)置方法實現(xiàn)字符串的秘鑰加解密,需要的朋友可以參考下2019-12-12Softmax函數(shù)原理及Python實現(xiàn)過程解析
這篇文章主要介紹了Softmax函數(shù)原理及Python實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-05-05