关于树的性质,不用多说了。
利用父亲长子兄弟模型 用java来实现了树的结构及基本操作
直接上代码:
树的ADT:
package Tree;
/**
*树的ADT
*父亲 长子 弟弟 模型
* @author coffee
*
*/
public interface Tree {
//得到当前节点的对象
public Object getElement();
//设置当前节点的对象
public Object setElement(Object Element);
//得到当前节点的深度
public int getDepth();
//得到当前节点的高度
public int getHeight();
//返回父节点
public TreeLinkedListNode getParent();
//得到第一个孩子
public TreeLinkedListNode getFirstChild();
//得到下一个兄弟
public TreeLinkedListNode getNextSubling();
//得到当前节点为根的树的规模
public int getSize();
}
树的实现:
package Tree;
/**
* 链表法 父亲长子兄弟模型
* @author coffee
*/
public class TreeLinkedListNode implements Tree{
private Object element; //元素
private TreeLinkedListNode parent; //父亲
private TreeLinkedListNode firstChild; //第一个孩子
private TreeLinkedListNode nextSibling; //下一个兄弟;