org.tinygroup.binarytree.impl
Class BinaryTreeImpl<T extends Comparable<T>>

java.lang.Object
  extended by org.tinygroup.binarytree.impl.BinaryTreeImpl<T>
Type Parameters:
T -
All Implemented Interfaces:
BinaryTree<T>

public class BinaryTreeImpl<T extends Comparable<T>>
extends Object
implements BinaryTree<T>

二叉树实现

Author:
luoguo

Field Summary
 
Fields inherited from interface org.tinygroup.binarytree.BinaryTree
DLR_ORDER, LDR_ORDER, LRD_ORDER
 
Constructor Summary
BinaryTreeImpl(T data)
          构造函数
 
Method Summary
 BinaryTree<T> add(T object)
          添加新结点 返回所添加的结点
 int compare(T a, T b)
           
 void foreach(Processor<T> process)
          默认采用中序
 void foreach(Processor<T> process, int mode)
          用指定的遍历方式对每个结点执行操作 mode: 0:中序遍历 -1:前序遍历 1:后序遍历
 T getData()
          获取结点数据
 BinaryTreeImpl<T> getParent()
           
 int height()
          获取树的高度
 void remove(T o)
          删除指定结点子树
 BinaryTree<T> search(T find)
          查找指定结点
 int size()
          获取树的结点个数
 void swap()
          左右子树对调
 AVLTree<T> toAVLTree()
          转换成平衡二叉树
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BinaryTreeImpl

public BinaryTreeImpl(T data)
构造函数

Parameters:
data -
Throws:
CompareException
Method Detail

search

public BinaryTree<T> search(T find)
查找指定结点

Specified by:
search in interface BinaryTree<T extends Comparable<T>>
Parameters:
find -
Returns:
IBinaryTree

add

public BinaryTree<T> add(T object)
添加新结点 返回所添加的结点

Specified by:
add in interface BinaryTree<T extends Comparable<T>>
Parameters:
object -
Returns:
IBinaryTree

getData

public T getData()
获取结点数据

Specified by:
getData in interface BinaryTree<T extends Comparable<T>>
Returns:
T

compare

public int compare(T a,
                   T b)

swap

public void swap()
左右子树对调


remove

public void remove(T o)
删除指定结点子树

Specified by:
remove in interface BinaryTree<T extends Comparable<T>>
Parameters:
o -

foreach

public void foreach(Processor<T> process)
默认采用中序

Specified by:
foreach in interface BinaryTree<T extends Comparable<T>>

foreach

public void foreach(Processor<T> process,
                    int mode)
用指定的遍历方式对每个结点执行操作 mode: 0:中序遍历 -1:前序遍历 1:后序遍历

Specified by:
foreach in interface BinaryTree<T extends Comparable<T>>
Parameters:
process -
mode -

size

public int size()
获取树的结点个数

Specified by:
size in interface BinaryTree<T extends Comparable<T>>
Returns:
int

height

public int height()
获取树的高度

Specified by:
height in interface BinaryTree<T extends Comparable<T>>
Returns:
int

toAVLTree

public AVLTree<T> toAVLTree()
转换成平衡二叉树

Specified by:
toAVLTree in interface BinaryTree<T extends Comparable<T>>
Returns:
IAVLTree

getParent

public BinaryTreeImpl<T> getParent()
Specified by:
getParent in interface BinaryTree<T extends Comparable<T>>


Copyright © 2006–2015 TinyGroup. All rights reserved.