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