資料結構教程(java語言描述)徐孝凱主編----複習摘要05
第五章 樹和二叉樹
樹的性質:
1。樹中的結點數等於所有結點數的度數加1。
2。度為k的樹中第i層上至多有k^(i-1)個結點(i>=1)。
3。深度為h的k叉樹至多有(k^h-1)/(k-1)個結點。
4。具有n個結點的k叉樹的最小深度為...
二叉樹的性質
1。二叉樹上終端結點數等於雙分支結點數加1。
2。二叉樹上第i層上至多有2^(i-1)個結點(i>=1)。
3。深度為h的二叉樹至多有2^(h-1)個結點。
4。具有n個結點的完全二叉樹的深度為...
二叉樹的連結儲存結構
結點類型定義
public class BTreeNode{Object element;BTreeNode left,right;public BTreeNode(Object obj) {element = obj;left =right=null;}public BTreeNode(Object obj,BTreeNode lt,BTreeNode rt){element = obj;left = lt;right = rt;}}
連結儲存的二叉樹類
public class linkBinaryTree implements BinaryTree{protected BTreeNode root; //定義可繼承的二叉樹的樹根指標(引用)public linkBinaryTree(){root = null;}//操作public BTreeNode getRoot(){return root;}...}
按層次遍曆的時候需要使用一個隊列
二叉搜尋樹的連結儲存類的實現
public class linkBinarySearchTree extends linkBinaryTree implements BinarySearchTree{public linkBinarySearchTree(){super();}public Object find(final Object obj){}public Object update(final Object obj){}public boolean insert(final Object obj){}public boolean delete(final Object obj){}}
堆分為大根堆和小根堆
public class sequenceHeap implements Heap{final int maxSize = 10; //數組初始長度private Object[] heapArray; //數組聲明private int length; //當前堆的實際長度//操作public sequenceHeap(){length = 0;heapArray = new Object[maxSize];}public sequenceHeap(int n){}....}