witheredwood -
二叉樹中遞歸遇到的問題
本篇文章以求二叉樹中的最大值和最小值的最大差值為例,記錄一下遞歸中遇到的問題,是遞歸時的參數問題,什麼時候需要把變量放在參數中,什麼時候需要把變量定義為全局變量。
變量定義為全局變量
以下面的二叉樹為例,求整棵樹中的節點的值的最大差值,也就是求出最大值和最小值。
前序遍歷的過程如下:
圖中圓圈中記錄的是結點的訪問順序,前序的遍歷順序和訪問順序相同。
走到結點 1 (遍歷結點),記錄下當前的最大值
遞歸
,
二叉樹
witheredwood -
二叉樹和樹的小問題
先大概説一下二叉樹的基本內容。
1. 二叉樹
什麼是二叉樹?
二叉樹是一種樹形結構,每個結點最多兩棵子樹,而且子樹有左右之分,次序不能顛倒。左右子樹也是一棵二叉樹。
1.1 二叉樹的存儲
二叉樹可以用數組和鏈表存儲。
1)順序存儲
使用一組地址連續的存儲單元依次自上而下,自左而右的順序存儲二叉樹上的結點。簡單來説,就是用數組存儲,存二叉樹的順序是從上到下,從左到右。
順序存儲方式適合完全二叉樹或滿
數據結構
,
二叉樹