JAVA數據結構學習4.1樹的建立和求深度

package primDataStructure;

public class treeNode {
	//treeNode<T> node=new treeNode<Ts>()
	String value;
	treeNode leftNode,rightNode;
	//static int level;
	public treeNode() {
		leftNode=null;
		rightNode=null;
		this.value=null;
		//level=0;
	}
	public void add(String value) {//先序遍歷添加數據,產生一個非平衡樹
		if(this.value==null) {
			this.value=value;
		}
		else if(this.leftNode==null) {
			this.leftNode=new treeNode();
			leftNode.add(value);
		}
		else if(this.rightNode==null) {
			this.rightNode=new treeNode();
			rightNode.add(value);
		}
		else {
			this.leftNode.add(value);
		}
	}
	public int getDeep(treeNode node) {//求深度
		int n1,n2;
		if(node!=null) {
			n1=node.getDeep(node.leftNode);
			n2=node.getDeep(node.rightNode);
			return (n1>n2?n1:n2)+1;
		}
		return 0;
	}
	public static void main(String args[]) {
		treeNode tree=new treeNode();
		//tree.firstCreate(tree);
		
		for(int i=0;i<10;i++) {
			tree.add("第"+i+"個值");
		}
		
		System.out.println(tree.getDeep(tree));
	}
}

發佈了18 篇原創文章 · 獲贊 1 · 訪問量 561
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章