My集合框架第三弹 AVL树
旋转操作:
由于任意一个结点最多只有两个儿子,所以当高度不平衡时,只可能是以下四种情况造成的:
1. 对该结点的左儿子的左子树进行了一次插入。
2. 对该结点的左儿子的右子树进行了一次插入。
3. 对该结点的右儿子的左子树进行了一次插入。
4. 对该结点的右儿子的右子树进行了一次插入。
向AVL树插入节点后,需要让AVL树重新平衡
step1:从插入节点向根节点溯源,观察是否存在不平衡节点(左右子树高度差),
if(不存在),return
else step2
step2:标记不平衡节点为K1
if(K1.left.depth>K1.right.depth) step3;
else step4;
step3:根据插入值和K2元素值比较
if(K3<K2.element) 情形1;
else 情形2;
step4:if(K3<K2.element) 情形3;
else 情形4;
情形1:
K1为不平衡节点,K3为插入节点
aaarticlea/png;base64,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" alt="" />经过一次单旋转,变为aaarticlea/png;base64,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" alt="" />
代码实现
public AvlNode<AnyType> rotateWithLeftChild(AvlNode<AnyType> K1){
AvlNode<AnyType> K2 = K1.left;
K1.left = K2.right;
K2.right = K1;
//更新高度(省略)
return K2;
}
注意:一定要更新父节点的左子树的指向
情形4与情形1对称,不在赘述
情形2:对应于左右双旋
为了描述清楚,即使树中的节点为null,仍然标记为字母ABCD
K1为不平衡节点
step1:K2
aaarticlea/png;base64,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" alt="" />以K2为不平衡节点左旋,得到aaarticlea/png;base64,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" alt="" />
继续以K1为不平衡节点右旋,得到aaarticlea/png;base64,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" alt="" />平衡
代码:
public AvlNode<AnyType> doubleWithLeftChild(AvlNode<AnyType> K1){
K1.left = rotateWithRightChild(K1.left);
return rotateWithLeftChild(K1);
}
情形3与之对称
部分代码如下:
package com.wpr.collection; public class AVLTree<AnyType extends Comparable<? super AnyType>> {
private static class AVLNode<AnyType> {
AnyType element;
AVLNode<AnyType> left;
AVLNode<AnyType> right;
int height; public AVLNode(AnyType element) {
this(element,null,null);
} public AVLNode(AnyType element2,AVLNode<AnyType> left, AVLNode<AnyType> right) {
this.element = element2;
this.left = left;
this.right = right;
} } AVLNode<AnyType> root;
public void insert(AnyType x){
if(x!=null)
root = insert(x,root);
} private AVLNode<AnyType> insert(AnyType x,AVLNode<AnyType> t){
if(t==null)
return new AVLNode<AnyType>(x); int compareResult = x.compareTo(t.element); if(compareResult<){
//在左子树上插入
t.left = insert(x,t.left);
if(height(t.left)-height(t.right)==){
//存在不平衡节点t
if(x.compareTo(t.left.element)<)
//情形一
t = rotateWithLeftChild(t);
else
//情形二
t = doubleWithLeftChild(t);
}
}else if(compareResult>){
t.right = insert(x,t.right);
if(height(t.right)-height(t.left)==){
//存在不平衡节点
if(x.compareTo(t.right.element)>)
//情形三
t = rotateWithRightChild(t);
else
//情形四
t = doubleWithRightChild(t);
}
}
t.height = Math.max(height(t.left), height(t.right))+;
return t;
} private AVLNode<AnyType> doubleWithRightChild(AVLNode<AnyType> t) {
t.right = rotateWithLeftChild(t.right);
return rotateWithRightChild(t);
} private AVLNode<AnyType> rotateWithRightChild(AVLNode<AnyType> t) {
AVLNode<AnyType> temp = t.right;
t.right = temp.left;
temp.left =t;
t.height = Math.max(height(t.left), height(t.right))+;
temp.height = Math.max(height(temp.left), height(temp.right))+;
return temp;
} private AVLNode<AnyType> doubleWithLeftChild(AVLNode<AnyType> t) {
t.left = rotateWithRightChild(t.left);
return rotateWithLeftChild(t);
} private AVLNode<AnyType> rotateWithLeftChild(AVLNode<AnyType> t) {
AVLNode<AnyType> temp = t.left;
t.left = temp.right;
temp.right = t;
t.height = Math.max(height(t.left), height(t.right))+;
temp.height = Math.max(height(temp.left), height(temp.right))+;
return temp;
} private int height(AVLNode<AnyType> t){
return t==null?-:t.height;
} /**
* 打印树
*/
public void printTree(){
if(isEmpty()){
System.out.println("Empty Tree");
}
printTree(root);
}
/**
* 中序遍历树
* @param t
*/
private void printTree(AVLNode<AnyType> t) {
if(t!=null){
System.out.print(t.element+"\t");
printTree(t.left);
printTree(t.right);
}
} public boolean isEmpty() {
return root == null;
} }
上面AVLNode记录的是树的高度,参考了别人的文章,可以改成平衡因子。。
http://blog.csdn.net/ljianhui/article/details/9137177
http://blog.csdn.net/ljianhui/article/details/9204667
My集合框架第三弹 AVL树的更多相关文章
- 自顶向下理解Java集合框架(三)Map接口
Map基本概念 数据结构中Map是一种重要的形式.Map接口定义的是查询表,或称查找表,其用于储存所谓的键/值对(key-value pair),其中key是映射表的索引. JDK结构中还存在实现Ma ...
- 数据结构(三)实现AVL树
AVL树的定义 一种自平衡二叉查找树,中面向内存的数据结构. 二叉搜索树T为AVL树的满足条件为: T是空树 T若不是空树,则TL.TR都是AVL树,且|HL-HR| <= 1 (节点的左子树高 ...
- Java集合框架(三)—— List、ArrayList、Vector、Stack
List接口 List集合代表一个有序集合,集合中每一个元素都有其对应的顺序索引.List集合容许使用重复元素,可以通过索引来访问指定位置的集合对象. ArrayList和Vector实现类 Arra ...
- 二叉树学习三:AVL树
1.AVL树: 1)其左子树(TL)与右子树(TR)是AVL树: 2)|HL-HR|<=1,其中HL和HR是TL和TR的高度: 3)高度为h的AVL树,结点数2*h-1. AVL树查找,插入,删 ...
- Java基础学习笔记十七 集合框架(三)之Map
Map接口 通过查看Map接口描述,发现Map接口下的集合与Collection接口下的集合,它们存储数据的形式不同,如下图. Collection中的集合,元素是孤立存在的(理解为单身),向集合中存 ...
- Java 集合框架(三)—— LinkedList
三.链表 —— LinkedList ArrayList 虽然好用,但是数组和数组列表都有一个重大的缺陷:从数组的中间位置删除一个元素要付出很大的代价,其原因是数组中处于被删除元素之后的所有元素都要向 ...
- Java源码解析——集合框架(三)——Vector
Vector源码解析 首先说一下Vector和ArrayList的区别: (1) Vector的所有方法都是有synchronized关键字的,即每一个方法都是同步的,所以在使用起来效率会非常低,但是 ...
- My集合框架第六弹 左式堆
左式堆(Leftist Heaps)又称作最左堆.左倾堆.左式堆作为堆的一种,保留了堆的一些属性. 第1,左式堆仍然以二叉树的形式构建: 第2,左式堆的任意结点的值比其子树任意结点值均小(最小堆的特性 ...
- JAVA集合框架(三)-Map
前言 Map是java中用于存储键值对映射的接口.是解决编程问题最常用的数据结构之一.在工作中,有时候为实现一个功能可能写了好大一段代码,运行是ok了,但是就是不想回头再看,不敢相信自己写的这么烂.这 ...
随机推荐
- BZOJ 1555 KD之死
贪心,按t+w排序维护不一定放到拖车上的大根堆. #include<iostream> #include<cstdio> #include<cstring> #in ...
- android 自定义组件-带图片的textView
1. 定义属性 <?xml version="1.0" encoding="utf-8"?> <resources> <decla ...
- UITabbar item 设置笔记
很长一段时间都是用代码来写UITabbarController,试着用xib来写一次,但是遇到tabbar item的图标自定义的时候不知道从何入手,比如定义选定前和选定后的icon图片,这地方还是不 ...
- 《Unix网络编程》卷2 读书笔记 第3章- System V IPC
1. 概述 三种类型的System V IPC:System V 消息队列.System V 信号量.System V 共享内存区 System V IPC在访问它们的函数和内核为它们维护的信息上共享 ...
- WebView增加一个水平Progress,位置、长相随意
实际效果可以参看微信的web页面进度条 本质就是通过addView及对WebView 页面进度进行监听 先看看这个自定义的DrawableId,我们参照系统默认实现的方法写一个自己的 <la ...
- 查看MySQL的警告信息
在王MySQL数据库导入数据的时候经常会出现警告,这些警告很容易被忽视,今天到数据的时候突然想看看警告的内容是什么,百度了一下mysql查看警告的命令 show warnings; 命令很简明,一查看 ...
- (win+linux)双系统,删除linux系统的条件下,删除grub引导记录,恢复windows引导
//(hdx,y) (显示查找到的分区号)第一个数字指第几个硬盘,第二个指第几个分区. 一般我们是(hd0,0) \n Linux的分区已经被你从Windows中删除,系统启动后停在“grub&g ...
- GitHub的代码托管和使用方法
原文 GitHub托管 借助GitHub托管你的项目代码 PS:话说自己注册了GitHub都很久了,却没有怎么去弄,现在系统学习一下,也把自己的学习经历总结下来share给大家,希望大家都能把Git ...
- C++中类的public,private,protected比较
当private,public,protected单纯的作为一个类中的成员权限设置时:private: 只能由该类中的函数.其友元函数访问,不能被任何其他访问,该类的对象也不能访问. protecte ...
- asp.net下ajax.ajaxMethod使用方法(转)
使用AjaxMethod可以在客户端异步调用服务端方法,简单地说就是在JS里调用后台.cs文件里的方法,做一些JS无法做到的操作,如查询数据库 使用AjaxMethod要满足一下几点: 1.如 ...