`
changzhiwin
  • 浏览: 2893 次
  • 性别: Icon_minigender_1
  • 来自: 黑龙江
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

发明轮子之“红黑树 一”

阅读更多
用了一天的时间迷迷糊糊看完红黑树(参加算法导论第13章 p273-301),然后又花了两天时间来用java实现 
如下是用到的两个组件类:
Color.java
package common;
/**
 * 
 * @Author   Administrator
 * @Email    changzhiwin@163.com
 * @Date     Oct 27, 2009
 * @File     Color.java
 * @Project	 tree
 */
public enum Color {
	RED,BALCK;
}



TreeNode.java
package common;
/**
 * 
 * @Author   Administrator
 * @Email    changzhiwin@163.com
 * @Date     Oct 27, 2009
 * @File     TreeNode.java
 * @Project	 tree
 */
public class TreeNode<T extends Comparable<T>> {

	/**
	 * the node's color
	 */
	private Color color;
	/**
	 * the node's value key;
	 */
	private T key;
	/**
	 * the node's left child
	 */
	private TreeNode<T> left;
	/**
	 * the node's right child
	 */
	private TreeNode<T> right;
	/**
	 * the node's parent
	 */
	private TreeNode<T> parent;
	
	public TreeNode()
	{
		
	}
	public TreeNode(Color color,T key,TreeNode<T> left,TreeNode<T> right,TreeNode<T> parent)
	{
		this.color=color;
		this.key=key;
		this.left=left;
		this.right=right;
		this.parent=parent;
	}
	
	/**
	 * getter and setter
	 */
	public Color getColor() {
		return color;
	}
	public void setColor(Color color) {
		this.color = color;
	}
	public T getKey() {
		return key;
	}
	public void setKey(T key) {
		this.key = key;
	}
	public TreeNode<T> getLeft() {
		return left;
	}
	public void setLeft(TreeNode<T> left) {
		this.left = left;
	}
	public TreeNode<T> getRight() {
		return right;
	}
	public void setRight(TreeNode<T> right) {
		this.right = right;
	}
	public TreeNode<T> getParent() {
		return parent;
	}
	public void setParent(TreeNode<T> parent) {
		this.parent = parent;
	}
	
}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics