9494// Встроенная сортировка (эталон).
9595// Сортирует через ТаблицаЗначений.Сортировать(), затем копирует обратно в массив.
9696// Служит базой для Ratio - все остальные алгоритмы сравниваются с этим.
97- &Бенчмарк
97+ &Бенчмарк ( Наименование = "Встроенная" )
9898&Эталон
9999&Параметры (1000 )
100100&Параметры (10000 )
112112// Сортировка пузырьком - O(n²).
113113// Простейший алгоритм: соседние элементы сравниваются и меняются местами.
114114// Всегда выполняет n*(n-1)/2 сравнений независимо от входных данных.
115- &Бенчмарк
115+ &Бенчмарк ( Наименование = "Пузырьком O(n²)" )
116116&Параметры (1000 )
117117Процедура СортировкаПузырьком (РазмерМассива ) Экспорт
118118
133133// Сортировка вставками - O(n²), лучший O(n).
134134// Каждый элемент сдвигается влево до своей позиции.
135135// Эффективна на малых и почти отсортированных массивах; используется как базис в гибридных алгоритмах.
136- &Бенчмарк
136+ &Бенчмарк ( Наименование = "Вставками O(n²)" )
137137&Параметры (1000 )
138138Процедура СортировкаВставками (РазмерМассива ) Экспорт
139139
155155
156156// Бинарная сортировка вставками - O(n²) сдвигов, O(n log n) сравнений.
157157// Позиция вставки ищется бинарным поиском, но сдвиг элементов остаётся линейным.
158- &Бенчмарк
158+ &Бенчмарк ( Наименование = "Бинарные вставки O(n²)" )
159159&Параметры (1000 )
160160Процедура СортировкаВставкамиБинарная (РазмерМассива ) Экспорт
161161
193193// Двойная сортировка выбором - O(n²).
194194// На каждом проходе находит минимум и максимум, сужая границы с двух сторон.
195195// Вдвое меньше проходов, чем классическая сортировка выбором.
196- &Бенчмарк
196+ &Бенчмарк ( Наименование = "Выбором (двойная) O(n²)" )
197197&Параметры (1000 )
198198Процедура СортировкаВыбором (РазмерМассива ) Экспорт
199199
244244// Обобщение сортировки вставками с убывающим шагом.
245245// Последовательность Ciura [1,4,10,23,57,132,301,701] эмпирически оптимальна;
246246// для массивов >701 элемента шаги продолжаются с множителем ×2.25.
247- &Бенчмарк
247+ &Бенчмарк ( Наименование = "Шелла (Ciura) O(n^1.25)" )
248248&Параметры (1000 )
249249&Параметры (10000 )
250250Процедура СортировкаШелла (РазмерМассива ) Экспорт
302302// Гибрид быстрой + пирамидальной + вставками.
303303// Медиана трёх для выбора опорного, лимит глубины 2·log2(n) с переходом на пирамидальную,
304304// участки < МинимальныйРазмерВставки досортировываются вставками.
305- &Бенчмарк
305+ &Бенчмарк ( Наименование = "Быстрая O(n log n)" )
306306&Параметры (1000 )
307307&Параметры (10000 )
308308Процедура БыстраяСортировка (РазмерМассива ) Экспорт
406406// Блоки размером МинимальныйРазмерВставки сортируются вставками,
407407// затем попарно сливаются с удвоением ширины. Единый буфер на все слияния.
408408// Оптимизация: пропуск слияния, если граница уже упорядочена.
409- &Бенчмарк
409+ &Бенчмарк ( Наименование = "Слиянием O(n log n)" )
410410&Параметры (1000 )
411411&Параметры (10000 )
412412Процедура СортировкаСлиянием (РазмерМассива ) Экспорт
494494// Пирамидальная сортировка - O(n log n).
495495// Построение max-heap за O(n), затем n извлечений вершины.
496496// Просеивание (sift-down) заинлайнено для производительности в интерпретаторе.
497- &Бенчмарк
497+ &Бенчмарк ( Наименование = "Пирамидальная O(n log n)" )
498498&Параметры (1000 )
499499&Параметры (10000 )
500500Процедура ПирамидальнаяСортировка (РазмерМассива ) Экспорт
645645// Сортировка расчёской - O(n log n) в среднем.
646646// Улучшение пузырька: шаг сравнения уменьшается с коэффициентом 1.3 до 1.
647647// Эффективно устраняет «черепах» - мелкие элементы в конце массива.
648- &Бенчмарк
648+ &Бенчмарк ( Наименование = "Расчёской O(n log n)" )
649649&Параметры (1000 )
650650&Параметры (10000 )
651651Процедура СортировкаРасческой (РазмерМассива ) Экспорт
679679// Сортировка подсчётом - O(n + k), где k = ВерхняяГраница.
680680// Не основана на сравнениях: считает количество вхождений каждого значения.
681681// Эффективна при k ≈ n; при k >> n большая часть работы - пустой пробег по счётчикам.
682- &Бенчмарк
682+ &Бенчмарк ( Наименование = "Подсчётом O(n + k)" )
683683&Параметры (1000 )
684684&Параметры (10000 )
685685&Параметры (100000 )
711711// Поразрядная сортировка (LSD Radix-256) - O(d·(n+b)), где d=2, b=256.
712712// Два прохода по основанию 256: сначала младшие 8 бит, затем старшие.
713713// Покрывает значения [0..65535]. Стабильная, не основана на сравнениях.
714- &Бенчмарк
714+ &Бенчмарк ( Наименование = "Поразрядная Radix-256 (LSD) O(d*(n+b))" )
715715&Параметры (1000 )
716716&Параметры (10000 )
717717&Параметры (100000 )
807807
808808 Возврат 0 ;
809809
810- КонецФункции
810+ КонецФункции
0 commit comments