查詢表是由同一型別的資料元素(或記錄)構成的集合。
關鍵字是資料元素中某個資料項的值,又稱為鍵值,用它來標示乙個資料元素。也可以標示乙個記錄的某個資料項(字段)的值,稱之為關鍵碼。
按照查詢表操作方式可以分為:靜態查詢表和動態查詢表
靜態查詢表:只做查詢操作的查詢表
主要的操作:
為了提高查詢的效率,專門為查詢操作設定資料結構,這種面向查詢操作的資料結構成為查詢結構
又叫做線性查詢,是查詢演算法中最基本的查詢,它的過程是:從表中第乙個(或最後乙個)記錄開始,逐個進行記錄的關鍵字和給定值比較,若某個記錄的關鍵字和給定值相等,則查詢成功,找到所查的記錄;如果直到最後乙個(或第乙個)記錄,其關鍵字和給定值比較都不等時,則表中沒有所差的記錄,查詢不成功。
演算法實現如下:
/**
* 順序表查詢
* @param a
* @param n
* @param key
* @return
*/public int sequential_search(object a, int n, object key)
} return 0;
}
順詢表查詢優化:
設定哨兵
/**
* 順序表查詢的優化
* 設定哨兵
* 注意陣列中元素值下標從1開始
* @param a
* @param n
* @param key
* @return
*/public int sequential_search2(object a, int n, object key)
return i;
}
該演算法的時間複雜度為o(n) 索引順序表查詢演算法(分塊查詢演算法)
有時候,可能會遇到這樣的表 整個表中的元素未必有序,但若劃分為若干塊後,每一塊中的所有元素均小於 或大於 其後面塊中的所有元素。我們稱這種為分塊有序。首先,我們需要先建立乙個索引表,索引表中為每一塊都設定 索引項,每乙個索引項都包含兩個內容 在前面建立的索引表的基礎上,我們查詢乙個關鍵字需要兩個步驟...
python 基本演算法(順序查詢)
一,順序查詢 查詢演算法是程式中經常用到的演算法。假定要從n個元素中查詢 x 的值是否存在,最原始的方法是從頭到尾挨個查詢,這種查詢的方法叫順序查詢方法。順序查詢有三種情形可能發生 最好的情況,第一項就是要查詢的資料物件,只有一次比較,最差的情況,需要 n 次比較,全部比較完之後找不到資料。平均情況...
查詢演算法 順序查詢
又叫線性查詢 我們來看乙個題目 科大有學生成績分布如下 1,8,10,89,1000,1234 要求 判斷數列是否包含某個特定的值 這裡我就不舉例 直接在題目中展示 找到了就返回值以及下標 順序查詢演算法 author 王 public class seqsearch 無序的陣列 int index...