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