平衡树
ApacheCrazyFan
巨人的肩膀
展开
-
Java基础 - 平衡二叉查找树(AVL树)
平衡二叉查找树(height balanced binary search tree)在1962年由Adelson-Velskii和Landis提出,因此又称为AVL树。AVL树定义为:一棵空树是平衡二叉查找树;假设T不是空的树,TL和TR分别是此 二叉树的左子树和右子树,如符合下列两个条件,则称T为平衡二叉查找树:(1)TL和TR亦是平衡二叉查找树;(2) |hL - hR| <= 1,其中hL和hR分别是TL和TR的高度。原创 2016-12-01 21:58:15 · 890 阅读 · 0 评论 -
Java基础 - 红黑树
package com.yc.tree;import java.util.ArrayDeque;import java.util.ArrayList;import java.util.Deque;import java.util.List;/** * @author wb * @param * * 排序二叉树虽然可以快速检索,但在最坏的情况下,如果插入的节点集本身就是有序原创 2016-11-24 16:11:08 · 558 阅读 · 0 评论 -
Java基础 - 伸展树(SplayTree)
伸展树的基本操作有:1.查询2.添加3.删除4.树的最大节点5.树的最小节点6.节点的前驱7.节点的后继8.合并9.分离下面是我完成的部分功能代码(除节点的后继,大家可以仿照求节点的前驱的方法来求后继,很简单):package com.yc.tree;import java.util.ArrayDeque;import java.util.Arra原创 2016-12-05 20:54:39 · 1886 阅读 · 0 评论 -
Java基础 - 替罪羊树(Scapegoat Tree)
package com.yc.tree;import java.util.ArrayDeque;import java.util.ArrayList;import java.util.Deque;import java.util.List;/** * @author wb * @param * * 替罪羊树的定义: * 1.是一种二叉排序树 * 2.根节点存储了树的节原创 2016-12-12 17:02:18 · 2354 阅读 · 1 评论 -
Java基础 - 节点自平衡树(Size Balanced Tree,简称SBT)
package com.yc.tree;import java.util.ArrayDeque;import java.util.ArrayList;import java.util.Deque;import java.util.List;public class SizeBalancedTree >{ public class Node{ //data域:存放数据项 T原创 2016-12-09 16:08:59 · 1301 阅读 · 1 评论