目錄
一、靜態查詢表
二、動態查詢表
三、雜湊表
四、各種查詢演算法的適用場景:
五、二分查詢(折半查詢)
查詢表分為靜態查詢表、動態查詢表和雜湊表。
主要有:
順序表(順序查詢)
有序順序表(順序查詢、折半查詢、插值查詢)
索引順序表(分塊查詢)
倒排表動態查詢表主要有二叉樹和樹結構兩種型別。
二叉樹:(二叉排序樹、平衡二叉樹)
樹:(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...