本例題將介紹一種建立二叉樹的算法。同時介紹對“遍歷算法”靈活應用:將二叉樹中每個結(jié)點的左右子樹進行交換。介紹求二叉樹深度的算法。
二叉樹的建立是一個遞歸方法,與二叉樹先序遍歷思路有點相似。數(shù)據(jù)的組織是先序遍歷的順序,但是當某結(jié)點的某孩子為空時以數(shù)據(jù)0來充當,也要輸入。結(jié)合右圖的二叉樹,其數(shù)據(jù)的輸入順序應該是:
1 2 4 0 0 0 3 5 0 7 0 0 6 8 0 0 9 0 0。
若當前數(shù)據(jù)不為0,則申請一個結(jié)點存入當前數(shù)據(jù)。如果輸入0表明是空(NULL),不分配結(jié)點。遞歸調(diào)用建立函數(shù),建立當前結(jié)點的左右子樹。
標簽:
二叉樹
算法
樹
遞歸
上傳時間:
2014-01-24
上傳用戶:zhaiye