C 二叉搜尋樹

2021-10-01 22:39:07 字數 730 閱讀 8072

二叉搜尋樹又稱為:二叉排序樹,其也可以是乙個空樹,或者具有以下性質的樹也可以被稱為二叉搜尋樹:

1.若左子樹不為空,對於任意節點,比其左子樹中任意節點都大。

2.若右子樹不為空,對於任意節點,比其右子樹中任意節點都小。

3.最左側的節點一定是最小的,最右側的節點一定是最大的。

4.當對二叉搜尋樹進行中序遍歷,得出來的是有序序列。

二叉搜尋樹的操作

具體實現步驟以及**:二叉搜尋樹操作

二叉搜尋樹的使用場景

用來進行查詢的一棵樹

兩種模型:

1.純k模型

例子:檢測某個單詞是否拼寫正確。

用已經有的單詞構造二叉搜尋樹,自己寫乙個樹里的單詞並在裡面進行查詢,若找不到則說明自己寫錯了。(類似於,查字典)。

2.key-value—鍵值對

例子:檔案中包含了多個ip位址,知道每個ip位址出現的次數。

二叉搜尋樹效能

1.最優情況:左右子樹中的節點個數比較均勻(完全二叉樹)----o(logn)

2.最差情況:單支樹—o(n)

如果二叉搜尋樹退化為單支樹,查詢元素相當於在順序表中搜尋元素,效率低下。並且該樹失去平衡。

二叉搜尋樹 二叉搜尋樹

題目 二叉搜尋樹 time limit 2000 1000 ms j a others memory limit 32768 32768 k j a others total submission s 6945 accepted submission s 3077 problem descripti...

二叉搜尋樹c 二叉搜尋樹的遍歷

可以總結出三條性質 1 非空左子樹的所有鍵值小於根節點的鍵值。2 非空右子樹的所有鍵值大於根節點的鍵值。3 左右子樹都是二叉搜尋樹。他的遍歷有三種形式 先序遍歷 中序遍歷 後序遍歷。1 先序遍歷 根節點 左子樹 右子樹 首先訪問根節點,然後遍歷左子樹,最後右子樹。並且自遍歷左右子樹時,仍然先訪問根節...

C 二叉搜尋樹

二叉搜尋樹.include using namespace std template type class bstnode templatetype class bsttree return in bsttree vef 1 root null bsttree const bsttree bst b...