資料結構 靜態查詢之分塊查詢

2021-07-05 22:01:35 字數 621 閱讀 9229

【分塊查詢】

分塊查詢,也稱索引順序查詢,是一種折半查詢和順序查詢的改進方法。

【思想】

①把線性表分成若干塊,每塊包含若干個元素

②塊內無序,塊間有序。 ③

建立乙個索引表,把每塊中的最大關鍵字值和每塊的第乙個元素在表中的位置和最後乙個元素在表中的位置存放在索引項中。 ④

先確定待查資料元素所在的塊,然後再塊內順序查詢

如圖:

【asl】

aslbs=(n/s+s)/2  +1,(其中s是每塊的元素個數,n為表長)

【時間複雜度】

時間複雜度為o(n

)~o(log2n)

【優缺點】

(1)優點:適用範圍大,順序儲存和連式儲存都適用;查詢效率高

(2)缺點:需要將待查表分塊排序,並且要增加乙個儲存空間用來儲存索引表

三大靜態查詢:

靜態查詢之順序查詢

靜態查詢之二分查詢

【小結】

查詢之分塊查詢

分塊查詢又稱索引順序查詢,吸取順序查詢和折半查詢的優點 基本思想 將查詢表分為若干個子塊。塊內的元素可以無序,但塊件是有序的,即第乙個塊中的最大關鍵字小於第二塊中的所有關鍵字,依次類推。再建乙個索引表,索引表中的元素含有各塊的最大關鍵字和各塊中第乙個元素的位址,索引表按關鍵字有序排列。示意圖 查詢分...

查詢演算法之分塊查詢

演算法思想 1.將n個資料元素 按塊有序 劃分為m塊 m n 2.每一塊中的結點不必有序,但塊與塊之間必須 按塊有序 3.即第1塊中任一元素的關鍵字都必須小於第2塊中任一元素的關鍵字 4.而第2塊中任一元素又都必須小於第3塊中的任一元素,分塊查詢是折半查詢和順序查詢的一種改進方法,分塊查詢由於只要求...

資料結構複習之分塊

分塊大暴力!分塊大暴力!分塊是乙個具有很強普適性的資料結構。可以適用於許多區間操作,只是效率略低了一點。分塊大體的套路如下 預處理出整塊的貢獻,暴力搞邊界兩個非完整塊的貢獻。分塊由鬼畜證明每個塊的大小為sqrt n 的話複雜度比較好。一下為分塊板子 解釋一下幾個陣列的意思 block是每個塊的大小,...