? ? ? 樹(shù)結(jié)構(gòu)本身是一種天然的組織結(jié)構(gòu)处面,這里的二叉樹(shù)具有天然的遞歸結(jié)構(gòu)厂置,歸根于二叉樹(shù)具有以下特點(diǎn):
1,二叉樹(shù)的每個(gè)節(jié)點(diǎn)最多有2個(gè)子節(jié)點(diǎn)魂角;
2昵济,二叉樹(shù)的每個(gè)節(jié)點(diǎn)最多有1個(gè)父節(jié)點(diǎn);
3野揪,每個(gè)節(jié)點(diǎn)的左子樹(shù)也是二叉樹(shù)访忿;
4,每個(gè)節(jié)點(diǎn)的右子樹(shù)也是二叉樹(shù)斯稳;
5海铆,二叉樹(shù)的每個(gè)節(jié)點(diǎn)的值大于其左子樹(shù)的所有節(jié)點(diǎn)的值;
6平挑,二叉樹(shù)的每個(gè)節(jié)點(diǎn)的值小于其右子樹(shù)的所有節(jié)點(diǎn)的值游添;
7,二叉樹(shù)所有的節(jié)點(diǎn)存儲(chǔ)的元素必須有可比性通熄;
? ? ? ?二叉搜索樹(shù)的搜索從根節(jié)點(diǎn)開(kāi)始唆涝,如果查詢(xún)的關(guān)鍵字與根節(jié)點(diǎn)關(guān)鍵字相等則命中,否則唇辨,如果查詢(xún)關(guān)鍵字比結(jié)點(diǎn)關(guān)鍵字小廊酣,就進(jìn)入左子樹(shù);如果比結(jié)點(diǎn)關(guān)鍵字大赏枚,就進(jìn)入右子樹(shù)亡驰;如果左子樹(shù)或右子樹(shù)的指針為空,則報(bào)告找不到相應(yīng)的關(guān)鍵字饿幅。如果二叉搜索樹(shù)的左右子節(jié)點(diǎn)的數(shù)目都保持差不多(平衡)凡辱,則二叉搜索樹(shù)的搜索性能逼近二分查找;但它比連續(xù)內(nèi)存空間的二分查找的優(yōu)點(diǎn)是:增加或者刪除節(jié)點(diǎn)不需要移動(dòng)大量?jī)?nèi)存數(shù)據(jù)栗恩,甚至通常是常數(shù)開(kāi)銷(xiāo)透乾。
下面附上二叉搜索樹(shù)基本的增加和查詢(xún)的代碼:
?因篇幅有限,二叉搜索樹(shù)的刪除下一篇文章再具體分析。