今天要介紹一個這樣的數(shù)據(jù)結(jié)構(gòu):
單向鏈接
有序保存
支持添加、刪除和檢索操作
鏈表的元素查詢接近線性時間
——跳躍表 Skip List
一、普通鏈表
對于普通鏈接來說,越靠前的節(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)。