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

  1. 單向鏈接

  2. 有序保存

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

  4. 鏈表的元素查詢(xún)接近線性時(shí)間

——跳躍表 Skip List

一、普通鏈表

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

對(duì)于普通鏈接來(lái)說(shuō),越靠前的節(jié)點(diǎn)檢索的時(shí)間花費(fèi)越低,反之則越高。而且,即使我們引入復(fù)雜算法,其檢索的時(shí)間花費(fèi)依然為O(n)。為了解決長(zhǎng)鏈表結(jié)構(gòu)的檢索問(wèn)題,一位名叫William Pugh的人于1990年提出了跳躍表結(jié)構(gòu)。基本思想是——以空間換時(shí)間。

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

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

網(wǎng)友評(píng)論