java實現B樹 二叉樹 插入,刪除

2021-08-30 01:55:43 字數 982 閱讀 3653

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...