資料結構 查詢總結

2021-10-24 19:46:26 字數 1021 閱讀 3541

1. 靜態查詢表與動態查詢表的區別:是否需要動態地插入或刪除。

2. 適合靜態查詢表的查詢方法:順序查詢、折半查詢、雜湊查詢等。適合動態查詢的查詢方法:二叉排序樹的查詢、雜湊查詢等。

3. 順序查詢缺點:當n較大時,平均查詢長度較大,效率低;優點是對資料元素的儲存沒有要求,順序儲存或鏈式儲存皆可。

4. 順序查詢中若有n個查詢成功結點,則必相應有n+1個查詢失敗的結點。

5. 折半查詢只適用於有序的順序表。適合折半查詢的儲存結構必須具有隨機訪問的特性。

6. 折半查詢不成功時的查詢長度為從根結點到對應失敗結點的父結點的路徑上的結點數。

7. 折半查詢的時間複雜度為o(log2n)。

8. 分塊查詢的平均查詢長度為索引查詢和塊內查詢的平均長度之和。

9. 分塊查詢時,資料的組織方式為:資料分為若干塊,每塊內資料不必有序,但塊間必須有序,每塊內最大(或最小)的資料組成索引塊。

1. b樹

1)m階b樹中每個結點至多有m棵子樹(或至多有m-1個關鍵字)。

2)若根結點不是終端結點,則至少有兩顆子樹。

3)除根結點外的所有非葉結點至少有⌈m/2⌉顆子樹(即至少有⌈m/2⌉-1個關鍵字)。

4)所有的葉結點都出現在同一層次,並且不帶資訊。

5)b樹為所有結點的平衡因子均等於0的多路查詢樹。

6)b樹的高度不包括葉結點那一層。

7)假設一棵3階b樹,共有8個關鍵字,則高度範圍:2<=h<=3.17。

logm(n+1)<=h<=log⌈m/2⌉((n+1)/2)+1

8)當查詢到葉結點時(對應的指標為空指標),則說明樹中沒有對應的關鍵字,查詢失敗。

9)b樹中的插入關鍵字一定是插入在最底層中的某個非葉結點內。

b+樹每個分支結點最多有m棵子樹(子結點)

非葉根結點至少有兩棵子樹,其他每個分支結點至少有⌈m/2⌉棵子樹。

結點的子樹個數與關鍵字個數相等。(太多了自己看書)

查詢演算法資料結構總結

查詢演算法分為靜態查詢和動態查詢兩種。靜態查詢是指沒有插入和刪除結點操作,只需查詢到按給定關鍵字的結點,而動態查詢是指存在查詢過程中插入和刪除結點的操作。對於靜態查詢,一般傾向於將資料組織成順序表的形式。無序查詢的複雜度為o n 有序的序列分兩種情況 當每個結點被查詢的概率相等時可以採用折半查詢的演...

資料結構之查詢演算法總結

基礎知識 二分查詢演算法 有序表 順序儲存 複雜度o logn 一般用於強調有序陣列查詢時。雜湊表 o 1 時間根據關鍵字,得到所需的值。二叉搜尋樹 排序樹 根節點左邊值小於根結點,右邊值大於根結點。int binary search int data,int length,int key retu...

查詢 資料結構

分類 資料結構與演算法 c c 2012 07 24 16 17 614人閱讀收藏 舉報幾種查詢演算法 順序查詢,折半查詢,分塊查詢,雜湊表 一 順序查詢的基本思想 從表的一端開始,向另一端逐個按給定值kx 與關鍵碼進行比較,若找到,查詢成功,並給出資料元素在表中的位置 若整個表檢測完,仍未找到與k...