В інформатиці, список з пропусками (англ. skip list) — структура даних, яка дозволяє швидкий пошук в упорядкованій послідовності елементів. Швидкий пошук стає можливим через утримання зв'язаної ієрархії підпослідовностей, кожна з яких пропускає кілька елементів з попереднього списку. Пошук стартує в найрозрідженішому списку, і триває допоки не знайдені два послідовних елементи один менший і один більший від шуканого елементу. Через ієрархічні зв'язки ці два елементи зв'язані з елементами наступного по щільності списку, в якому пошук продовжується. Таким чином ми доходимо до повного списку, без пропусків. Елементи пропущені у розріджених списках можуть обиратись імовірнісно.
Список з пропусками | ||
---|---|---|
Тип | Список | |
Винайдено | 1989 | |
Винайшли | Вільям П'ю | |
Обчислювальна складність у записі великого О | ||
Середня | Найгірша | |
Простір | O(n) | O(n log n) |
Пошук | O(log n) | O(n) |
Вставляння | O(log n) | O(n) |
Видалення | O(log n) | O(n) |
Опис
Список з пропусками будується пошарово. Нижній шар це звичайний впорядкований зв'язаний список. Кожен наступний шар поводиться як «експрес-лінія» для нижнього списку, де елементи з шару з'являються в шарі з певною ймовірністю (найуживанішими значеннями для є і ). В середньому, кожний елемент з'являється в списках, найвищий елемент (зазвичай особливий елемент на початку списку з пропусками) в списках.
Пошук цільового елементу починається з головного елемента верхнього списку, і продовжується горизонтально доки поточний елемент є більшим або рівним цільовому. Якщо поточний елемент дорівнює цільовому, пошук завершується. якщо поточний елемент більший ніж цільовий або пошук досяг кінця списку зв'язного списку, процедуру повторюють після повернення до попереднього елемента і спуску на один рівень нижче. Сподіване число кроків в кожному зв'язаному списку становить не більше ніж Вибір різних значень для дає можливість досягти необхідного балансу між швидкість пошуку і місцем на диску.
Аналіз вартості пошуку
З високою імовірністю, кожен пошук у списку з пропусками коштує
Лема
З високою імовірністю, список з пропусками з елементами має рівнів.
Доведення:
- елемент досяг вищого рівня ніж
- Застосовуючи нерівність Буля для імовірності об'єднання подій:
- будь-який елемент досяг вищого рівня ніж
- Отже, імовірність помилки поліноміально мала і експоненту можна зробити як завгодно великою через відповідний вибір сталої в
Доведення теореми (нарис)
- Ідея: Аналізувати пошук у зворотньому напрямку — від листа до кореня
- Пошук починається з елемента найнижчого рівня
- На кожному відвіданому вузлі:
- Якщо вершина не підвищували до наступного рівня, тоді ми рухаємось (прийшли) ліворуч
- Якщо вершина підвищували до наступного рівня, тоді ми рухаємось (прийшли) вгору
- Пошук завершується в корені
- Відомо, що висота становить з високою імовірністю, наприклад
- Отже, кількість рухів догори є щонайбільше , з високою імовірністю
- Звідси, вартість пошуку є кількістю подій необхідних, щоб досягнути рівня (якщо тоді скільки підкидань монети потрібно, щоб отримати аверсів)
- Інтуїтивно,
Примітки
- http://www.cs.uwaterloo.ca/research/tr/1993/28/root2side.pdf
- П'ю, Вільям (червень 1990). Skip lists: a probabilistic alternative to balanced trees. Communications of the ACM. ACM. 33 (6): 668—676. doi:10.1145/78973.78977. Процитовано 15.11.2014.
- Детерміністичні списки з пропусками(англ.)
- Параметризована подія відбувається з високою імовірністю якщо, для будь-якого відбувається з імовірністю не менше ніж де є сталою залежною тільки від Терм називається імовірністю помилки.
Див. також
Це незавершена стаття про структури даних. Ви можете проєкту, виправивши або дописавши її. |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
V informatici spisok z propuskami angl skip list struktura danih yaka dozvolyaye shvidkij poshuk v uporyadkovanij poslidovnosti elementiv Shvidkij poshuk staye mozhlivim cherez utrimannya zv yazanoyi iyerarhiyi pidposlidovnostej kozhna z yakih propuskaye kilka elementiv z poperednogo spisku Poshuk startuye v najrozridzhenishomu spisku i trivaye dopoki ne znajdeni dva poslidovnih elementi odin menshij i odin bilshij vid shukanogo elementu Cherez iyerarhichni zv yazki ci dva elementi zv yazani z elementami nastupnogo po shilnosti spisku v yakomu poshuk prodovzhuyetsya Takim chinom mi dohodimo do povnogo spisku bez propuskiv Elementi propusheni u rozridzhenih spiskah mozhut obiratis imovirnisno Spisok z propuskami Tip Spisok Vinajdeno 1989 Vinajshli Vilyam P yu Obchislyuvalna skladnist u zapisi velikogo O Serednya Najgirsha Prostir O n O n log n Poshuk O log n O n Vstavlyannya O log n O n Vidalennya O log n O n OpisSpisok z propuskami buduyetsya posharovo Nizhnij shar ce zvichajnij vporyadkovanij zv yazanij spisok Kozhen nastupnij shar povoditsya yak ekspres liniya dlya nizhnogo spisku de elementi z sharu i displaystyle i z yavlyayutsya v shari i 1 displaystyle i 1 z pevnoyu jmovirnistyu p displaystyle p najuzhivanishimi znachennyami dlya p displaystyle p ye 1 2 displaystyle 1 2 i 1 4 displaystyle 1 4 V serednomu kozhnij element z yavlyayetsya v 1 1 p displaystyle 1 1 p spiskah najvishij element zazvichaj osoblivij element na pochatku spisku z propuskami v log 1 p n displaystyle log 1 p n spiskah Poshuk cilovogo elementu pochinayetsya z golovnogo elementa verhnogo spisku i prodovzhuyetsya gorizontalno doki potochnij element ye bilshim abo rivnim cilovomu Yaksho potochnij element dorivnyuye cilovomu poshuk zavershuyetsya yaksho potochnij element bilshij nizh cilovij abo poshuk dosyag kincya spisku zv yaznogo spisku proceduru povtoryuyut pislya povernennya do poperednogo elementa i spusku na odin riven nizhche Spodivane chislo krokiv v kozhnomu zv yazanomu spisku stanovit ne bilshe nizh 1 p displaystyle 1 p Vibir riznih znachen dlya p displaystyle p daye mozhlivist dosyagti neobhidnogo balansu mizh shvidkist poshuku i miscem na disku Vstavlyannya elementa u spisok z propuskamiAnaliz vartosti poshukuZ visokoyu imovirnistyu kozhen poshuk u spisku z propuskami koshtuye O lg n displaystyle O lg n Lema Z visokoyu imovirnistyu spisok z propuskami z n displaystyle n elementami maye O lg n displaystyle O lg n rivniv Dovedennya P r displaystyle Pr element x displaystyle x dosyag vishogo rivnya nizh c lg n 1 p c lg p n 1 n c displaystyle c lg n 1 p c lg p n 1 n c Zastosovuyuchi nerivnist Bulya dlya imovirnosti ob yednannya podij P r displaystyle Pr bud yakij element dosyag vishogo rivnya nizh c lg n 1 n 1 n c 1 n c 1 displaystyle c lg n leq sum 1 n 1 n c 1 n c 1 Otzhe imovirnist pomilki polinomialno mala i eksponentu a c 1 displaystyle alpha c 1 mozhna zrobiti yak zavgodno velikoyu cherez vidpovidnij vibir staloyi v O lg n displaystyle O lg n Dovedennya teoremi naris Ideya Analizuvati poshuk u zvorotnomu napryamku vid lista do korenya Poshuk pochinayetsya z elementa najnizhchogo rivnya Na kozhnomu vidvidanomu vuzli Yaksho vershina ne pidvishuvali do nastupnogo rivnya todi mi ruhayemos prijshli livoruch Yaksho vershina pidvishuvali do nastupnogo rivnya todi mi ruhayemos prijshli vgoru Poshuk zavershuyetsya v koreni Vidomo sho visota stanovit O lg n displaystyle O lg n z visokoyu imovirnistyu napriklad c lg n displaystyle c lg n Otzhe kilkist ruhiv dogori ye shonajbilshe c lg n displaystyle c lg n z visokoyu imovirnistyu Zvidsi vartist poshuku ye kilkistyu podij neobhidnih shob dosyagnuti rivnya c lg n displaystyle c lg n yaksho p 1 2 displaystyle p 1 2 todi skilki pidkidan moneti potribno shob otrimati c lg n displaystyle c lg n aversiv Intuyitivno O lg n displaystyle O lg n Primitkihttp www cs uwaterloo ca research tr 1993 28 root2side pdf P yu Vilyam cherven 1990 Skip lists a probabilistic alternative to balanced trees Communications of the ACM ACM 33 6 668 676 doi 10 1145 78973 78977 Procitovano 15 11 2014 Deterministichni spiski z propuskami angl Parametrizovana podiya E a displaystyle E alpha vidbuvayetsya z visokoyu imovirnistyu yaksho dlya bud yakogo a 1 E a displaystyle alpha geq 1 E alpha vidbuvayetsya z imovirnistyu ne menshe nizh 1 c a n a displaystyle 1 c alpha n alpha de c a displaystyle c alpha ye staloyu zalezhnoyu tilki vid a displaystyle alpha Term c a n a displaystyle c alpha n alpha nazivayetsya imovirnistyu pomilki Div takozhFiltr Bluma Ce nezavershena stattya pro strukturi danih Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi