我对数据结构(Trie)具有以下实现,并且按预期方式工作。我有主类Node
和包装器类Trie
。我想将功能_insert()
从Node
类移到Trie
类,以使Node
尽可能简单。但是我遇到了许多问题,例如class Trie has no object nodes and no object word.
,有没有一种方法可以在不从主对象传递调用对象的情况下进行呢?
期望:
trie.insert("Hi")
Trie类中insert()
的所有实现
class Node:
def __init__(self):
self.word = None
self.nodes = {}
def _insert(self, word, string_pos=0):
current_lettter = word[string_pos]
if current_lettter not in self.nodes:
self.nodes[current_lettter] = Node()
if(string_pos + 1 == len(word)):
self.nodes[current_lettter].word = word
else:
self.nodes[current_lettter]._insert(word, string_pos + 1)
return True
class Trie:
def __init__(self):
self.root = Node()
def insert(self, word):
self.root._insert(word)
trie = Trie()
trie.insert("Hi")
答案 0 :(得分:0)
Trie类(已实现)没有对象节点,也没有对象词。
Trie类只有root.nodes和root.word对象。