第十四周 專案1 驗證演算法(1)

2021-07-25 05:52:43 字數 1291 閱讀 1813

1.非遞迴折半查詢

#include

#define maxl 100

typedef int keytype;

typedef char infotype[10];

typedef struct

nodetype;

typedef nodetype seqlist[maxl];     //順序表型別

int binsearch(seqlist r,int n,keytype k)

return 0;

}int main()

,x=90;

for (i=0; i0)

printf("序列中第 %d 個是 %d\n",result, x);

else

printf("木有找到!\n");

return 0;

}2.遞迴折半查詢

#include

#define maxl 100

typedef int keytype;

typedef char infotype[10];

typedef struct

nodetype;

typedef nodetype seqlist[maxl];     //順序表型別

int binsearch1(seqlist r,int low,int high,keytype k)

else

return 0;

}int main()

,x=100;

for (i=0; i0)

printf("序列中第 %d 個是 %d\n",result, x);

else

printf("木有找到!\n");

return 0;

}執行結果:

知識點總結:

1 、在大部分情況下,折半查詢的複雜度要優於順序查詢,查詢的資料越多,越能體現。

2 、通過比較mid 和k 的大小,mid> k時,使high=mid-1往前查詢,反之使low=mid+1往後查詢,如此下去一次次的縮小查詢範圍。

3 、判定樹以查詢區間的中間節點為根,左右子表為左右子數。

第十四周專案(1) 驗證演算法1

問題及 煙台大學計算機與控制工程學院 作 者 楊甯 完成日期 2015年11月30日 分別對查詢90 47 100進行測試。include define maxl 100 typedef int keytype typedef char infotype 10 typedef struct node...

第十四周專案1 驗證演算法(1)

程式 檔名稱 1.cpp 完成日期 2016年12月8日 版本號 vc6.0 問題描述 認真閱讀並驗證折半查詢演算法。請用有序表作為測試序列,分別對查詢90 47 100進行測試 輸入描述 無 程式輸出 測試結果 include define maxl 100 typedef int keytype...

第十四周 專案1 驗證演算法(1)

作 者 武美妤 完成日期 2017年11月30日 版 本 號 v1.0 問題描述 include define maxsize 100 定義最大雜湊表長度 define nullkey 1 定義空關鍵字值 define delkey 2 定義被刪關鍵字值 typedef int keytype 關鍵...