数据结构与算法--树表的查找

一、二叉排序树(二叉搜索树、二叉查找树)

       1.二叉排序树的定义

         二叉排序树或是空树,或是满足如下性质的二叉树:

               (1).若其左子树非空,则左子树上所有结点的值均小于根结点的值

               (2).若其右子树非空,则右子树上所有结点的值均大于等于根结点的值

               (3).其左右子树本身又各是一棵二叉排序树

      2.二叉排序树的性质

               中序遍历非空的二叉排序树所得到的数据元素序列是一个按关键字排列的递增有序序列

      3.二叉排序树的递归查找

             1) 算法思想

           * 若二叉排序树为空,则查找失败,返回空指针

           * 若二叉排序树非空,将给定值key与根结点的关键字T->data.key进行比较:

                // 若key=T->data.key,则查找成功,返回根结点地址

                // 若key<T->data.key,则进一步查找左子树

                // 若key>T->data.key,则进一步查找右子树

             2) 二叉排序树的存储结构

typedef int KeyType;
typedef char InfoType;
typedef struct
{
	KeyType key;                                    //关键字项
	InfoType otherinfo;                          //其他数据域
}ElemType;
typedef struct BSTNode
{
	ElemType data;                               //数据域
	struct BSTNode 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值