-1
def BFS(self, rootnode):
visited = []
queue = []
queue.append(rootnode)
while queue:
print(type(queue))
curr_node = (queue.pop())
for node in curr_node.nodes:
if node not in visited:
visited.append(node)
queue.append(node)
嗨,所以我想通過這個線索對象上進行迭代,但我無法通過其值迭代。數據結構保存節點,並且每個節點擁有兩個值,即單個字符值和其子元素的字典(其保存在nodes = {}中)。
我目前正在得到一個AttributeError:str沒有屬性節點在「curr_node.nodes中的節點:」 「我似乎無法弄清楚爲什麼。我檢查了返回類型節點的root節點的類型。我檢查了返回類字典的隊列節點對象的第一個值的類型。但是,當我嘗試遍歷該字典 時,我收到屬性錯誤。 *我也知道字典中的每個鍵都與一個節點配對。
我是否正確迭代了字典?
*這裏是初始呼叫 trie.BFS(trie.root.nodes [ '#'])
感謝
「我檢查了隊列節點對象的第一個值的類型」 - 你在說什麼?你只打印「類型(隊列)」。 – user2357112
對不起,這是一個省略的代碼行:我輸入了'print(type(queue [0] .nodes))',它返回了類字典 – tadpolili