Нитевидная сортировка :: Strand sort

Нитевидная сортировка

В данном методе приходится постоянно удалять и вставлять элементы, поэтому он достаточно оптимален при работе с двусвязными списками.

Алгоритм

Проходим список и по пути отбираем элементы, формирующие упорядоченный подсписок.

Производим слияние текущего упорядоченного подсписка с ранее полученным.

Временная сложность

Достаточно скромна - в среднем O(n2). Однако весьма эффективна при работе с почти упорядоченными списками - O(n).

Характеристики алгоритма

НазваниеНитевидная сортировка (Strand sort)
КлассСортировки слиянием
УстойчивостьДа
СравненияДа
Сложность по времениХудшаяO(n2)
СредняяO(n2)
ЛучшаяO(n)
Сложность по памятиОбщаяO(n)

Ссылки

Strand sort

Реализация на различных ЯП