zoukankan      html  css  js  c++  java
  • 二叉排序树

    二叉排序树(简称BST),也称为二叉查找树。二叉排序树或者为一颗空树,或者为一颗具有下列特性的飞空二叉树:

    1.若左子树非空,则左子树上所有节点的关键字均小于根节点的关键字值。

    2.若右子树非空,则右子树上所有节点的关键字均小于根节点的关键字值。

    3.左右子树本身也是一颗二叉排序树。

    /********************二叉排序树********************************/

    void BST(BiTree &T)
    {
        ElemType x;
        cin>>x;
        while(x!=0)
        {
            CreateBST(T,x);
            cin>>x;
        }
    }

    int CreateBST(BiTree &T,ElemType x)
    {

        if(T==NULL)
        {
            T=new BiTNode;
            T->data=x;
            T->lchild=NULL;
            T->rchild=NULL;
            return 1;
        }
        else
        {
            if(x>T->data)
                CreateBST(T->rchild,x);
            else if(x==T->data)
                return 0;
            else
                CreateBST(T->lchild,x);
        }
    }

    void BST_Search(BiTree &T,ElemType x,int &n)
    {
        if(T)
        {
            n++;
            if(x>T->data)
                BST_Search(T->rchild,x,n);
            else if(x==T->data)
                cout<<"I Find It"<<n<<endl;
            else
                BST_Search(T->lchild,x,n);
        }
        else
        {
            cout<<"I cant't find it"<<endl;
        }
    }

  • 相关阅读:
    Docker 容器默认root账号运行,很不安全!
    Prometheus阅读目录
    linux修改SSH远程登录端口 服务器安全篇
    linux 部署出现Fatal error: Class 'DOMDocument' not found。
    mysql开启远程访问权限
    linux 重置mysql 密码
    推送(极光推送)
    linux 搭建SVN
    C语言词频统计设计
    读《构建之法》有感
  • 原文地址:https://www.cnblogs.com/hutao886/p/4499287.html
Copyright © 2011-2022 走看看