創建鏈式二叉樹

創建二叉樹

二叉樹的鏈式存儲結構是指用鏈表來表示一棵二叉樹,即用鏈表來指示元素之間的邏輯關係。

二叉鏈表存儲,鏈表中每個節點有三個域組成,除了數據域外,還有兩個引用域,分別用來給出該

節點左孩子和右孩子所在的鏈節點的存儲地址。

二叉樹節點存儲結構
在這裏插入圖片描述
其中,data域存放某節點的數據信息;Lchild與rchild分別存放指向左孩子和右孩子的引用,當左孩子

或右孩子不存在時,相應引用域爲空(用符號 ^ 或Null表示)。

有時爲了操作方便,也可以爲二叉鏈表加上一個頭結點,根節點的引用存放在頭結點的左孩子引用

域,右孩子引用域置爲空。

二叉樹鏈式存儲結構示意圖
在這裏插入圖片描述

代碼展示

package demo5;

public class BinaryTree {

    TreeNode root;

    //設置根節點
    public void setRoot(TreeNode root){
        this.root = root;
    }

    //獲取根節點
    public TreeNode getRoot(){
        return root;
    }
}
package demo5;

public class TreeNode {
    //節點的權
    int value;
    //左兒子
    TreeNode leftNode;
    //右兒子
    TreeNode rightNode;

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

    //設置左兒子
    public void setLeftNode(TreeNode leftNode) {
        this.leftNode = leftNode;
    }

    //設置右兒子
    public void setRightNode(TreeNode rightNode) {
        this.rightNode = rightNode;
    }
}
package demo5;

public class TestBinaryTree {

    public static void main(String[] args) {
        //創建一棵樹
        BinaryTree binaryTree = new BinaryTree();
        //創建一個根節點
        TreeNode root = new TreeNode(1);
        //把根節點賦給樹
        binaryTree.setRoot(root);
        //創建一個左節點
        TreeNode rootL = new TreeNode(2);
        //把新創建的節點設置爲根節點的子節點
        root.setLeftNode(rootL);
        //創建一個右節點
        TreeNode rootR = new TreeNode(3);
        //把新創建的節點設置爲根節點的子節點
        root.setRightNode(rootR);
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章