数据结构与算法:二叉查找树

数据结构与算法:二叉查找树一 定义二叉查找树 binary search tree 二叉查找树在二叉树的基础上增加了以下几个条件 如果左子树不为空 则左子树上所有节点的值均小于根节点的值 如果右子树不为空 则右子树上所有节点的值均大于根节点的值 左 右子树也

欢迎大家来到IT世界,在知识的湖畔探索吧!

一、定义

二叉查找树(binary search tree),二叉查找树在二叉树的基础上增加了以下几个条件:

如果左子树不为空,则左子树上所有节点的值均小于根节点的值;

如果右子树不为空,则右子树上所有节点的值均大于根节点的值;

左、右子树也都是二叉查找树。

数据结构与算法:二叉查找树

二叉查找树要求左子树小于父节点,右子树大于父节点,正是这样保证了二叉树的有序性。 因此二叉查找树还有另一个名字——二叉排序树(binary sort tree)。

二、查找

例如查找值为4的节点,步骤如下:

1. 访问根节点6,发现4<6;

2. 访问节点6的左孩子节点3,发现4>3;

3. 访问节点3的右孩子节点4,发现4=4,这正是要查找的节点。

数据结构与算法:二叉查找树

对于一个节点分布相对均衡的二叉查找树来说,如果节点总数是n,那么搜索节点的时间复杂度就是O(logn),和树的深度是一样的。这种方式正是二分查找思想。

三、插入

例如插入新元素5,步骤如下:

1. 访问根节点6,发现5<6;

2. 访问节点6的左孩子节点3,发现5>3;

3. 访问节点3的右孩子节点4,发现5>4;

4. 5最终会插入到节点4的右孩子位置。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/88970.html

(0)
上一篇 2024年 11月 19日 下午8:23
下一篇 2024年 11月 19日 下午9:15

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信