数据结构之广度优先搜索

public class TreeNode {
    private int value;
    private  TreeNode left;
    private  TreeNode right;

    public void setValue(int value) {
        this.value = value;
    }

    public TreeNode() {
    }

    public TreeNode(int value) {
        this.value = value;
    }

    public void setLeft(TreeNode left) {
        this.left = left;
    }

    public void setRight(TreeNode right) {
        this.right = right;
    }

    @Override
    public String toString() {
        return "TreeNode{" +
                "value=" + value +
                ", left=" + left +
                ", right=" + right +
                '}';
    }

    public TreeNode getLeft() {
        return left;
    }

    public TreeNode getRight() {
        return right;
    }

    public int getValue() {
        return value;
    }
}
import java.util.LinkedList;
import java.util.Queue;
import java.util.Random;

/**
 * @author shkstart
 * @create --
 */
public class BFSTest {
    public static void main(String[] args) {
        int number[]=new int[]{12,23,45,14,2,1,25,41,25,1,2,4};
        TreeNode tree=new TreeNode(number[0]);
        Queue<TreeNode> que=new LinkedList<TreeNode>();
        que.offer(tree);
        for(int i=1;i<number.length;){
            TreeNode in=new TreeNode();
            in=que.poll();
            TreeNode left=new TreeNode();
            TreeNode right=new TreeNode();
            in.setLeft(left);
            in.setRight(right);
            left.setValue(number[i]);
            que.offer(left);
            if(i+1<number.length){
                right.setValue(number[i+1]);
                que.offer(right);
            }
            i+=2;

        }
        System.out.println(tree);
    }
    public static void show(TreeNode tree){//广度遍历
        Queue<TreeNode> que=new LinkedList<TreeNode>();
        que.offer(tree);
        for(;!que.isEmpty();){
            tree=que.poll();
            System.out.println(tree.getValue());
            if(tree.getLeft()!=null){
                que.offer(tree.getLeft());
            }
            if(tree.getRight()!=null){
                que.offer(tree.getRight());
            }
        }
    }


}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。