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

2021-07-08 11:49:16 字數 1315 閱讀 2822

問題及**:

*問題描述:  驗證分塊查詢演算法。請用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 100    //資料表的最大長度

#define maxi 20 //索引表的最大長度

typedef int keytype;

typedef char infotype[10];

typedef struct

nodetype;

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

typedef struct

idxtype;

typedef idxtype idx[maxi]; //索引表型別

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=61;

for (i=0; i

查詢61的執行結果:

查詢739的執行結果:

查詢200的執行結果:

學習心得:

分塊查詢是將一些數分成好多份,每份之間必須是前一塊的最大數比後一塊的最小數小,每份中的數不必有序。

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

問題及 驗證分塊查詢演算法,並用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,...

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

問題描述 認真閱讀並驗證分塊查詢演算法。請用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,19...

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

檔名稱 main.cpp 作者 孫彩虹 完成日期 2015年12月7日 請用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,24...