1. 程式人生 > >二叉樹的建立與遍歷(遞迴實現)

二叉樹的建立與遍歷(遞迴實現)

在[樹的基本概念和術語總結](https://mp.weixin.qq.com/s/81uVCgwBlMII0NNCvTqNhw)一文中介紹了二叉樹的基本結構。 在[不知道怎樣用遞迴?按步驟來!](https://mp.weixin.qq.com/s/282O6tFppTuKKrY4zBQNHA)一文中介紹瞭如何使用遞迴。 二叉樹的結構是遞迴的,所以建立、遍歷也可以通過遞迴實現。 下面是一顆二叉樹: ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20200619144702322.png#pic_center) 結點的定義: ```java public class Node { Integer value; Node leftChild; Node rightChild; public Node(Integer value) { this.value = value; } } ``` # 建立 ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20200619144805738.gif#pic_center) 各個結點的值用一個`ArrayList`集合來儲存,根據該集合來建立二叉樹。 按照[不知道怎樣用遞迴?按步驟來!](https://mp.weixin.qq.com/s/282O6tFppTuKKrY4zBQNHA)中的方法分析如何遞迴地建立一顆二叉樹。 > 第一步:找到大問題是什麼? 建立一顆二叉樹。 ```java private Node createBinaryTree(A