-1

私はしばらくこれに座っています。二分探索木で、幅優先トラバーサルを実行すると、何をするかわからないコードが 1 行あります。教科書で使用しているコードは次のとおりです。

public void breadthFirst()
    {
        BSTNode<T> p = root;
        Queue<BSTNode<T>> queue = new Queue<BSTNode<T>>();
        if(p != null)
        {
            queue.enqueue(p); 
        while(!queue.isEmpty()) 
        {
            **p = queue.dequeue();**  
            visit(p); 
            if(p.left != null)
            {
                queue.enqueue(p.left);
            }
            if(p.right != null)
            {
                 queue.enqueue(p.right);
                }
               }
    }
}
4

1 に答える 1

0

キューには、訪問する必要があるノードが含まれています。ノードにアクセスする前に、そのノードをキューから取り出し (デキュー)、再度アクセスされないようにします。

于 2013-11-14T08:29:02.993 に答える