package struct;
inte***ce tree
//工廠類
class factory1
public static tree gettreeinstance()
}class binarytreeimpl implements tree
public node(node leftchild, node rightchild, int data) }
//插入元素
public void insert(int data) else
}else if(data > current.data)
}else
}//end of while
} }//中序遍歷
public void inorder()
//中序遍歷遞迴函式
private void inorder1(node node)
inorder1(node.leftchild);
display(node);
inorder1(node.rightchild); }
//列印函式
private void display(node node)
//前序遍歷
public void perorder()
//前序遍歷遞迴函式
private void perorder1(node node)
display(node);
perorder1(node.leftchild);
perorder1(node.rightchild); }
//後序遍歷
public void postorder()
//後續遍歷遞迴函式
private void postorder1(node node)
postorder1(node.leftchild);
postorder1(node.rightchild);
display(node);
} //層序遍歷
/* public void levelorder()
*/ //求取樹中元素最小值
public int getminvalue()
node current = node.leftchild;
while(true)
current = current.leftchild;
} }//求樹中最大元素
public int getmaxvalue()
node current = node.rightchild;
while(true)
current = current.rightchild;
} }//刪除樹中元素
public boolean delete(int value)
//求樹中元素個數
public int length()
//求樹的高度
時間有點緊張,二叉樹的刪除較複雜,待我慢慢整理思緒。。。
JAVA實現二叉樹
一 分析 乙個二叉樹節點有三個部分,乙個是指向左子樹的部分,乙個是指向右子樹的部分,另外乙個是資料部分。可以把這個節點抽象成乙個節點物件,給物件有兩個節點物件屬性和乙個資料屬性。如下圖 乙個二叉樹有只有乙個根節點,其餘的都是根節點的直接或間接子節點。所以可以把二叉樹抽象成乙個物件,該物件有乙個節點型...
二叉樹(Java實現)
1.二叉樹 陣列 查詢快,插入慢 鍊錶 查詢慢,插入快 而二叉樹結構既能快速查詢,也能快速新增 2.特點 乙個節點的左子節點的關鍵字值小於這個節點,右子節點的關鍵字值大於或等於這個父節點 3.原始碼實現 public class binarytree else if key current.id e...
Java實現二叉樹
在電腦科學中,二叉樹是每個結點最多有兩個子樹的樹結構。通常子樹被稱作 左子樹 left subtree 和 右子樹 right subtree 二叉樹常被用於實現二叉查詢樹和二叉堆。一棵深度為k,且有2 k 1個節點的二叉樹,稱為滿二叉樹。這種樹的特點是每一層上的節點數都是最大節點數。而在一棵二叉樹...