JAVA實現二叉樹

2021-09-02 02:24:04 字數 1573 閱讀 9657

一、分析

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

[img]

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

[img]

package com.algorithms.treee;

/*** 二叉樹

*/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)

}

**:

JAVA實現二叉樹

一 分析 乙個二叉樹節點有三個部分,乙個是指向左子樹的部分,乙個是指向右子樹的部分,另外乙個是資料部分。可以把這個節點抽象成乙個節點物件,給物件有兩個節點物件屬性和乙個資料屬性。如下圖 乙個二叉樹有只有乙個根節點,其餘的都是根節點的直接或間接子節點。所以可以把二叉樹抽象成乙個物件,該物件有乙個節點型...

二叉樹(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...