二叉查詢樹

2021-06-20 13:36:07 字數 1230 閱讀 1234

二叉查詢樹

一句話說清楚:

左邊的都比定點小,右邊的都比頂點大

想要找大於某個頂點的最小的值,以此為頂點,查右孩子,以右孩子為頂點,連續查詢左孩子,直到空,即可。

增加節點,刪除節點,查詢節點,查詢前序,後續。

下面附上我自己實現的**。

#include "stdafx.h"

#include using namespace std;

class node

};void insert(node *tree,int val)

else

}else

else

} }}

node* search(node *tree,int val)

else

else

}} }

}node *getnext(node *tree)

else

}} else

else

else

}} }

}node *getbefore(node *tree)

} else

while(true)

else

}}void showall(node *tree)

}void delete(node *node)

else

else

if(node==node->father->left)

if(node==node->father->right)

buf->father=node->father;

delete node;

node=null;

} else

else

else}}

} }}int _tmain(int argc, _tchar* argv)

showall(tree);

cout<<"\r\n";

cout<<"\r\n";

coutcout<<"\r\n";

cout<<"\r\n";

coutcout<<"\r\n";

cout<<"\r\n";

delete(tree);

showall(tree);

cout<<"\r\n";

cout<<"\r\n";

int k=0;

cin>>k;

return 0;

}

二叉樹 二叉查詢樹

構建二叉樹,判斷是否為二叉查詢樹,遞迴先序遍歷,非遞迴中序遍歷 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 這個就是最完美的樹,顧名思義,所有葉子節點都有相同的深度,並...

樹(樹,二叉樹,二叉查詢樹)

1.定義 n n 0 個結點構成的有限集合。當n 0時,稱為空樹 2.對於任一棵非空樹 n 0 它具備以下性質 1 樹中有乙個稱為 根 root 的特殊結點,用 r 表示 2 其餘結點可分為m m 0 個互不相交的有限集t1,t2,其中每個集合本身又是一棵樹,稱為原來樹的子樹。3.樹的一些性質 1 ...