如何分析python中二叉搜索树的 AVL树

发布时间:2021-12-13 17:23:12 作者:柒染
来源:亿速云 阅读:156

今天就跟大家聊聊有关如何分析python中二叉搜索树的 AVL树,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

  如何分析python中二叉搜索树的 AVL树

二分搜索树 递归实现

public void add(E e){        root = add(root,e);    }        /**     * 二分搜索树插入元素 递归实现     */    private Node add(Node node ,E e){        if (node==null){            size++;            return new Node(e);        }        if (e.compareTo(node.data)<0){           node.left = add(node.left,e);        }else if (e.compareTo(node.data)>0){            node.right = add(node.right,e);        }        return node;    }

二分搜索树 查找递归实现

public boolean contains(E e){        return contains(root, e);    }    private boolean contains(Node node,E e){        if (node==null){            return false;        }if (e.compareTo(node.data)==0){            return true;        }else if(e.compareTo(node.data)<0){            return contains(node.left,e);        }else {            return contains(node.right,e);        }    }

二叉搜索树一定程度上可以提高搜索效率,但是当原序列有序时,例如序列 A = {1,2,3,4,5,6},构造二叉搜索树如图 1.1。依据此序列构造的二叉搜索树为右斜树,同时二叉树退化成单链表,搜索效率降低为 O(n)。

           如何分析python中二叉搜索树的 AVL树    

二叉搜索树的查找效率取决于树的高度,因此保持树的高度最小,即可保证树的查找效率。

概念

平衡二叉查找树:简称平衡二叉树。由前苏联的数学家 Adelse-Velskil 和 Landis 在 1962 年提出的高度平衡的二叉树,根据科学家的英文名也称为 AVL 树。它具有如下几个性质:

  1. 可以是空树。

  2. 假如不是空树,任何一个节点的左子树与右子树都是平衡二叉树,并且高度之差的绝对值不超过 1。

看完上述内容,你们对如何分析python中二叉搜索树的 AVL树有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。

推荐阅读:
  1. 平衡二叉搜索树
  2. 二叉搜索树—RBTree(红黑树)

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python 二叉搜索树 avl

上一篇:OpenCV中阈值二值化动态变化的示例分析

下一篇:opencv如何绘制线条、矩形、圆弧线、椭圆弧线、多边形、添加文字

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》