#include#define n 100005int check[n];
int main(){
int n,num;
scanf("%d %d",&n,&num);
for(int i=0;itime limit: 1000ms
memory limit: 65536kb
submit
statistic
discuss
problem description
有乙個資料字典,裡面存有n個數字(n<=100000),小明現在接到乙個任務,這項任務看起來非常簡單——給定m個數字,分別查詢這m個數字是否出現在字典之中;但是考慮到資料量的問題,小明找到了善於程式設計的你,希望你可以幫他解決這個問題。
input
輸入資料只有一組!
第一行包含兩個整數n m,分別代表字典中數字的個數和要查詢的數字的個數。
接著n行代表字典中的n個數字。
最後m表示要查詢的數字。
output
如果某個數字存在,則輸出yes,否則輸出no
example input
5 312
3455
410
example output
yesyesno
雜湊(hash 之 開放位址法(poj)
include includeusing namespace std const int size 20345677 const int m 1000000000 const int key 1357 typedef struct hash hash hash hash size 線性探測再雜湊,為...
關於解決Hash衝突的線性探測開放位址法和拉鍊法
在實際應用中,無論如何構造雜湊函式,衝突是無法完全避免的。鏈位址法解決衝突的做法是 如果雜湊表空間為 0 m 1 設定乙個由 m 個指標分量組成的一維陣列 st m 凡雜湊位址為 i 的資料元素都插入到頭指標為 st i 的鍊錶中。這種方法有點近似於鄰接表的基本思想,且這種方法適合於衝突比較嚴重的情...
雜湊表 開放位址法
雜湊表的查詢過程和建表過程相似。假設給定的值為k,根據建表時設定的雜湊函式h,計算出雜湊位址h k 若表中該位址單元為空,則查詢失敗 否則將該位址中的結點與給定值k比較。若相等則查詢成功,否則按建表時設定的處理衝突的方法找下乙個位址。如此反覆下去,直到某個位址單元為空 查詢失敗 或者關鍵字比較相等 ...