今天要介紹一個這樣的數(shù)據(jù)結(jié)構(gòu):

  1. 單向鏈接

  2. 有序保存

  3. 支持添加、刪除和檢索操作

  4. 鏈表的元素查詢接近線性時間

——跳躍表 Skip List

一、普通鏈表

移動開發(fā)培訓(xùn),Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),手機(jī)維修培訓(xùn),手機(jī)軟件培訓(xùn)

對于普通鏈接來說,越靠前的節(jié)點(diǎn)檢索的時間花費(fèi)越低,反之則越高。而且,即使我們引入復(fù)雜算法,其檢索的時間花費(fèi)依然為O(n)。為了解決長鏈表結(jié)構(gòu)的檢索問題,一位名叫William Pugh的人于1990年提出了跳躍表結(jié)構(gòu)?;舅枷胧恰钥臻g換時間。

二、簡單跳躍表(Integer結(jié)構(gòu))

跳躍表的結(jié)構(gòu)是多層的,通過從最高維度的表進(jìn)行檢索再逐漸降低維度從而達(dá)到對任何元素的檢索接近線性時間的目的O(logn)。

網(wǎng)友評論