Binary search tree 二叉搜索树,宽度优先遍历
我坐在这个上面已经有一段时间了。在二叉搜索树中,当你进行广度优先遍历时,有一行代码我不知道它是做什么的。在教科书中,我使用的代码如下Binary search tree 二叉搜索树,宽度优先遍历,binary-search-tree,Binary Search Tree,我坐在这个上面已经有一段时间了。在二叉搜索树中,当你进行广度优先遍历时,有一行代码我不知道它是做什么的。在教科书中,我使用的代码如下 public void breadthFirst() { BSTNode<T> p = root; Queue<BSTNode<T>> queue = new Queue<BSTNode<T>>(); if(p != null) {
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);
}
}
}
}
public void breadthFirst()
{
BSTP=根节点;
队列=新队列();
如果(p!=null)
{
排队(p);
而(!queue.isEmpty())
{
**p=queue.dequeue();**
访问(p);
如果(p.left!=null)
{
排队。排队(p.左);
}
如果(p.right!=null)
{
排队。排队(右图);
}
}
}
}
队列包含我们必须访问的节点。在访问某个节点之前,我们会将其从队列中取出(出列),这样就不会再次访问该节点 对不起,忘了提了。我遇到问题的代码是p=queue.dequeue(),它位于****之间。谢谢好了,我现在拿到了。非常感谢你!