登录
首页 >  文章 >  java教程

AVL树

来源:dev.to

时间:2024-07-25 08:48:51 414浏览 收藏

大家好,今天本人给大家带来文章《AVL树》,文中内容主要涉及到,如果你对文章方面的知识点感兴趣,那就请各位朋友继续看下去吧~希望能真正帮到你们,谢谢!

AVL树

AVL树是一种平衡二叉搜索树。这篇文章介绍了二叉搜索树。二叉树的搜索、插入和删除时间取决于树的高度。在最坏的情况下,高度为 O(n)。如果一棵树完美平衡——即完全二叉树——它的高度是 log n。我们能维持一棵完美平衡的树吗?是的,但这样做的成本会很高。妥协是维持一棵平衡良好的树——也就是说,每个节点的两个子树的高度大致相同。

AVL 树 非常平衡。 AVL 树于 1962 年由两位俄罗斯计算机科学家 G. M. Adelson-Velsky 和 ​​E. M. Landis 发明(因此称为 AVL)。在AVL树中,每个节点的两个子树的高度之差是01。可以证明AVL树的最大高度是O(log n)。

在 AVL 树中插入或删除元素的过程与常规二叉搜索树相同,只是在插入或删除操作后可能需要重新平衡树。节点的平衡因子是其右子树的高度减去其左子树的高度。如果节点的平衡因子为 -101,则称该节点是平衡。如果一个节点的平衡因子为 -1,则该节点被视为左重;如果其平衡因子为+1,则被视为右重

本篇关于《AVL树》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于文章的相关知识,请关注golang学习网公众号!

声明:本文转载于:dev.to 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>