數(shù)據(jù)結(jié)構(gòu)之廣度優(yōu)先搜索

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());
            }
        }
    }


}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容