Python資料結構 查詢

2021-09-13 08:57:35 字數 1320 閱讀 8958

常見查詢方法:

順序查詢

二分查詢

插值查詢

斐波那契查詢

雜湊查詢法

一項一項依此查詢

時間複雜度:最好情況o(1

)o(1)

o(1)

,平均情況o(n

)o(n)

o(n)

,最壞情況o(n

)o(n)

o(n)

。將資料分為分成兩等份,比較鍵值與中間值的大小,根據結果查詢前半段或者後半段。

時間複雜度:o(l

og(n

))

o(log(n))

o(log(

n))根據資料位置的分布,利用公式**資料所在位置,再以二分法的方式漸漸逼近。

時間複雜度:對於分布均勻的資料,優於o(l

og(n

))

o(log(n))

o(log(

n))按照斐波那契級數的方式分割資料

時間複雜度:平均為o(l

og(n

))

o(log(n))

o(log(

n))除留餘數法、平方取中法、摺疊法、數字分析法

除留餘數法:

將資料除以乙個常數後,取餘數當索引。

平方取中法:

計算資料的平方,取其中間的一段數字作為索引。

摺疊法:

將資料轉換為一串數字後,將這串數字拆分成幾個部分,再加起來作為索引。

數字分析法:

將資料高重複部分刪除,剩餘部分作為索引。

例如快遞送外賣,用手機末尾後4位數,作為索引。

線性探測法、平方探測法、再雜湊法、鍊錶法

平方探測:(ke

y)±i

2,i∈

0,1,

2,..

.,

nf(key)\pm i^2,i\in0,1,2,...,n

f(key)

±i2,

i∈0,

1,2,

...,

n 在雜湊法:

發生碰撞時,採用不同的雜湊函式

鍊錶法:

發生溢位時,在f(k

ey

)f(key)

f(key)

後面加乙個節點。

參考書籍:《**資料結構–使用python》

部分**

查詢 資料結構

分類 資料結構與演算法 c c 2012 07 24 16 17 614人閱讀收藏 舉報幾種查詢演算法 順序查詢,折半查詢,分塊查詢,雜湊表 一 順序查詢的基本思想 從表的一端開始,向另一端逐個按給定值kx 與關鍵碼進行比較,若找到,查詢成功,並給出資料元素在表中的位置 若整個表檢測完,仍未找到與k...

資料結構 查詢

查詢 searching 也稱 檢索,查表,就是在大量的資訊集中尋找乙個特定的資訊元素。查詢就是根據 給定的關鍵字值,在 查詢表中確定乙個關鍵字等於給定的 記錄或資料元素。若存在這樣的資料元素,則稱查詢成功的,否則查詢不成功。查詢是許多重要的電腦程式中 最耗費時間的部分,查詢演算法的優劣密切關係著查...

資料結構 查詢

一.靜態查詢表 靜態查詢表是僅對查詢表進行查詢操作,而不能改變其中資料的線性表,可以是基於陣列的順序儲存或以線性鍊錶儲存。靜態查詢表主要有順序表 有序順序表和索引順序表三種。1.順序查詢 函式模型 int seqsearch element list,int searchnum,int n 2.折半...