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;
        }
    }

  • 相关阅读:
    stm32 usart 串口
    stm32 usart 串口
    stm32 PWM
    stm32 PWM
    stm32 定时器 通用定时器
    stm32 定时器 通用定时器
    stm32 外部中断
    linux+jre+apache+mysql+tomcat调优
    Cent OS服务器配置(JDK+Tomcat+MySQL)
    linux---文本编辑vi
  • 原文地址:https://www.cnblogs.com/hutao886/p/4499287.html
Copyright © 2011-2022 走看看