二叉排序樹有兩種刪除結點的思路:
del1是非遞迴版,按照思路進行
del2是遞迴版
}
注意:
del3為非遞迴
del4為遞迴
此方法由於可能改變root位置(即在刪除根節點的時候),需要格外注意root需要實際意義上的改變
(即直接對root改變)
上一種方法只改變了root值,實際並未改變結點位置,所以不需注意實際意義的改變。
(p=root,p.data=1 則root.data=1; p=p.lchild,但root仍然不變,變的是p,要想使root也變,
需要使用返回值返回,將結點掛在父節點上(如果刪除的是root,沒有父節點則無法使root改變 )或者在函式最後使root=p)
上方**用到的獲取樹最大值 **如下:
public bitreenode getmax2
(bitreenode p)
if(p.rchild == null)
return
getmax2
(p.rchild)
;}
樹與二叉樹的應用 二叉排序樹
1 二叉排序樹的定義 二叉排序樹 簡稱 bst 也稱為 二叉查詢樹 二叉查詢樹或者是一棵空樹,或者是一棵具有下列 特性的非空二叉樹 a.若左子樹非空,則左子樹上所有結點關鍵字值均小於根結點的關鍵字值 b.若右子樹非空,則右子樹上所有結點關鍵子值均大於根結點的關鍵字值 c.左 右子樹本身也分別是一棵二...
二叉樹,完全二叉樹,滿二叉樹,二叉排序樹
二叉樹 二叉樹是每個節點最多有兩個子樹的樹結構 是n n 0 個結點的有限集合,它或者是空樹 n 0 或者是由乙個根結點及兩顆互不相交的 分別稱為左子樹和右子樹的二叉樹所組成。完全二叉樹 除最後一層外,每一層上的結點數均達到最大值 在最後一層上只缺少右邊的若干結點 樹中所含的n個節點和滿二叉樹中編號...
二叉樹的應用 二叉排序樹 選擇樹 判定樹
這就要提到外部排序了。因為記憶體的空間不足,有時候不能將排序的全部內容都放在記憶體中完成,就像是新學期老師按身高排座位,教室內站不開就要到外面排隊。但計算機還有一些附加條件,比如外面空間有限,所以排身高只能在室內進行,所以呢,人們就將外存中的資料分為幾組,在記憶體中排好了然後合併。這個時候,選擇樹就...