Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metodicheskoe_ukazanie_po_laboratornym_rabotam_...docx
Скачиваний:
5
Добавлен:
21.11.2019
Размер:
269.21 Кб
Скачать

Исходными данными являются:

  • Способ сортировки входного массива чисел;

  • Метод поиска образца в упорядоченном массиве чисел;

  • Элементы массива в диапазоне от 1 до 10 000, сформированные с помощью генератора случайных чисел;

  • Заданное число - образец.

Выходными данными являются:

  • Упорядоченный массив чисел по возрастанию;

  • Упорядоченный массив чисел по убыванию;

  • Время сортировки символов массива;

  • Время поиска заданного образца в упорядоченном массиве чисел;

  • Количество элементов равных образцу в заданном массиве чисел;

  • Таблицы определения времени и скорости от количества чисел;

  • Графики функций.

Сортировка элементов массива породила множество разнообразных решений. Однако, имея приблизительные характеристики входных данных, можно подобрать метод, работающий оптимальным образом.

Пусть есть последовательность a0, a1... an и функция сравнения, которая на любых двух элементах последовательности принимает одно из трех значений: меньше, больше или равно. Задача сортировки состоит в перестановке членов последовательности таким образом, чтобы выполнялись условия:

ai <= ai+1, для всех i от 0 до n для упорядочения последовательности в возрастающем порядке;

ai >= ai+1, для всех i от 0 до n для упорядочения последовательности в убывающем порядке.

Оценка алгоритмов сортировки информации производиться по параметрам:

Время и скорость сортировки - основные параметры, характеризующие быстродействие алгоритма.

Память - ряд алгоритмов требует выделения дополнительной памяти под временное хранение данных.

Устойчивость - устойчивая сортировка не меняет взаимного расположения равных элементов.

Естественность поведения - эффективность метода при обработке уже отсортированных, или частично отсортированных данных. Алгоритм ведет себя естественно, если учитывает эту характеристику входной последовательности и работает лучше.

Еще одним важным свойством алгоритма является его сфера применения. Здесь основных позиций две:

внутренние сортировки работают с данным в оперативной памяти с произвольным доступом;

внешние сортировки упорядочивают информацию, расположенную на внешних носителях. Это накладывает некоторые дополнительные ограничения на алгоритм:

доступ к носителю осуществляется последовательным образом: в каждый момент времени можно считать или записать только элемент, следующий за текущим

объем данных не позволяет им разместиться в ОЗУ

Кроме того, доступ к данным на носителе производится намного медленнее, чем операции с оперативной памятью.

Данный класс алгоритмов делится на два основных подкласса:

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

Внешняя сортировка оперирует с запоминающими устройствами большого объема, но с доступом не произвольным, а последовательным (сортировка файлов), т.е. в данный момент только один элемент, а затраты на перемотку по сравнению с памятью неоправданно велики. Это приводит к специальным методам сортировки, обычно использующим дополнительное дисковое пространство.

Современные вычислительные системы работают наиболее эффективно при упорядоченных данных. Сортировка информации — это процесс расстановки элементов в некотором поряд­ке. Элементы размещаются следующим образом: 1) вычисления, которые требуют определенного порядка расположения данных, могли выполняться эффек­тивно, 2) результаты имели осмысленный вид, 3) после­дующие операции имели бы упорядоченные исходные данные. Есть много различных способов упорядочений информации таких, например, как сортировка имен в списке по алфавиту или упоря­дочение данных по возрастанию или по убыванию.

Упорядочение данных включает анализ возможностей аппаратных средств вычислительных систем, рас­положения их каналов, объема оперативной памяти, частоты обращений, быстродействие, диапазона обработки входной числовой и символьной информации.

Задача сортировки потоков информации в вычислительной технике явля­ется настолько важной, что ее следует осуществлять только тогда, когда тщательное изучение аппаратных средств и параметров данных оправдывает сорти­ровку [1].

Если значение функции сравнения зависит только от поля x, то x называют ключом, по которому производится сортировка. На практике, в качестве x часто выступает число, а поле y хранит какие-либо данные, никак не влияющие на работу алгоритма.