資料結構之線性索引查詢

2021-08-25 11:28:06 字數 739 閱讀 2101

在資料結構的查詢中,有順序查詢(時間複雜度o(n))、有序查詢中的三種優化查詢:

折半查詢,時間複雜度o(logn);

插值查詢,時間複雜度o(logn),針對均勻資料時比折半要優異;

斐波那契查詢,時間複雜度o(logn),只需要加法計算;

上述查詢針對海量資料時,耗時非常大,故有了索引查詢。

線性索引包括:稠密索引、分塊索引、倒排索引。

稠密索引即資料集中每乙個記錄都對應乙個索引。如下圖所示:

對於稠密索引來說,索引的關鍵字一定是按照有序排列的。

缺點:索引量與資料量是同樣規模的,反覆讀取索引耗時大。

即對資料集進行分塊,每個塊之間是有序的,對每個塊建立索引項,從而減少索引的數量。

分塊滿足的兩個條件:

塊內無序;

塊間有序;

如下圖所示:

分塊索引的平均查詢長度:

資料結構之查詢(四) 線性索引查詢

索引就是把乙個關鍵字與它對應的記錄相關聯的過程。索引按照結構可以分為線性索引,樹形索引和多級索引。我們這裡就只介紹線性索引技術。所謂線性索引就是將索引項集合組織為線性結構,也成為索引表。分為 稠密索引,分塊索引和倒排索引。稠密索引 對於稠密索引這個索引表來說,索引項一定是按照關鍵碼有序的排列。分塊索...

資料結構與演算法(線性結構) 查詢演算法之線性查詢

本篇主要介紹查詢演算法中的線性查詢,由於我們之前一直用的陣列開篇,所以接下來也會用陣列來進行實現。線性查詢其實就是在陣列當中找到某乙個元素,其實說白了就是把陣列所有元素都對比一次找到自己需要的元素。線性查詢也叫順序查詢,這是最基本的一種查詢方法,從給定的值中進行 輪詢 搜尋,從一端開始逐一檢查每個元...

資料結構之線性結構

資料結構學習虛函式,幾個知識點 1 抽象類函式本身不能直接例項化,需要其子類例項化虛函式,才能例項化。繼承抽象類的子類必須重寫虛函式,具體函式可實現,也可不實現。2 const修飾符,若修飾函式,則函式引數不能被改變。若修飾成員變數,則成員變數在使用過程中不被改變。修飾傳入引數,則避免引數被改變。3...