問題及**:
*問題描述: 驗證分塊查詢演算法。請用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...