1.普通二叉樹
treenode
package math;
public class treenode
public void setdata(int data)
public treenode getlchild()
public void setlchild(treenode lchild)
public treenode getrchild()
public void setrchild(treenode rchild)
public treenode(int data, treenode lchild, treenode rchild)
//給出節點查詢,輸入資料值,返回輸入值得節點
public treenode search(int i)else
if(target!=null)
if(rchild!=null)
}return target ;
}}
binarytree
package math;
public class binarytree
public void setroot(treenode root)
public binarytree(treenode root)
//前序遍歷
public void proper(treenode root)
} }
2.順序二叉樹
把陣列看做二叉樹遍歷
package math;
public class arraybinarytree
//順序二叉樹,把陣列作為乙個二叉樹看
public void frontshow(int index)
system.out.println(arr[index]);
if((2*index+1)if((2*index+2)}
}
演算法與資料結構 二叉樹
二叉樹 binary tree 二分樹 二元樹 二叉樹的遞迴定義 或是空樹,或是一棵由乙個根結點和左右子樹組成的樹,且左右子樹也是二叉樹。分枝結點 除葉結點以外的結點。二叉樹的性質 最多 2 h 1 個結點 n2 n0 1 滿二叉樹 所有分枝結點都存在左右子樹,且葉結點都在同一層。完全二叉樹 除最後...
資料結構與演算法 二叉樹
二叉樹是每個節點最多有兩個子樹的樹結構。通常子樹被稱作 左子樹 left subtree 和 右子樹 right subtree 性質1 在二叉樹的第i層上至多有2 i 1 個結點 i 0 性質2 深度為k的二叉樹至多有2 k 1個結點 k 0 性質3 對於任意一棵二叉樹,如果其葉結點數為n0,而度...
演算法與資料結構 二叉樹
樹是一種特殊的資料型別,模擬具有樹狀結構的數的集合 樹的特點 每個節點都有零個或多個子節點 沒有父節點的節點為根節點 每乙個非根節點有且只有乙個父節點 除了根節點外,每個子節點可以分為多個不想交的子樹 樹的術語 節點的度 某個節點所分出的下一級子節點的個數 樹的度 所有節點中,最大的節點的度即為數的...