390
 правок
Изменения
Нет описания правки
Если в качестве случайного источника использовать честную монету, то тогда если в списке будет <tex>n</tex> элементов, то количество уровней в среднем будет равно <tex>\log{n}</tex>. Тогда на последнем уровне будет не более двух элементов, а на каждом следующем будет почти в два раза больше. Тогда на каждом уровне мы проверим не более двух элементов (если бы на каком-нибудь уровне проверили три элемента, то в среднем это значило, что мы могли пройти на верхнем уровне на один элемент больше). Уровней всего <tex>\log{n}</tex>, откуда вытекает оценка времени поиска элемента в <tex>O(\log{n})</tex>.
    '''T''' find ('''list''' skip_list, '''K''' key)
        '''node''' res 
        '''for''' (res = skip_list.head; res.ref != ''null''; res = res.ref) <font color=darkgreen>// Пока ещё не дошли до первого уровня </font>
            '''while''' res.key < key                                        <font color=darkgreen>// Переходим к следующему элементу</font>
                res = res.next() 
        '''return''' res.data 
===Вставка элемента===
* <tex>key</tex>  {{---}} ключ типа K
Вставка:
<code>