Быстрая сортировка - Большая Энциклопедия Нефти и Газа, статья, страница 4
Никогда не недооценивай силы человеческой тупости. Законы Мерфи (еще...)

Быстрая сортировка

Cтраница 4


Для повышения эффективности быстрой сортировки можно, не применяя рекурсивной процедуры к ставшему коротким подфайлу, перейти к методу простых вставок или методу сортировки посредством выбора.  [46]

Простые способы сделать быструю сортировку, ориентированную на массивы, устойчивой, пока не известны.  [47]

Простое uicueoGbi сиелать быструю сортировку, ориентированную КУ массива, усюйчнаой, покз не известны.  [48]

Внести изменения в двоичную быструю сортировку с целью непосредственного обнаружения ситуаций, когда все ключи равны.  [49]

А как удаляет инверсии быстрая сортировка. Рассмотрим список из N элементов, с которым работает алгоритм PivotList. Предположим, что PivotValue больше всех остальных элементов списка. Это означает, что в конце выполнения процедуры значение PivotPoint равно N, и поэтому переменная PivotValue будет указывать не на первый, а на последний элемент списка. Возможно также, что последний элемент списка является наименьшим в нем. Поэтому перестановка этих двух значений отправляет наибольший элемент списка из первой позиции в конец, а наименьший - из конца в начало. Если наибольший элемент стоит первым, то он входит в N - 1 инверсий с остальными элементами списка, а стоящий последним наименьший элемент также образует N - 1 инверсий с остальными элементами списка. Таким образом, одна перестановка двух крайних элементов убивает 2N - 2 инверсий. Именно по этой причине средний случай быстрой сортировки значительно отличается от наихудшего.  [50]

Алгоритм 7.4. Итерационный вариант быстрой сортировки, где вначале сортируется меньшая подтаблица и для разделения подтаблицы используется случайно выбранное имя.  [51]

L совместно с реализаинями быстрой сортировки, риссма фнваемьами в настоящей главе, Несмотря на то что такой подход ПОЭРЮ.  [52]

Еще одно усовершенствование метода быстрой сортировки заключается в использовании такого разделяющего элемента, который с достаточно большой вероятностью делил бы файл вблизи его середины. Наиболее безопасный выбор, минимизирующий вероятность возникновения наихудшего случая, состоит в использовании в качестве разделяющего элемента случайного элемента массива. Тогда вероятность возникновения наихудшего случая становится ничтожно малой. Этот метод представляет собой пример вероятностного алгоритма ( probabilistic algorithm) - такого алгоритма, который использует случайный характер величин для достижения высокой эффективности с большой вероятностью, независимо от степени упорядоченности входных данных. Далее в этой книге мы столкнемся с многочисленными примерами использования свойства случайности при разработке структуры алгоритмов, в частности, когда предполагается наличие той или иной тенденции во входных данных. На практике использование в рамках быстрой сортировки генератора случайных чисел с этой целью может оказаться излишним: простой произвольный выбор оказывается достаточно эффективным.  [53]



Страницы:      1    2    3    4