資料結構 二叉搜尋樹

2021-10-09 10:11:17 字數 1290 閱讀 6064

二叉查詢樹性質:對於數中的每個節點x,其左子樹中所有關鍵字值小於x關鍵字值,而其右子樹所有關鍵字值大於x的關鍵字值

二叉查詢樹的建立,查詢,插入,刪除:

struct treenode;

typedef

struct treenode *position;

typedef

struct treenode *searchtree;

searchtree makeempty

(searchtree tree)

;position find

(elementtype x,searchtree tree)

;position findmin

(searchtree tree)

;position findmax

(searchtree tree)

;searchtree insert

(elementtype x,searchtree tree)

;searchtree delete

(elementtype x,searchtree tree)

;struct treenode

;//建立一棵空樹

searchtree makeempty

(searchtree tree)

return

null;}

//返回指向樹中具有資料x的節點的指標

position find

(elementtype x,searchtree tree)

return null;

*/}//返回指向樹中最小元節點的指標

position findmin

(searchtree tree)

//返回指向樹中最大元節點的指標

position findmax

(searchtree tree)

//將x插入到樹中

searchtree insert

(elementtype x,searchtree tree)

}else

}//刪除節點x

searchtree delete

(elementtype x,searchtree tree)

//最後一種是要刪除的節點有乙個或者沒有兒子

/*如果被刪除的節點是樹葉,可以直接刪除,如果有乙個兒子,那

麼調整其父節點的指向即可

*/else

return tree;

}

二叉搜尋樹c 資料結構二叉搜尋樹

在n個動態的整數中搜尋某個整數?檢視其是否存在 假設使用動態陣列存放元素,從第 0 個位置開始遍歷搜尋,平均時間複雜度 o n 如果維護乙個有序的動態陣列,使用二分搜尋,最壞時間複雜度 o logn 但是新增 刪除的平均時間複雜度是 o n 針對這個需求,有沒有更好的方案?今天我們主要講的就是二叉搜...

資料結構(二叉搜尋樹)

二叉搜尋樹是一種可以高效完成以下操作的樹型的資料結構 插入乙個值 查詢是否含有某個值 刪除某個值 它儲存節點的資料資訊時,遵循以下規則,左子樹的值 根節點值 右子樹的值 下面是基本的二叉搜尋樹的實現 include include include includeusing namespace std...

資料結構 二叉搜尋樹

二叉搜尋樹的所有節點都滿足左子樹上的所有節點都比自己小,而右子樹上的所有節點都比自己大這一條件。當刪除某個節點時,需要根據下面幾種情況分別進行處理 需要刪除的節點沒有左兒子,那麼就把右兒子提上去。需要刪除的節點的左兒子沒有右兒子,那麼就把左兒子提上去。以上兩種情況都不滿足的話,就把左兒子的子孫 左子...