查詢二叉樹

2021-08-16 20:02:30 字數 647 閱讀 8386

定義:

二叉查詢樹(binary search tree),(又:二叉搜尋樹,二叉排序樹)它或者是一棵空樹,或者是具有下列性質的二叉樹:

① 若它的左子樹不空,則左子樹上所有結點的值均小於它的根結點的值;

② 若它的右子樹不空,則右子樹上所有結點的值均大於它的根結點的值; 

③ 它的左、右子樹也分別為二叉排序樹。

查詢二叉樹的基本操作:

查詢插入節點

在查詢二叉樹中插入乙個節點需要分以下幾種情況進行相應處理:

1、如果相同鍵值的節點已在查詢二叉樹中個,則不在插入;

2、如果查詢二叉樹為空樹,則以新節點為查詢二叉樹;

3、將要插入節點的鍵值與插入後的父節點的鍵值相比較,就能確定新節點是父節點的左子節點還是右子節點,並進行相應插入。

刪除節點

在查詢二叉樹上刪除乙個節點時,要考慮三種情況:

1、若待刪除的節點是葉子節點,則直接刪除該節點;

2、若待刪除的節點只有乙個子節點,則將這個子節點與待刪除節點的父節點直接連線,然後刪除該節點;

3、若待刪除的節點p有兩個子節點,則在其左子樹上,用中序遍歷尋找關鍵值最大的節點s,用節點s的值代替節點p的值,然後刪除節點s,節點s必屬於上述1、2情況之一。

二叉樹 二叉查詢樹

構建二叉樹,判斷是否為二叉查詢樹,遞迴先序遍歷,非遞迴中序遍歷 include include include include using namespace std 二叉樹結點 struct treenode 鍊錶結點 struct listnode struct tempnodetempnode...

二叉樹 二叉查詢樹

二叉樹 binary tree 一種樹型結構,每個節點最多擁有兩個節點。如下圖 幾種型別的二叉樹 1.full binary tree 每個節點的孩子數 是 0 或者 2.對高度沒有要求。如下圖 2.perfect binary tree 這個就是最完美的樹,顧名思義,所有葉子節點都有相同的深度,並...

二叉樹 二叉樹的查詢

三種查詢方式 前序查詢 中序查詢 後序查詢。前序查詢 比較當前節點,如果是,返回查詢結果。如果不是就向左遞迴查詢,如果左邊沒有就向右邊遞迴查詢。設定no 5,針對該題,前序遍歷共4次。中序遍歷 先向左遞迴查詢,如果左子樹沒有,再比較當前節點,如果仍然不是則向右遍歷查詢。後序遍歷 先向左遞迴查詢,如果...