b樹(二叉搜尋樹)定義:
1)、每個非葉子節點至多有兩個子節點。
2)、每個節點都儲存關鍵字值。
3)、其左子節點的關鍵字值小於該節點,且右子節點的關鍵字值大於或等於該節點。
/**
* 節點類
*/ class node
public void display()
} /**
* b樹類
*/ class treeelse
}else
} }
} }
/** 只實現有乙個節點的刪除 */
public boolean delete(int key)else
} if (current == null)
/** 無子節點 */
if (current.leftchild == null && current.rightchild == null)else if (isleftchild)else
} /** 僅有右節點 */
else if ((current.leftchild == null && current.rightchild != null))else if (isleftchild)else
}else if ((current.leftchild != null && current.rightchild == null))else if (isleftchild)else
} return true;
} public node find(int key)else if (key < current.key)else
} return current;
} /** 中序 */
public void inorder(node localnode)
} }
public class btree
}
二叉樹,B樹,B 樹
先來看看二叉樹 二叉樹是大家熟知的一種樹,用它來做索引行不行,可以是可以,但有幾個問題 1.如果索引資料很多,樹的層次會很高 只有左右兩個子節點 資料量大時查詢還是會慢 2.二叉樹每個節點只儲存乙個記錄,一次查詢在樹上找的時候花費磁碟io次數較多 所以它並不適合直接拿來做索引儲存,演算法設計人員在二...
二叉搜尋樹 平衡二叉樹 B樹 B 樹 B 樹
二叉查詢樹,由於不平衡,如果連續插入的資料是有順序的 會導致如下圖b的所示,此時搜尋會退化到o n 二叉查詢樹,也稱二叉搜尋樹,或二叉排序樹。其定義也比較簡單,要麼是一顆空樹,要麼就是具有如下性質的二叉樹 1 若任意節點的左子樹不空,則左子樹上所有結點的值均小於它的根結點的值 2 若任意節點的右子樹...
搜尋二叉樹 插入 刪除)
1.1搜尋二叉樹的概念 二叉搜尋樹又稱二叉排序樹,它或者是一棵空樹,或者是具有一下性質的樹 1.2二叉搜尋樹操作 1.二叉搜尋樹的查詢 若根節點不為空 否則,返回false node find const k key else if cur kv.first kv.first else return...