二叉樹(shù)刪除根節(jié)點(diǎn)后怎么調(diào)整 如何刪除一棵普通二叉樹(shù)的葉子結(jié)點(diǎn)?
如何刪除一棵普通二叉樹(shù)的葉子結(jié)點(diǎn)?首先要知道要?jiǎng)h除的子節(jié)點(diǎn)的地址和父節(jié)點(diǎn)的地址。父節(jié)點(diǎn)的地址應(yīng)該存儲(chǔ)在樹(shù)構(gòu)建過(guò)程中。此時(shí),二叉樹(shù)的節(jié)點(diǎn)應(yīng)該有三個(gè)指針:指向左子節(jié)點(diǎn)的指針、指向右子節(jié)點(diǎn)的指針和指向父節(jié)點(diǎn)
如何刪除一棵普通二叉樹(shù)的葉子結(jié)點(diǎn)?
首先要知道要?jiǎng)h除的子節(jié)點(diǎn)的地址和父節(jié)點(diǎn)的地址。父節(jié)點(diǎn)的地址應(yīng)該存儲(chǔ)在樹(shù)構(gòu)建過(guò)程中。此時(shí),二叉樹(shù)的節(jié)點(diǎn)應(yīng)該有三個(gè)指針:指向左子節(jié)點(diǎn)的指針、指向右子節(jié)點(diǎn)的指針和指向父節(jié)點(diǎn)的指針(定義結(jié)構(gòu)時(shí)請(qǐng)注意)。找到父節(jié)點(diǎn)時(shí),葉節(jié)點(diǎn)的地址用于確定該葉節(jié)點(diǎn)是父節(jié)點(diǎn)的左子節(jié)點(diǎn)還是右子節(jié)點(diǎn)。如果是左子節(jié)點(diǎn),則父節(jié)點(diǎn)到左子節(jié)點(diǎn)的指針值設(shè)置為null,否則父節(jié)點(diǎn)到右子節(jié)點(diǎn)的指針值設(shè)置為null。然后我們可以釋放要?jiǎng)h除的葉節(jié)點(diǎn)。這是刪除的基本思想。建議建立二叉樹(shù)并用代碼實(shí)現(xiàn)。