我一直坐在这个上一段时间。在二进制搜索树中,当您进行广度优先遍历时,有一行代码我不知道它的作用。在教科书中我使用的代码如下。
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);
}
}
}
}
答案 0 :(得分:0)
Queue包含我们必须访问的节点。在我们访问节点之前,我们将其从队列中取出(出队),以便不再访问它。