原文:数据结构之 平衡二叉树

平衡二叉树,是一种二叉排序树,其中每个结点的左子树和右子树的高度差至多等于 。它是一种高度平衡的二叉排序树。高度平衡 意思是说,要么它是一棵空树,要么它的左子树和右子树都是平衡二叉树,且左子树和右子树的深度之差的绝对值不超过 。 将二叉树上结点的左子树深度减去右子树深度的值称为平衡因子BF,那么平衡二叉树上的所有结点的平衡因子只可能是 和 。只要二叉树上有一个结点的平衡因子的绝对值大于 ,则该二 ...

2013-10-01 20:37 0 17182 推荐指数:

查看详情

数据结构平衡二叉树

  二叉排序树集中了数组的查找优势以及链表的插入、删除优势,因此在数据结构中占有一定的地位。但在一定的情况下二叉排序树又有可能变为链表,例如插入从1~100的数,这时进行数据查找的效率就要降低。 为了解决二叉排序树这种左右子树深度不均匀的情况引入了一种平衡二叉树(AVLTree):任何一个节点 ...

Wed Aug 31 07:04:00 CST 2016 5 24174
数据结构 | 平衡二叉树平衡因子

任一结点的左子树和右子树的深度之差不超过1的树称为平衡二叉树。 可通过计算非叶子结点的平衡因子来判断该树是否为平衡二叉树(叶子节点的平衡因子均为0)。 平衡因子 = 左子树深度 - 右子树深度 这里有必要辨析一下结点和树的度;结点的层次、深度;结点和树的高度(深度)这几个名词。 节点的度 ...

Mon Jun 08 02:08:00 CST 2020 0 1140
浅谈数据结构-平衡二叉树

平衡二叉树(Balanced Binary Tree)是二叉查找树的一个进化体,也是第一个引入平衡概念的二叉树。1962年,G.M. Adelson-Velsky 和 E.M. Landis发明了这棵树,所以它又叫AVL树。平衡二叉树要求对于每一个节点来说,它的左右子树的高度之差不能超过 ...

Fri Sep 11 03:41:00 CST 2015 4 16533
数据结构平衡二叉树(Java)

数据结构平衡二叉树(Java) 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 说明 平衡二叉树也叫平衡二叉搜索树(Self-balancing binary search tree)又被称为AVL树 ...

Sat Aug 29 06:59:00 CST 2020 0 447
数据结构与算法——平衡二叉树(AVL树)

目录 二叉排序树存在的问题 基本介绍 单旋转(左旋转) 树高度计算 旋转 右旋转 双旋转 完整代码 二叉排序树存在的问题 一个数列 {1,2,3,4,5,6},创建一颗二叉排序树(BST) 创建完成的树 ...

Sat Sep 18 23:36:00 CST 2021 2 242
数据结构与算法】手撕平衡二叉树

平衡二叉树 定义 动机:二叉查找树的操作实践复杂度由树高度决定,所以希望控制树高,左右子树尽可能平衡平衡二叉树(AVL树):称一棵二叉查找树为高度平衡树,当且仅当或由单一外结点组成,或由两个子树形 Ta 和 Tb 组成,并且满足: |h(Ta ...

Wed Mar 30 02:32:00 CST 2022 0 727
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM