91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

用java實現二叉樹的遍歷算法

發布時間:2020-04-03 15:34:56 來源:網絡 閱讀:218 作者:qq5dda6ecead5a8 欄目:編程語言

用java實現二叉樹的遍歷算法
用java實現二叉樹的遍歷算法,編寫二叉樹類BinaryTree
代碼如下:
package package2;

public class BinaryTree {

int data; //根節點數據
BinaryTree left; //左子樹
BinaryTree right; //右子樹

public BinaryTree(int data) //實例化二叉樹類
{
this.data = data;
left = null;
right = null;
}

public void insert(BinaryTree root,int data){ //向二叉樹中插入子節點
if(data>root.data) //二叉樹的左節點都比根節點小
{
if(root.right==null){
root.right = new BinaryTree(data);
}else{
this.insert(root.right, data);
}
}else{ //二叉樹的右節點都比根節點大
if(root.left==null){
root.left = new BinaryTree(data);
}else{
this.insert(root.left, data);
}
}
}

}

當建立好二叉樹類后可以創建二叉樹實例,并實現二叉樹的先根遍歷,中根遍歷,后根遍歷,代碼如下:

package package2;

public class BinaryTreePreorder {

public static void preOrder(BinaryTree root){ //先根遍歷
if(root!=null){
System.out.print(root.data+"-");
preOrder(root.left);
preOrder(root.right);
}
}

public static void inOrder(BinaryTree root){ //中根遍歷

if(root!=null){
inOrder(root.left);
System.out.print(root.data+"--");
inOrder(root.right);
}
}

public static void postOrder(BinaryTree root){ //后根遍歷

if(root!=null){
postOrder(root.left);
postOrder(root.right);
System.out.print(root.data+"---");
}
}

public static void main(String[] str){
int[] array = {12,76,35,22,16,48,90,46,9,40};
BinaryTree root = new BinaryTree(array[0]); //創建二叉樹
for(int i=1;i<array.length;i++){
root.insert(root, array[i]); //向二叉樹中插入數據
}
System.out.println("先根遍歷:");
preOrder(root);
System.out.println();
System.out.println("中根遍歷:");
inOrder(root);
System.out.println();
System.out.println("后根遍歷:");
postOrder(root);

當運行上面的程序后結果如下:

先根遍歷:
12-9-76-35-22-16-48-46-40-90-
中根遍歷:
9--12--16--22--35--40--46--48--76--90--
后根遍歷:
9---16---22---40---46---48---35---90---76---12---
喜歡這樣文章的可以關注我,我會持續更新,你們的關注是我更新的動力!需要更多java學習資料的也可以私信我!
祝關注我的人都:身體健康,財源廣進,福如東海,壽比南山,早生貴子,從不掉發!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

榆社县| 崇阳县| 石狮市| 芒康县| 北票市| 准格尔旗| 军事| 莱芜市| 平定县| 隆德县| 林芝县| 武乡县| 太湖县| 临高县| 缙云县| 团风县| 桂林市| 台北县| 峨边| 杭锦旗| 安义县| 巴南区| 石泉县| 宣武区| 收藏| 兰坪| 九龙县| 安陆市| 京山县| 南和县| 呼图壁县| 渭南市| 绥宁县| 龙江县| 金塔县| 会泽县| 耒阳市| 二连浩特市| 汶上县| 静乐县| 济源市|