树之设计【AVL树、红黑树的设计】

技术树之设计【AVL树、红黑树的设计】 树之设计【AVL树、红黑树的设计】树之设计【AVL树、红黑树的设计】1,设计之初:? 思考:AVL树的意义:高度平衡二叉树,用来维持整棵树是一棵平衡的二叉树,那么

树形设计【AVL树,红黑树设计】。

树之设计【AVL树、红黑树的设计】

1,设计之初:

?思考:AVL树的意义:用一个高度平衡的二叉树来维持整棵树为一个平衡的二叉树,所以在继承父类[BST二叉查找树]的基础上,考虑AVL什么时候需要调整它的平衡。

 --------------------------------------BST 二叉搜索树,进行插入(增加)结点之后的树,可能失衡,需要调整。

   -------------------而调整树的主要工作,应该交由AVL 平衡二叉树来完成

【 过程:BST (内部知道发生了失衡,所以需要做出反应),它定义了一个接口方法(调整平衡方法)来应对失衡情况,这个调整平衡方法,交由能力最强的AVL树去具体实现】

接下来,我们来谈谈调整平衡法的具体实现:

1.首先从插入节点的位置开始,找到第一个不平衡的祖父母节点【这个过程需要判断节点不平衡】-需要节点高度属性。

-

-解决方案:AVL树【此刻需要有一个带有高度属性的节点类】重构节点类,添加高度属性。

2.重构后,回到BST中插入(添加)接口的方法:发现该方法的内部创建结点时,使用的结点对象都是通用的结点,并没有使用 AVL 树定义的结点类对象,小于高度属性。

回到AVL树,在AVL树中无法高度判断是否失衡。

--解决:在BST中定义一个创建结点接口方法(默认:创建的节点是公共节点),然后子类 AVL 树再对创建结点接口方法进行重写,

因此,当您需要在添加(插入)接口的方法中创建节点时,您可以使用创建出带有高度属性的结点对象。.

2,设计过程:

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/51631.html

(0)

相关推荐

  • mysql数据库的类型是什么

    技术mysql数据库的类型是什么本篇内容介绍了“mysql数据库的类型是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成

    攻略 2021年12月2日
  • Java关键字和保留字是什么

    技术Java关键字和保留字是什么这篇文章主要讲解了“Java关键字和保留字是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java关键字和保留字是什么”吧!  1、访

    攻略 2021年11月4日
  • 中国人民银行个人征信中心,怎样注册个人征信中心帐号

    技术中国人民银行个人征信中心,怎样注册个人征信中心帐号人民银行的个人信用账号不是申请的,是当你产生信用行为后人民银行系统根据你的身份证号码自动生成一个你自己的信用账号中国人民银行个人征信中心。 1. 打开中国人民银行征信

    生活 2021年10月29日
  • 如何减压,怎样做才会解压的最好办法

    技术如何减压,怎样做才会解压的最好办法缓解压力的方法有很多。其实每个人都会有压力如何减压,怎么对待压力,关系的确很重要。且看下面是我从网上找的,希望对你有所帮助。我想这些专家说的应该比我说的对你的帮助要大的多,希望你也能

    生活 2021年10月25日
  • 谷歌地图怎么看街景,手机谷歌地图怎么看街景

    技术谷歌地图怎么看街景,手机谷歌地图怎么看街景1. 谷歌卫星图是可以看街景的,但国内貌似不容易上的谷歌地图怎么看街景。2. 国内用户可以直接用奥维互动地图app看街景,可以连接上,这个软件中也有集成了谷歌卫星图,还有其他

    生活 2021年10月19日
  • 皮鞋上的油污怎么办,皮鞋上有了油点该怎样去除掉

    技术皮鞋上的油污怎么办,皮鞋上有了油点该怎样去除掉皮鞋干裂牛奶擦 喝剩的牛奶或有些放置了几日的牛奶皮鞋上的油污怎么办,不要倒掉,用它擦皮鞋或其它皮革制品岢以防止皮质干裂。要想把皮鞋擦得很亮,可在鞋油里滴上几嘀清水,旧皮鞋

    生活 2021年10月23日