Другие языки программирования и технологии

Самый оптимальный алгоритм сортировки в плане производительности

Гибридная сортировка TimSort смесь сортировки слиянием (merge) с сортировкой вставками (insert). А быстрая сортировка quick sort в худшем случае если данные частично или полностью уже отсортированы может дать квадратичную сложность O(n^2) что не есть хорошо, то бишь скатиться до уровня примитивных квадратичных сортировок.
АЖ
Александр Жиронкин
11 372
Лучший ответ
Есть достаточно много алгоритмов, которые имеют среднюю сложность порядка N*ln(n). Сравнивать их в общем случае в плане производительности достаточно тяжело.
Если задача практическая, то возьми std::sort, и не ошибешься. Стандарт гарантирует N*ln(n), а какой конкретно алгоритм будет использоваться - не говорит.

PS. Ой, извини, у тебя Паскаль. Возьми, например, алгоритм Хоара, он неплохой (особенно если с модификациями) .
https://ru.wikipedia.org/wiki/Быстрая_сортировка
Там даже код на Паскале какой-то есть в Вики.

PPS. Есть еще алгоритмы с линейной сложностью, но они сильно ограничены по типам сортируемых данных и жрут память. Да и лишний логарифм в сложности - это, в общем, фигня, даже для триллиона это мелочь.
Сергей Шапорев
Сергей Шапорев
19 662
Смотря в каком виде представлены входные данные, насколько они структурированы. для разных данных и разных вычислительных систем могут быть быстрее разные алгоритмы.
Поточнее.
как вам угарчик
Когда-то требовательной игрой считался Unreal Tournament 2004, так как там были довольно серьезные по тем меркам системные требования. Чтобы гонять в нее на ультре необходимо было иметь видеокарту 256 мегабайт, но теперь ее потянет даже слабенький двуядерный компьютер. В данный момент игры имеют крайне высокие требования к компьютерам.
Нельзя конкретно сказать, какая сейчас самая требовательная игра. Дело в том, что таких игр сразу несколько. Допустим, Battlefield III очень требовательная. Чтобы поиграть на максимальных настройках, у вас должно быть 4 гигабайта оперативной памяти, продвинутая видеокарта, аналогичная старым с 1 гигабайт памяти, четырехъядерный процессор и свежая операционная система. Не факт, что все будет играться достойно даже с таким требованиями, поэтому более мощные компьютеры могут потянуть эту игру.
Серия Grand Theft Auto всегда отличалась системными требованиями. Последняя игра GTA IV подтвердила это. Чтобы сыграть в нее на максимальных настройках графики, вам необходимо иметь те же самые показатели, что и в Battlefield III. На самом деле происходит это по причине низкого числа FPS. Сейчас создатели уже не заботятся о наших компьютерах, это ускоряет процесс создания, понижая это число.
Новая версия GTA V будет еще более требовательней. На время она станет самой мощной в этом отношении игрой. Здесь лучше иметь 8 гигабайт оперативной памяти и видеокарту с двумя гигабайтами. Когда-то требовательной игрой считался Unreal Tournament 2004, так как там были довольно серьезные по тем меркам системные требования. Чтобы гонять в нее на ультре необходимо было иметь видеокарту 256 мегабайт, но теперь ее потянет даже слабенький двуядерный компьютер. В данный момент игры имеют крайне высокие требования к компьютерам.
Нельзя конкретно сказать, какая сейчас самая требовательная игра. Дело в том, что таких игр сразу несколько. Допустим, Battlefield III очень требовательная. Чтобы поиграть на максимальных настройках, у вас должно быть 4 гигабайта оперативной памяти, продвинутая видеокарта, аналогичная старым с 1 гигабайт памяти, четырехъядерный процессор и свежая операционная система. Не факт, что все будет играться достойно даже с таким требованиями, поэтому более мощные компьютеры могут потянуть эту игру.
Серия Grand Theft Auto всегда отличалась системными требованиями. Последняя игра GTA IV подтвердила это. Чтобы сыграть в нее на максимальных настройках графики, вам необходимо иметь те же самые показатели, что и в Battlefield III. На самом деле происходит это по причине низкого числа FPS. Сейчас создатели уже не заботятся о наших компьютерах, это ускоряет процесс создания, понижая это число.
Новая версия GTA V будет еще более требовательней. На время она станет самой мощной в этом отношении игрой. Здесь лучше иметь 8 гигабайт оперативной памяти и видеокарту с двумя гигабайтами.
Когда-то требовательной игрой считался Unreal Tournament 2004, так как там были довольно серьезные по тем меркам системные требования. Чтобы гонять в нее на ультре необходимо было иметь видеокарту 256 мегабайт, но теперь ее потянет даже слабенький двуядерный компьютер. В данный момент игры имеют крайне высокие требования к компьютерам.
Нельзя конкретно сказать, какая сейчас самая требовательная игра. Дело в том, что таких игр сразу несколько. Допустим, Battlefield III очень требовательная. Чтобы поиграть на максимальных настройках, у вас должно быть 4 гигабайта оперативной памяти, продвинутая видеокарта, аналогичная старым с 1 гигабайт памяти, четырехъядерный процессор и свежая операционная система. Не факт, что все будет играться достойно даже с таким требованиями, поэтому более мощные компьютеры могут потянуть эту игру.
Suleyman Rustamov
Suleyman Rustamov
228

Похожие вопросы