二叉樹 Java實現

2021-08-18 21:08:47 字數 1830 閱讀 7311

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個節點的二叉樹,稱為滿二叉樹。這種樹的特點是每一層上的節點數都是最大節點數。而在一棵二叉樹...