模板二叉搜索树(二叉排序树,二叉查找树,BST)

Posted kcn999

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模板二叉搜索树(二叉排序树,二叉查找树,BST)相关的知识,希望对你有一定的参考价值。

二叉搜索树其实就是满足左结点小于根,右结点大于根这类规则的树形结构。 

 1 int n;
 2 int a[MAX_N];
 3 int lt[MAX_N], rt[MAX_N];
 4 // 没有则为-1
 5 // 默认a[0]为根结点
 6  
 7 void Insert(int x, int obj) // 插入结点a[obj] 
 8 { 
 9     if(a[obj] < a[x])
10     {
11         if(lt[x] ^ -1) Insert(lt[x], obj);
12         else lt[x] = obj;
13     }
14     else
15     {
16         if(rt[x] ^ -1) Insert(rt[x], obj);
17         else rt[x] = obj;
18     }
19     return;
20 }
21  
22 int Find(int x, int obj) // 寻找obj这个值在树中的位置 
23 {
24     if(obj < a[x])
25     {
26         if(lt[x] ^ -1) return Find(lt[x], obj);
27         else return -1; // Not found
28     }
29     if(obj > a[x])
30     {
31         if(rt[x] ^ -1) return Find(rt[x], obj);
32         else return -1; // Not found
33     }
34     return x;
35 }

 

以上是关于模板二叉搜索树(二叉排序树,二叉查找树,BST)的主要内容,如果未能解决你的问题,请参考以下文章

[数据结构]二叉搜索树(BST) VS 平衡二叉排序树(AVL) VS B树(平衡多路搜索树) VS B+树 VS 红黑树(平衡二叉B树)

二叉搜索树BST

算法小讲堂之二叉排序树|二叉搜索树|BST

二叉搜索树_BST

二叉搜索树_BST

二叉排序树BST的定义及其增删改查操作(C语言)