YufanPaPa / trie

Data structure and relevant algorithms for extremely fast prefix/fuzzy string searching in Python.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Coverage Status 代码

给定动漫词汇的list和一堆对话数据,如果某条对话数据中包含list中的词汇,那么就把这条对话数据存储下来

Trie

Data structure and relevant algorithms for extremely fast prefix/fuzzy string searching in Python.

Trie

Usage

Node

  • val
  • children
  • parent
  • depth

Trie

  • Get Trie size:
trie.size
  • Create Trie:
trie = Trie()
  • Add key:
trie.add("test")
  • Remove key:
trie.remove("test")
  • Find key:
trie.find("test")
  • Dfs search alphabets:
trie.dfs()
  • Bfs search alphabets:
trie.bfs()
  • Traverse all tree
trie.traverse()
  • Prefix Search(if does not have this prefix, then return all value of tree)
trie.prefix_search("te")
  • Fast test for valid prefix:
trie.has_key_with_prefix("t")
  • get prefix of the word
trie.get_prefix("testing")  # 返回test
  • Cmp tree
trie1 == trie2
trie1 > trie2
trie1 < trie2
  • If item in trie
"test" in trie
  • Most used alphabet(property)
trie.most_used_alphabet
  • Least used alphabet(property)
trie.least_used_alphabet
  • Alphabet count
trie.alphabet_count()

To do

  • Fuzzy search
trie.fuzzy_search('es')
  • Longest word(property)
trie.longest_word
  • Shortest word(property)
trie.shortest_word
  • Testing Case(Big data)

Author

SkyRover

About

Data structure and relevant algorithms for extremely fast prefix/fuzzy string searching in Python.


Languages

Language:Python 100.0%