数据结构与算法——Tree (Java泛型类)
一 、Tree接口
public interface NTreeNode<T> { public T getData(); public void setData(T data); public NTreeNode<T> getLeft(); public void setLeft(NTreeNode<T> left); public NTreeNode<T> getRight(); public void setRight(NTreeNode<T> right); }
二 、二叉搜索树的节点(实现自NTreeNode)
public class BinarySearchTreeNode<T extends Comparable<T>> implements NTreeNode<T>{ private T data; private BinarySearchTreeNode<T> left; private BinarySearchTreeNode<T> right; public T getData(){ return data; } public void setData(T data){ this.data = data; } public BinarySearchTreeNode<T> getLeft(){ return left; } public void setLeft(NTreeNode<T> left){ this.left = (BinarySearchTreeNode<T>)left; } public BinarySearchTreeNode<T> getRight(){ return right; } public void setRight(NTreeNode<T> right){ this.right = (BinarySearchTreeNode<T>)right; } }
三、 平衡二叉搜索树的节点
public class AVLTreeNode <T extends Comparable<T>> implements NTreeNode<T>{ private T data; private int height; private AVLTreeNode<T> left; private AVLTreeNode<T> right; public T getData(){ return data; } public void setData(T data){ this.data = data; } public int getHeight(){ return height; } public void setHeight(int height){ this.height = height; } public NTreeNode<T> getLeft(){ return left; } public void setLeft(NTreeNode<T> left){ this.left = (AVLTreeNode<T> )left; } public NTreeNode<T> getRight(){ return right; } public void setRight(NTreeNode<T> right){ this.right = (AVLTreeNode<T> )right; } }
四、更多
1 平衡二叉搜索树实现
2 二叉搜索树实现

浙公网安备 33010602011771号