20180313分块查找
生活随笔
收集整理的這篇文章主要介紹了
20180313分块查找
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
2019獨角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
前置知識
- 是對順序查找的一種改進(jìn)。
本期內(nèi)容
名詞解釋
- 查找過程
- 將查找表分為各干個子表
- 對子表進(jìn)立索引表,查找表的每一個子表由索引表中的索引項確定。要求索引項按關(guān)鍵字字段進(jìn)行有序排列。
- 索引項包括:
- 關(guān)鍵字字段(存放對應(yīng)子表中的最大關(guān)鍵字值) 【看過其它材料,最小關(guān)鍵字也是可以的】
- 地址字段(存放指向?qū)?yīng)子表的指針)
- 查找時,先用給定值x在索引表中檢測索引項,以確定所要進(jìn)行的查找在查找表中的查找分塊(由于索引項按關(guān)鍵字字段進(jìn)行有序排列),然后再對該分塊進(jìn)行順序查找。
- 將查找表分為各干個子表
- 實際舉例
- 平均劃分子表,最后一個可以不滿;
- 索引項中關(guān)鍵字段呢,就是當(dāng)前子表中的最大值;
實現(xiàn)
-
時間復(fù)雜度
- 是索引查找和子表查找兩步之和。具體見紙上的筆記。
-
別人實現(xiàn)
總體評價
- 優(yōu)點:找到塊后,就在該塊內(nèi)進(jìn)行操作,不需要移動大量記錄。
- **主要代價:**增加了一個輔助數(shù)組的存儲空間和將初始表分塊排序的運算。
代碼學(xué)習(xí)
履歷
- 20180313整理完,但以下三點沒弄清楚
- 代碼的實現(xiàn)
- 時間復(fù)雜度的計算
- 分塊的索引跟K進(jìn)行對比,有啥科學(xué)依據(jù)沒?是分塊的最大值必須和K相等,還是與K的值相減后在合理區(qū)間內(nèi)?【第1塊<K<第2塊,因為第1塊最大的小于K,而第2塊是最大的的大于K,所以只能在第二塊】
轉(zhuǎn)載于:https://my.oschina.net/wolflion/blog/1633923
總結(jié)
以上是生活随笔為你收集整理的20180313分块查找的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 欢庆1024之:程序猿不是你想黑,想黑就
- 下一篇: Repo lesson