今天下午看了二叉樹的三種遍歷方式,雖然能寫出**,但是理解可能不太到位,感覺很容易忘,所以想到乙個形象的方法,把每個節點當作公交車站,而訪問節點則是在這個公交車站撿垃圾,右子樹和左子樹則表示岔路。然後這個撿垃圾的人鍾愛左邊這個方向,所以一直以左優先。甲乙丙三個人,都愛撿垃圾,但是思考方式不同,所以撿垃圾的方法有點不同。先序遍歷最簡單,秉承的原則是,甲很小心謹慎,每次經過公交車站,怕別人撿了,都把垃圾先撿到手,直到左邊的路走完了,再往回走,但是回來的過程中,在公交車站,看到右邊還有條公路,就去這條路上按照他的原則撿垃圾, 撿完了之後再回到原來的路上,繼續回去。如下圖
乙這個人,有點小聰明,他覺得一開始就把垃圾撿了,那豈不是很重,所以他先走到左邊的盡頭,再撿垃圾,這個過程中把路記下來了,然後在回來的過程中,遇到公交車站,撿完垃圾,如果是岔路,繼續往右邊走。右邊的撿完了,回到主路繼續向之前的公交車站走。
丙更聰明了,他往左走的時候,先記下公交車站,然後再記下來右邊有條路(但是這條路沒走過,不知道有沒有垃圾,所以不能直接撿,),這樣回來撿垃圾的路上,想起來右邊還有條路,於是繼續去右邊這條路找垃圾,當右邊這條路找完了,遇到公交車站,把這個公交車站的垃圾撿了,繼續往回走。
二叉樹的三種遍歷
重新又看了一遍二叉樹 binary tree 發現很多東西自己還沒有弄明白,原來三種遍歷方式還不是自己想象中的那樣 前序遍歷 preorder 是先輸出自己,然後左,最後右。中序遍歷 inorder 是先左,再輸出自己,最後右。後序遍歷 postorder 是先左,再右,最後輸出自己。所謂的xx遍歷...
二叉樹的三種遍歷
在這裡說一下二叉樹的三種遍歷 前序,中序,後序 正文 前序遍歷 是指先從根開始,再依次找尋左子結點 右子結點。學習時的經驗就是 看圖學習 第乙份圖 這樣看來 1.先找最基本的根結點 詞窮 這裡是a。2.接著找以a為根結點的左子結點,這裡是b。3.而以b為根結點也會出現左右結點,這就又有了乙個左結點d...
二叉樹的三種遍歷
二叉樹是n n 0 個節點的有限集合,它或者是空樹 n 0 或者是有乙個根節點及兩顆不相交的且分別稱為左 右子樹的二叉樹所組成。可見,二叉樹同樣具有遞迴性質。特別需要注意的是,儘管樹和二叉樹的概念之間有許多聯絡,但它們是兩個不同的概念,樹和二叉樹之間最主要的區別是 二叉樹結點的子樹要區分左子樹和右子...