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

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

创新互联主营普兰网站建设的网络公司,主营网站建设方案,成都app开发,普兰h5小程序制作搭建,普兰网站营销推广欢迎普兰等地区企业咨询

  如何分析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树有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注创新互联行业资讯频道,感谢大家的支持。


网页标题:如何分析python中二叉搜索树的AVL树
文章位置:http://myzitong.com/article/jcshhg.html