演算法與資料結構 二叉樹

2021-07-11 01:41:09 字數 1056 閱讀 2059

二叉樹

binary tree  二分樹  二元樹  

二叉樹的遞迴定義:或是空樹,或是一棵由乙個根結點和左右子樹組成的樹,且左右子樹也是二叉樹。

分枝結點:除葉結點以外的結點。

二叉樹的性質

最多 2^h - 1 個結點

n2 = n0 - 1

滿二叉樹:所有分枝結點都存在左右子樹,且葉結點都在同一層。

完全二叉樹:除最後一層外,所有層的結點數都達到最大個數,且最後一層的結點都連續集中在最左邊。

二叉查詢樹:左子樹所有節點的值 < 根的值 < 右子樹所有節點的值,且左右子樹也是二叉查詢樹。

class node 

}class binarytree

public void insert(int data)

node curnode = root;

while(true)

else

curnode = curnode.left; // 移位

}else

else

curnode = curnode.right; // 移位

}} }

public void inorder(node node)

public void preorder(node node)

public void postorder(node node) }

public class test ;

for(int i=0;i

程式中陣列對應的二叉查詢樹

console中序遍歷:左根右

1 3 4 6 7 8 10 13 14 

先序遍歷:根左右

8 3 1 6 4 7 10 14 13 

後序遍歷:左右根

1 4 7 6 3 13 14 10 8 

資料結構與演算法 二叉樹

1.普通二叉樹 treenode package math public class treenode public void setdata int data public treenode getlchild public void setlchild treenode lchild publi...

資料結構與演算法 二叉樹

二叉樹是每個節點最多有兩個子樹的樹結構。通常子樹被稱作 左子樹 left subtree 和 右子樹 right subtree 性質1 在二叉樹的第i層上至多有2 i 1 個結點 i 0 性質2 深度為k的二叉樹至多有2 k 1個結點 k 0 性質3 對於任意一棵二叉樹,如果其葉結點數為n0,而度...

演算法與資料結構 二叉樹

樹是一種特殊的資料型別,模擬具有樹狀結構的數的集合 樹的特點 每個節點都有零個或多個子節點 沒有父節點的節點為根節點 每乙個非根節點有且只有乙個父節點 除了根節點外,每個子節點可以分為多個不想交的子樹 樹的術語 節點的度 某個節點所分出的下一級子節點的個數 樹的度 所有節點中,最大的節點的度即為數的...