第十三周 專案1 驗證演算法之分塊查詢

2021-08-11 08:11:46 字數 1231 閱讀 7314

/*  

*all rights reservrd.      

*版本號: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進行測試。 

main.cpp

#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]; //索引表型別

小結:分塊查詢的速度雖然不如折半查詢演算法,但比順序查詢演算法快得多,同時又不需要對全部節點進行排序。當節點很多且塊數很大時,對索引表可以採用折半查詢,這樣能夠進一步提高查詢的速度。分塊查詢由於只要求索引表是有序的,對塊內節點沒有排序要求,因此特別適合於節點動態變化的情況。

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

all rights reservrd.檔名稱 test.cpp 版本號 v1.0 問題描述 驗證演算法 問題及 折半查詢 include define maxl 100 typedef int keytype typedef char infotype 10 typedef struct node...

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

all rights reservrd.檔名稱 test.cpp 版本號 v1.0 問題描述 驗證演算法 問題及 折半查詢 include define maxl 100 typedef int keytype typedef char infotype 10 typedef struct node...

第十三周 專案2 驗證分塊查詢演算法

程式頭部注釋開始 程式的版權和版本宣告部分 檔名稱 danlianbao.cpp 作 者 胡俊超 完成日期 2017 年 11 月 30 日 版 本 號 v1.0 對任務及求解方法的描述部分 問題描述 認真閱讀並驗證分塊查詢演算法。請用22,4,23,11,20,2,15,13,30,45,26,3...