目录
前言
结点的封装与有序二叉树的构建:
实现
结点类名称:TreeNode
结点类中的数据
private TreeNode leftTreeNode;
private TreeNode rightTreeNode;
private Integer value;
编写方法
//广度优先遍历
public void levelOrder() {
LinkedList<TreeNode> queue = new LinkedList();
queue.add(root);
while (!queue.isEmpty()) {
root = queue.pop();
if (root.getLeftTreeNode() != null) {
queue.add(root.getLeftTreeNode());
}
if (root.getRightTreeNode() != null) {
queue.add(root.getRightTreeNode());
}
System.out.println(root.getValue() + " ");
}
}
编写测试类
package com.mine.tree;
public class Test {
public static void main(String[] args) {
BinaryTree bt = new BinaryTree();
bt.insertDiGui(bt.root,5);
bt.insertDiGui(bt.root,7);
bt.insertDiGui(bt.root,4);
bt.insertDiGui(bt.root,2);
bt.insertDiGui(bt.root,0);
bt.insertDiGui(bt.root,3);
//广度优先遍历
bt.levelOrder();
}
}
结果