![](/user_photo/2706_HbeT2.jpg)
- •Содержание
- •Введение
- •1 Содержание пояснительной записки (пз)
- •1 Функциональная спецификация
- •2 Программная спецификация
- •3 Эксплуатационные процедуры
- •4 Процедуры тестирования и сопровождения
- •2 Теоретические сведения
- •2.1 Системы счисления
- •2.1.1 Перевод чисел из системы счисления с основанием n в десятичную систему счисления
- •2.1.2 Перевод чисел из десятичной системы счисления в систему счисления с основанием n
- •2.1.3 Перевод дробных чисел из системы счисления с основанием n в десятичную систему счисления
- •2.1.4 Перевод дробных чисел из десятичной системы счисления в систему счисления с основанием n.
- •2.1.5 Перевод чисел из двоичной системы счисления в восьмеричную (шестнадцатеричную) систему счисления
- •2.1.6 Перевод чисел из восьмеричной (шестнадцатеричной) системы счисления в двоичную систему счисления
- •2.2 Двоичная арифметика.
- •2.1.8 Сложение и вычитание в системах счисления с основанием n
- •3 Логические основы
- •3.1 Схема и
- •3.2 Схема или
- •3.3 Схема не
- •3.4 Схема и—не
- •3.5 Схема или—не
- •4 Структуры данных
- •4.1 Иерархическая модель данных.
- •4.2 Сетевая модель данных
- •4.3 Реляционная модель данных
- •5 Сортировка массивов
- •5.1 Сортировка вставкой
- •5.2 Сортировка обменом
- •5.3 Сортировки с помощью выделения
- •6.2 Логические основы
- •6.3 Структуры данных
- •6.4 Сортировка массивов
- •7 Задания на курсовую работу
- •7.1 Системы счисления
- •7.2 Логические элементы и логические схемы
- •7.3 Проверить тождественность логических функций X и y
- •7.4 Структуры данных
- •7.5 Методы сортировок
- •8 Темы докладов
- •Библиографический список
- •Оформление титульного листа
- •Пояснительная записка
- •Блок схема сортировок
- •Информатика
5 Сортировка массивов
Сортировка и поиск - это примеры задач, которые можно решать с помощью различных алгоритмов, каждый из которых имеет свои достоинства и недостатки. В общем случае сортировку следует понимать как процесс перегруппировки заданного множества объектов в некотором определенном порядке. Сортировкой называют упорядочение информации по какому-либо признаку - ключу сортировки. Цель сортировки - облегчить последующий поиск элементов в таком отсортированном множестве.
Для оценки быстродействия алгоритмов различных методов сортировки, как правило, используют два показателя:
· количество присваиваний;
· количество сравнений.
Все методы сортировки можно разделить на две большие группы:
· прямые методы сортировки;
· улучшенные методы сортировки.
Прямые методы сортировки по принципу, лежащему в основе метода, в свою очередь разделяются на три подгруппы:
· сортировка вставкой (включением);
· сортировка выбором (выделением);
· сортировка обменом (пузырьковая сортировка).
Улучшенные методы сортировки основываются на тех же методах, что и прямые, но используют некоторые оригинальные идеи для ускорения процесса сортировки.
5.1 Сортировка вставкой
Принцип метода: Массив разделяется на две части: отсортированную и не отсортированную. Элементы из не отсортированной части поочередно выбираются и вставляются в отсортированную часть так, чтобы не нарушить в ней упорядоченность элементов. В начале работы алгоритма в качестве отсортированной части массива принимают только один первый элемент, а в качестве не отсортированной части - все остальные элементы. При этом методе элементы мысленно делятся на уже "готовую" последовательность a1, ..., аi-1 и исходную последовательность. При каждом шаге, начиная с i=2 и увеличивая i каждый раз на единицу, из исходной последовательности извлекается 1-й элемент и перекладывается в готовую последовательность, при этом он вставляется на нужное место.
Таким образом, алгоритм будет состоять из n-1 прохода (n - размерность массива), каждый из которых будет включать четыре действия:
· взятие очередного i-го не отсортированного элемента и сохранение его в дополнительной переменной;
· поиск позиции j в отсортированной части массива, в которой присутствие взятого элемента не нарушит упорядоченности элементов;
· сдвиг элементов массива от i-1- го до j-1-го вправо, чтобы освободить найденную позицию вставки;
· вставка взятого элемента в найденную j-ю позицию.
Общее число сравнений и пересылок равно:
Cmin=n-1 Cavg=(n2+n-4)/4 Cmax=(n2+n-2)/4
Mmin=3*(n-1) Mavg=(n2+n-10)/4 Mmax=(n2+3*n-4)/2
Минимальные оценки встречаются в случае уже упорядоченной исходной последовательности элементов, наихудшие, когда они первоначально расположены в обратном порядке.
5.2 Сортировка обменом
Принцип метода: Алгоритм основывается на сравнении и смене мест для пары соседних элементов и продолжении этого процесса до тех пор, пока не будут упорядочены все элементы. То есть повторяются проходы по массиву и каждый раз наименьший элемент оставшейся последовательности сдвигается к левому краю массива.
После одного такого прохода на последней n-ой позиции массива будет стоять максимальный элемент (“всплыл” первый “пузырек”). Поскольку максимальный элемент уже стоит на своей последней позиции, то второй проход обменов выполняется до n-1-го элемента. И так далее. Всего требуется n-1 проход.
Число сравнений равно С = (n2 - n)/2, число перемещений
Mmin=0; Mavg=3*(n2-n)/4; Mmax=3*(n2-n)/2.