Маргинальные свойства простых сортировок целочисленных массивов
Выполнен сравнительный анализ маргинальных скоростных свойств простых сортировок массивов с учетом операций сравнения, сложения, перестановки и запоминания ортируемых элементов в массивах целых чисел.
Авторы
Тэги
Тематические рубрики
Предметные рубрики
В этом же номере:
Резюме по документу**
Маргинальные свойства простых сортировок целочисленных массивов
УДК 681.3.06(075)
Маргинальные свойства простых сортировок
целочисленных массивов
А.Ф. Деон, Ю.И. Терентьев
МГТУ им. <...> Н.Э. Баумана, Москва, 105005, Россия
Выполнен сравнительный анализ маргинальных скоростных свойств простых
сортировок массивов с учетом операций сравнения, сложения, перестановки и запоминания
сортируемых элементов в массивах целых чисел. <...> К простым сортировкам массивов обычно относят сортировки
методами выбора, перестановки, парных сравнений, сдвига
и вставки [1]. <...> Традиционно их быстродействие оценивают лишь по
количеству операций сравнения во время упорядочивания массива. <...> При этом основное внимание уделено
двум предельным по количеству операций случаям: минимальному,
когда исходный массив уже упорядочен, и максимальному,
когда элементы массива расположены в обратном порядке. <...> Метод реализован в рамках
функции SortChoice( ), в которой позиция текущего упорядоченного
элемента заполняется минимальным текущим значением из неупорядоченной
части массива:
void SortChoice(int a[ ], const int n)
{ int n1 = n – 1;
for (int i = 0; i < n1; i++)
{ int k = i;
Интерфейс функции указывает адрес исходного неупорядоченно}
го
массива a, содержащего n элементов. <...> А.Ф. Деон, Ю.И. Терентьев
Скоростные свойства функции SortChoice( ) определяются количеством
выполненных операций в теле функции [2]. <...> Сначала выполняется
инструкция int n1 = n – 1 для определения количества
W SortChoice итераций главного цикла сортировки. <...> При этом затрачиваются
две операции на вычитание и сохранение результата:
1
W SortChoice
1
2.
итераций настраиваются две операции: <...> Кроме того, на каждой итерации в заголовке цикла выполняются
Wn
2,2
SortChoice
Wn
2,3
SortChoice
опорного элемента. <...> Далее осуществляется поиск текущего минимального элемента
под управлением заголовка внутреннего цикла for (int j = i + 1; j < n;
j++). <...> В минимальном случае затрачиваются только
три операции на проверку условия a[j] < a <...>
** - вычисляется автоматически, возможны погрешности
Похожие документы: