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)
こんにちはを返しますので、私は、このトライオブジェクトを反復処理しようとしていますが、私はトラブルその値を反復を持っています。データ構造はノードを保持し、 各ノードは1つの文字値とその子(ノード= {}に保持されている)のdictという2つの値を保持します。
現在、AttributeErrorが表示されています。strには、「curr_node.nodesのノード」という行に属性ノードがありません。 理由を理解できないようです。私はタイプNodeを返すルートノードのタイプをチェックしました。クラスdictを返したキューのノードオブジェクトの最初の値の型を調べました。しかし、私はそのdictを反復しようとすると 私は属性のエラーを取得します。 *私は、dictの各キーがノードとペアになっていることも知っています。
私は正しくdictsを繰り返していますか?ここで
*は、最初の呼び出しは、どこに問題伝えるそのハード、ノードのクラス定義を見ることなく trie.BFS(trie.root.nodes [ '#'])
おかげ
"キューのノードオブジェクトの最初の値のタイプを確認しました" - 何をお話していますか? 'type(queue)'だけを表示しました。 – user2357112
申し訳ありませんが、省略されたコード行です:クラスdictを返した 'print(type(queue [0] .nodes))'をタイプしました – tadpolili