[模板]二叉搜索树

Posted lihepei

tags:

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

tips:模板是写给自己的,所以大家可能有些看不懂,请移步参观其他dalao的模板。

一、结点构造

struct Node
{
    int data,lson,rson;
}A[N];

二、插入insert

void insert(int w_pos,int pos)
{
    if(A[w_pos].data<A[pos].data){
        if(!A[pos].lson)A[pos].lson=w_pos;
        else insert(w_pos,A[pos].lson);
    }
    else{
        if(!A[pos].rson)A[pos].rson=w_pos;
        else insert(w_pos,A[pos].rson);
    }
    return;
}

三、查找find

查找最小数

int find(int pos)
{
    if(!A[pos].lson)return pos;
    find(A[pos].lson);
}

查找最大数

int find(int pos)
{
    if(!A[pos].rson)return pos;
    return find(A[pos].rson);
}

四、删除clear

我不会呀啊啊啊啊啊,所以还没写耶,以后有时间会补的。——2018.11.28

 

以上是关于[模板]二叉搜索树的主要内容,如果未能解决你的问题,请参考以下文章

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

二叉树面试题刷题模板(终极版)

[模板]二叉搜索树

[C++]二叉搜索树

二叉搜索树(模板)

LeetCode810. 黑板异或游戏/455. 分发饼干/剑指Offer 53 - I. 在排序数组中查找数字 I/53 - II. 0~n-1中缺失的数字/54. 二叉搜索树的第k大节点(代码片段