第十四周專案1 驗證演算法(2 分塊查詢演算法)

2021-07-25 03:01:58 字數 1447 閱讀 3845

問題及**:

/*

*檔名稱:1.cpp

*完成日期:2023年12月2日

*版本號:v1.0

*問題描述:認真閱讀並驗證分塊查詢演算法。請用22,4,23,11,20,2,15,13,30,45,26,34,29,35,26,36,55,98,56, 74,61,90,80,96,127,158,116,114,128,113,115,102,184,211,243,188,187,218,195,210,279,307,492,452,408,361,421,399,856,523,704,703,697,535,534,739(共n=56個資料,每塊資料個數s=8)作為資料表,自行構造索引表,分別對查詢61、739、200進行測試。

*輸入描述:無

*程式輸出:測試結果

*/

#include #define maxl 1000                     //定義順序表中最大元素個數為1000

typedef int keytype;

typedef int infotype;

typedef struct

nodetype;

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

typedef struct

idxtype;

typedef idxtype idx[maxl]; //定義索引表型別

int idxsearch(idx i,int m,seqlist r,int n,keytype k)

i=i[high+1].link;

while (i<=i[high+1].link+b-1 && r[i].key!=k) i++;

if (i<=i[high+1].link+b-1)

return i+1;

else

return 0;

}int main()

,,,,,,};

keytype a= ;

keytype x=200;

for (i=0; i

執行結果:

知識點總結:

線性表的分塊查詢

心得體會:

分塊查詢,又稱索引順序查詢,有效地將順序和折半查詢兩種演算法結合起來,效率介於順序和折半查詢兩種演算法之間,不過適用於數量大的有序表。

第十四周 專案1 驗證演算法(2)分塊查詢演算法實現

煙台大學計算機與控制工程學院 作 者 臧新曉 完成日期 2016年11月25日 問題描述 請用 共n 56據,每塊資料個數 s 8作為資料表,自行構造索引表,分別對查詢61,739,200測試。define maxi 20 索引表的最大長度 typedef int keytype typedef c...

第十四周專案1 驗證演算法(分塊查詢)

檔名稱 1.cpp 完成日期 2016年9月12日 版本號 v1.0 問題描述 用有序表作為測試序列,分別對查詢90 47 100進行測試.include define maxl 100 資料表的最大長度 define maxi 20 索引表的最大長度 typedef int keytype typ...

第十四周實踐專案2 分塊查詢

問題及 include define maxl 100 資料表的最大長度 define maxi 20 索引表的最大長度 typedef int keytype typedef char infotype 10 typedef struct nodetype typedef nodetype seq...