JAVA實現二叉樹

2021-07-30 09:16:22 字數 1719 閱讀 7527

一、分析

乙個二叉樹節點有三個部分,乙個是指向左子樹的部分,乙個是指向右子樹的部分,另外乙個是資料部分。可以把這個節點抽象成乙個節點物件,給物件有兩個節點物件屬性和乙個資料屬性。如下圖:

乙個二叉樹有只有乙個根節點,其餘的都是根節點的直接或間接子節點。所以可以把二叉樹抽象成乙個物件,該物件有乙個節點型別的資料,也就是用來儲存根節點。如下圖:

/** * 二叉樹

*/public class binarytree

public binarytree(treenode root)

public treenode getroot()

public void setroot(treenode root)

/*** 定義節點

*/private static class treenode

public treenode(string data, treenode left, treenode right)

public string getdata()

public void setdata(string data)

public treenode getleft()

public void setleft(treenode left)

public treenode getright()

public void setright(treenode right)

}/**

* 返回父結點

* * @param element

* @return

*/public treenode getparent(treenode element)

public treenode parent(treenode subtree, treenode element)

/*** 節點個數

* * @return

*/public int getsize()

private int getnum(treenode node)

else

}/**

* 樹高度

* * @return

*/public int getheight()

private int getheight(treenode node)

}/**

* 前序遍歷

* * @param node

*/public void preorder(treenode node)

}/**

* 中序遍歷

* * @param node

*/public void inorder(treenode node)

}/**

* 後續遍歷

* * @param node

*/public void postorder(treenode node)

}public static void main(string args)

}**:

大小: 1.4 kb

大小: 4.2 kb

二叉樹(Java實現)

1.二叉樹 陣列 查詢快,插入慢 鍊錶 查詢慢,插入快 而二叉樹結構既能快速查詢,也能快速新增 2.特點 乙個節點的左子節點的關鍵字值小於這個節點,右子節點的關鍵字值大於或等於這個父節點 3.原始碼實現 public class binarytree else if key current.id e...

二叉樹 Java實現

package struct inte ce tree 工廠類 class factory1 public static tree gettreeinstance class binarytreeimpl implements tree public node node leftchild,node...

Java實現二叉樹

在電腦科學中,二叉樹是每個結點最多有兩個子樹的樹結構。通常子樹被稱作 左子樹 left subtree 和 右子樹 right subtree 二叉樹常被用於實現二叉查詢樹和二叉堆。一棵深度為k,且有2 k 1個節點的二叉樹,稱為滿二叉樹。這種樹的特點是每一層上的節點數都是最大節點數。而在一棵二叉樹...