本例題將介紹一種建立二叉樹的算法。同時(shí)介紹對(duì)“遍歷算法”靈活應(yīng)用:將二叉樹中每個(gè)結(jié)點(diǎn)的左右子樹進(jìn)行交換。介紹求二叉樹深度的算法。 二叉樹的建立是一個(gè)遞歸方法,與二叉樹先序遍歷思路有點(diǎn)相似。數(shù)據(jù)的組織是先序遍歷的順序,但是當(dāng)某結(jié)點(diǎn)的某孩子為空時(shí)以數(shù)據(jù)0來充當(dāng),也要輸入。結(jié)合右圖的二叉樹,其數(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)的左右子樹。