第一步,讓陣列元素全部為零;
第二部,輸入資料,並建立資料與陣列元素的關係,建立直接關係;
第三步 查詢
有乙個資料字典,裡面存有n個數字(n<=100000),小明現在接到乙個任務,這項任務看起來非常簡單——給定m個數字,分別查詢這m個數字是否出現在字典之中;但是考慮到資料量的問題,小明找到了善於程式設計的你,希望你可以幫他解決這個問題。
輸入資料只有一組!
第一行包含兩個整數n m,分別代表字典中數字的個數和要查詢的數字的個數。
接著n行代表字典中的n個數字。
最後m表示要查詢的數字。
如果某個數字存在,則輸出yes,否則輸出no
5 3123455
410
yesyesno
/*這是二分法查詢,二分法查詢相對比較簡單易懂,不做詳細解釋
*/#include
#include
int cmp(const
void *a,const
void *b)
int search(int a,int key,int n)
return
0;
} void main()
qsort(a+1,n,sizeof(a[0]),cmp);//
此時a+1是因為a是從1開始記錄資料的
for(i=0; i"
%d",&key);
if(search(a,key,n))
printf("
yes\n
");
else
printf("
no\n
");
} }
#include#include
void main()
for(i = 1;i<=n;i++)
for(i=0; i"
%d",&key);
if( a[key]==1)
printf("
yes\n
");
else
printf("
no\n
");
} }
查詢,二分法,雜湊表,雜湊函式
利用設定哨兵的方法,將第乙個元素設定為要比較的值,這樣可以減少幾次判斷 暴力搜尋的方法 intsequetialsearch int a,int n,int key return i 如果事先再儲存的過程中,就已經時有序的了,那麼可以使用二分法查詢binary search 二分法查詢的判斷次數,只...
C 二分法查詢,遞迴二分法
用二分法來求需要查詢的值.includeusing namespace std 查詢key元素是否存在 int findkey const int buf 100 const int ilen,const int key else right left mid 1 查詢失敗 return 1 查詢k...
python二分法查詢 Python 二分法查詢
二分法查詢主要的作用就是查詢元素 lst 1,3,5,7,12,36,68,79 資料集 百萬級資料 num int input 請輸入你要查詢的元素資訊 for el in lst if num el print 存在 break else print 不存在 len lst 0 1 2 3 4 ...