trie树Python模板
时间: 2024-04-09 21:25:40 浏览: 115
当然,我可以为您介绍一下Trie树的Python模板。
Trie树,也称为字典树或前缀树,是一种用于高效存储和检索字符串的数据结构。下面是一个基本的Trie树的Python模板:
```python
class TrieNode:
def __init__(self):
self.children = {}
self.is_word = False
class Trie:
def __init__(self):
self.root = TrieNode()
def insert(self, word):
node = self.root
for char in word:
if char not in node.children:
node.children[char] = TrieNode()
node = node.children[char]
node.is_word = True
def search(self, word):
node = self.root
for char in word:
if char not in node.children:
return False
node = node.children[char]
return node.is_word
def startsWith(self, prefix):
node = self.root
for char in prefix:
if char not in node.children:
return False
node = node.children[char]
return True
```
在上面的代码中,我们定义了两个类:`TrieNode`和`Trie`。`TrieNode`表示Trie树的节点,包含一个字典用于存储子节点和一个布尔值`is_word`表示当前节点是否为一个单词的结束节点。`Trie`表示整个Trie树,包含一个根节点`root`。
在`Trie`类中,我们实现了三个方法:
- `insert(word)`:将一个单词插入到Trie树中。
- `search(word)`:判断一个单词是否存在于Trie树中。
- `startsWith(prefix)`:判断是否存在以给定前缀开头的单词。
这就是一个基本的Trie树的Python模板。您可以根据需要进行扩展和修改。
阅读全文