B樹 B 樹學習之二

2021-07-06 02:48:19 字數 992 閱讀 1261

b樹的概念:手錄,摘自《資料結構(c語言版) 嚴蔚敏 吳偉民 清華大學出版社》。

一顆m階的b-樹,或為空樹,或為滿足下列特徵的m叉樹:

1.樹中每個結點至多有m棵子樹。

2.若根結點不是葉子結點,則至少有兩棵子樹。

3.除根之外的所有非終端結點至少有[m/2]棵子樹。

4.所有的非終端結點中包含下列資訊資料

(n, a0, k1, a1, k2, a2, …, kn, an)

其中:ki(i=1, …, n)為關鍵字,且ki < ki+1(i=1, …, n-1); ai(i=0, …, n)為指向子樹根結點的指標,且指標ai-1所指向子樹中所有結點的關鍵字均小於ki(i=1, …, n), an所指子樹中所有結點的關鍵字均大於kn, n([m/2]-1<=n<=m-1)為關鍵字的個數(或n+1為子樹個數)。

5.所有的葉子結點都出現在同一層次上,並且不帶資訊(可以看作是外部結點或查詢失敗的結點,實際上這些結點不存在,指向這些結點的指標為空)。

插曲1:《資料結構(c語言版) 嚴蔚敏 吳偉民》這本書,我原本有兩本,畢業之後看了好幾遍,在搬家時終於決定賣掉來減輕負擔,結果最近發現有些內容,原本以為理解清楚了,實際上還是有更深層次的內容沒有理解,最近又打算買回來,只怪當時無知啊。

插曲2:我一直感覺這本書寫的不太好,寫的中間過程和思路不夠清晰,不如《資料結構與演算法分析—c語言描述 (美)mark allen weiss 著 馮舜璽 譯 機械工業出版社 》寫的清晰,這會兒突然想到清華的學習方法,感覺稍稍明白了一些其中的味道,也許這本書不是一本很好的用來自學的書,但是卻是一本很好的教材,個中詳情,請參見拙作:

11年研究b樹,研究了一段時間,還寫了寫演算法,這次想撿起來,發現都忘記了,這次又花了一段時間研究,發現所有的根本都要圍繞定義去思考,突然理解了高中數學中的定理和定理的屬性的意思,定理定義是約定、規定乙個東西,然後這個東西會表現出一些特有的性質來,這樣你可以根據其他東西是否滿足這個性質來進行一定地判斷。

插入、刪除、高度計算都是要圍繞滿足這個定義的原則去思考,就容易理解了。

B樹,B 樹,B 樹,B 樹

小彰的部落格 b樹 即二叉搜尋樹 1.所有非葉子結點至多擁有兩個兒子 left和right 2.所有結點儲存乙個關鍵字 3.非葉子結點的左指標指向小於其關鍵字的子樹,右指標指向大於其關鍵字的子樹 如 b樹的搜尋,從根結點開始,如果查詢的關鍵字與結點的關鍵字相等,那麼就命中 否則,如果查詢關鍵字比結點...

B樹 B 樹 B 樹 B 樹

b 樹即二叉搜尋樹 1.所有非葉子結點至多擁有兩個兒子 left 和right 2.所有結點儲存乙個關鍵字 3.非葉子結點的左指標指向小於其關鍵字的子樹,右指標指向大於其關鍵字的子樹 如 b樹的搜尋,從根結點開始,如果查詢的關鍵字與結點的關鍵字相等,那麼就命中 否則,如果查詢關鍵字比結點關鍵字小,就...

B樹 B 樹 B 樹 B 樹

b樹 即二叉搜尋樹 1.所有非葉子結點至多擁有兩個兒子 left和right 2.所有結點儲存乙個關鍵字 3.非葉子結點的左指標指向小於其關鍵字的子樹,右指標指向大於其關鍵字的子樹 如 b樹的搜尋,從根結點開始,如果查詢的關鍵字與結點的關鍵字相等,那麼就命中 否則,如果查詢關鍵字比結點關鍵字小,就進...