作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试对以下 BST 进行层序遍历。
BST bst = new BST();
int [] arr = {12, 15, 7, 3, 81, 9, 36, 23, 33, 41, 4};
for (int i = 0; i <arr.length; i++) {
bst.add(arr[i]);
}
这是我的代码。
public static void levelOrderTraversal(Node root){
if(root == null) return;
Queue<Node> queue = new ArrayDeque<Node>();
queue.add(root);
while(!queue.isEmpty()){
Node current = queue.peek();
System.out.print(current.getData() + " ");
if (current.left != null)
queue.add(current.left);
if (current.right != null){
queue.add(current.right);
}
queue.poll();
}
}
我得到的输出是
12 7 15 3 9 81 4 36 23 41 33
这显然不是正确的 BFS。我哪里错了。
最佳答案
你的遍历函数是正确的。您可能需要查看此在线工具
https://www.cs.usfca.edu/~galles/visualization/BST.html
它还提供插入、删除和查找过程的可视化。这是生成的树:
关于java - Java中BST的层序遍历,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28075175/
我是一名优秀的程序员,十分优秀!