7 平衡二叉搜索树

1. 平衡二叉搜索树定义

平衡二叉搜索树:又被称为AVL(Adelson-Velsky and Landis)树,且具有以下性质:

    1. 它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,
    1. 并且左右两个子树都是一棵平衡二叉树。

如图:
在这里插入图片描述最后一棵 不是平衡二叉树,因为它的左右两个子树的高度差的绝对值超过了1。

C++中map、set、multimap,multiset的底层实现都是平衡二叉搜索树,所以map、set的增删操作时间时间复杂度是logn,

注意unordered_map、unordered_set,unordered_map、unordered_map底层实现是哈希表。

所以大家使用自己熟悉的编程语言写算法,
一定要知道常用的容器底层都是如何实现的,
最基本的就是map、set等等,否则自己写的代码,自己对其性能分析都分析不清楚!

猜你喜欢

转载自blog.csdn.net/chumingqian/article/details/124493930