二叉排序树(Binary Sort Tree),又称二叉查找树(Binary Search Tree),亦称二叉搜索树。二叉排序树或者是一棵空树,或者是具有下列性质的二叉树:
(1)若左子树不空,则左子树上所有结点的值均小于或等于它的根结点的值;
(2)若右子树不空,则右子树上所有结点的值均大于或等于它的根结点的值;
(3)左、右子树也分别为二叉排序树;
平衡二叉树不一定是二叉排序树(平衡二叉树的定义只涉及到了左子树与右子树,而无关关键字的定义),而二叉排序树一定是平衡二叉树。
常见的符合平衡树的有,B树(多路平衡搜索树)、AVL树(二叉平衡搜索树)等。平衡树可以完成集合的一系列操作, 时间复杂度和空间复杂度相对于“2-3树”要低,在完成集合的一系列操作中始终保持平衡,为大型数据库的组织、索引提供了一条新的途径。
扩展资料
与次优二叉树相对,二叉排序树是一种动态树表。其特点是:树的结构通常不是一次生成的,而是在查找过程中,当树中不存在关键字等于给定值的结点时再进行插入。
新插入的结点一定是一个新添加的叶子结点,并且是查找不成功时查找路径上访问的最后一个结点的左孩子或右孩子结点。
1、二叉排序树的定义就是左边的子树都比根小,右边的子树都比根大,所以此图的根(也就是最上面这个肯定是5,左边的肯定是1-4,右边的肯定是6-9
2、先看左子树的根。它只有右子树,根据定义,所有的都要比它大,从1-4里面可以肯定是1,因为2、3、4都比它大,所以,左子树的根是1,这样还剩下2-4
3、元素1的右子树的根,它只有左子树,这说明下面2个元素都比他小,还剩下2-4,所以元素1的右子树的根只能是4。
4、同样道理可以推算出4下面是2,然后是3
5、同理推算,右边从上到下依次是:9、6、7、8
所以整棵树的根是5,左边从上到下依次是1、4、2、3,右边从上到下依次是:9、6、7、8
所谓平衡二叉树是指树中任一结点的左、右子树高度大致相同。平衡二叉树有很多种最著名的是由前苏联数学家Adelse—Velskil和Landis在1962年提出的,称为AVL树。平衡二叉树(AVL树)定义如下:平衡二叉树或者是一棵空树,或者是具有以下性质的二叉排序树:(1)它的左子树和右子树的高度之差绝对值不超过1;(2)它的左子树和右子树都是平衡二叉树。
二叉树(Binary tree)是一种算法结构,是树形结构的一种。因为存储结构及其算法都较为简单,好理解,所以应用比较广泛。二叉树是n个有限元素的集合,该集合或者为空、或者由一个称为根(root)的元素及两个不相交的、被分别称为左子树和右子树的二叉树组成,是有序树。当集合为空时,称该二叉树为空二叉树。在二叉树中,一个元素也称作一个结点。
递归是算法的一种,它是指一种通过重复将问题分解为同类的子问题而解决问题的方法。而二叉树从算法定义上看,或者是实际编程,3种遍历方式,都符合递归算法的特征。
二叉树递归遍历分为先序遍历、中序遍历和后序遍历。
先序遍历为:根节点+左子树+右子树
中序遍历为:左子树+根节点+右子树
后序遍历为:左子树+右子树+根节点
(你只要记住根节点在哪里就是什么遍历,且都是先左再右)
举个例子,如二叉树:
请点击输入图片描述
这棵树的先序遍历为:1 2 3 4 5
中序遍历为:2 1 4 3 5
后序遍历为:2 4 5 4 1
声明: 我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本站部分文字与图片资源来自于网络,转载是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们(管理员邮箱:daokedao3713@qq.com),情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!
本站内容仅供参考,不作为诊断及医疗依据,如有医疗需求,请务必前往正规医院就诊
祝由网所有文章及资料均为作者提供或网友推荐收集整理而来,仅供爱好者学习和研究使用,版权归原作者所有。
如本站内容有侵犯您的合法权益,请和我们取得联系,我们将立即改正或删除。
Copyright © 2022-2023 祝由师网 版权所有
邮箱:daokedao3713@qq.com