資料結構 06 查詢

2021-09-19 10:04:36 字數 1229 閱讀 5146

目錄

一、靜態查詢表

二、動態查詢表

三、雜湊表

四、各種查詢演算法的適用場景:

五、二分查詢(折半查詢)

查詢表分為靜態查詢表、動態查詢表和雜湊表。

主要有:

順序表(順序查詢)

有序順序表(順序查詢、折半查詢、插值查詢)

索引順序表(分塊查詢)

倒排表動態查詢表主要有二叉樹和樹結構兩種型別。

二叉樹:(二叉排序樹、平衡二叉樹)

樹:(b樹、b+樹)

查詢演算法分析方法:

用什麼儲存?

表是否有序?

方法的引數及返回值

查詢過程

平均查詢長度

特點(優點、缺點)

順序查詢:資料元素無序。

折半查詢:資料元素有序。o(lb n)

插值查詢:資料元素有序,表長較大,關鍵字均勻分布的表。

分塊查詢:塊內無序,塊與塊之間有序。

倒排表:根據屬性值查記錄號。(傳統的都是根據記錄號查詢屬性值)

二叉排序樹:經常做插入、刪除、查詢的表。o(lb n)

平衡二叉樹:查詢效能要求比較高的情況。(生成二叉樹的過程「平衡化」)

1.非遞迴方式

public static int binsearch(int arr, int key) else else 

} }return -1;

}

2.遞迴方式

/*

* 二分法查詢值

* 一定是有序表,公升降序都可以

* 原理就是找中間值

*/public class main ;

system.out.println(binarysearch(array, 0, array.length-1, 41));

} /*

* array 有序陣列; start 開始查詢的陣列下標;

* end 結束查詢的陣列下標; searchvalue 要查詢的值;

*/private static int binarysearch(int array, int start, int end, int searchvalue) else if(searchvalue < middlevalue) else

}else

}}

資料結構 查詢06

查詢 或檢索 是在給定資訊集上尋找特定資訊元素的過程。待查詢的資料單位 或資料元素 稱為記錄。記錄由若干資料項 或屬性 組成,如學生記錄 其中,學號 姓名 性別 年齡 等都是記錄的資料項。若某個資料項的值能標識 或識別 乙個或一組記錄,稱其為關鍵字 key 若乙個key能唯一標識乙個記錄,稱此key...

record 06 資料結構

author hasee date 2018 1 11 資料結構是用於進行程式中一組存在特定聯絡的資料的管理 通過資料結構來管理資料,更利於這一組資料的後續操作 四種資料結構 列表 元組 字典 字串 序列 列表 元組 字串 對序列可進行索引和切片操作 列表和字典可變,可以進行增刪改查 而元組和字串不...

查詢 資料結構

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