- •Содержание
- •Введение
- •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 Темы докладов
- •Библиографический список
- •Оформление титульного листа
- •Пояснительная записка
- •Блок схема сортировок
- •Информатика
7.5 Методы сортировок
-
Сортировка методом пузырька с ограничением. Для каждого i-го элемента массива (i меняется от 2 до М) просматривают массив с конца (от К=М до К=i) попарно. В пару выбирают К-й и (К-1)-й элементы. Если (К-1)-й элемент больше К-го, то проводят обмен пары. Сортировка завершается, если для некоторого i не было проведено обменов.
-
Шейкер-сортировка (не без метода пузырька). Шейкер-сортировка является модификацией сортировки методом пузырька. Здесь, как и в методе пузырька проводят попарно сравнение элементов и обмен в паре, если имеется необходимость, но первый проход осуществляется снизу вверх, второй сверху вниз и т.д. Иными словами меняют направление проходов. Переменная Н указывает направление прохода.
-
Шейкер-сортировка (на базе метода пузырька с ограничением). Шейкер-сортировка является модификацией сортировки методом пузырька. Здесь, как и в методе пузырька с ограничением проводят попарно сравнение элементов и обмен в паре, если имеется необходимость, то первый проход осуществляется снизу вверх, второй сверху вниз, третий снизу вверх т.д. Иными словами меняют направление проходов. Переменная Н указывает направление прохода.
-
Сортировка просмотром выбранного места. Организуют просмотр элементов массива, начиная с первого до (М-1)-го. Каждый выбранный элемент сравнивают со всеми следующими и, если какой-то из следующих меньше выбранного, то меняют местами, процесс сравнения продолжают.
-
Сортировка массива с возвратом к началу после обмена. Просматривают массив до тех пор, пока не обнаружится, что первый элемент пары больше второго. В этом случае элементы пары меняются местами, и просмотр продолжают с начала массива. Сортировку завершают, когда массив просмотрен до конца.
-
Сортировка массива с возвратом на один шаг после обмена. Просматривают массив до тех пор, пока не обнаружится, что первый элемент пары больше второго. В этом случае элементы пары меняются местами и просмотр с предыдущего (обработанного на предыдущем шаге) элемента массива. Сортировку завершают, когда массив просмотрен до конца.
-
Сортировка массива. При каждом просмотре массива первый элемент сравнивают со вторым и меньший ставят на второе место. Второй элемент сравнивают с третьим и меньший ставят на второе место. Эта процедура повторяется до тех пор, пока не будет обработан весь массив. Затем совершают второй, третий и т.д. просмотры, пока во время просмотра не останется ни одной перестановки. Массив будет отсортирован по возрастанию.
-
Сортировка по основанию системы счисления. Метод предполагает выделение отдельного элемента памяти для каждой цифры, а затем группировку чисел по цифрам в каждом последовательном проходе.
-
Сортировка обменом по основанию системы счисления. Пусть L-количество двоичных разрядов кода элемента. Упорядочение ведут поразрядно. Сначала анализируют старший разряд. Отыскивают элемент с минимальным индексом I, который содержит в анализируемом разряде единицу, и элемент с максимальным индексом J, содержащий в анализируемом разряде нуль. При этом если I>J, то эти элементы меняют местами и процесс продолжают. Если I<=J, то упорядочение по данному разряду закончено. В результате сортируемый массив разделен на две группы элементов. Любой элемент в первой группе имеет меньшее значение, чем во второй. Затем при анализе второго разряда одну из полученных групп вновь делят на две подгруппы и т.д. Процесс продолжают до окончания анализа всех разрядов кода элемента или до остатка в каждой группе по одному элементу.
-
Сортировка слиянием (сортировка Фон Неймана). Два уже отсортированных массива необходимо соединить в один. Для этого элементы первого массива сравнивают с элементами второго и переписывают в результирующий массив до тех пор, пока они не станут меньше выбранного элемента второго массива, в противном случае переписывают элемент из второго массива.
-
Сортировка методом квадратичной выборки. Массив, состоящий из М элементов, разбивают на SQRT(M) групп по SQRT(M) элементов в каждой. В результате сплошного просмотра в каждой группе находят и заносят в рабочие переменные элементы с наименьшими значениями. Затем просматривают переменные и переменную с наименьшим значением заносят в выходной массив. После этого осуществляют поиск наименьшего элемента в той группе, из переменной которой элемент был перенесен в выходной массив. Процесс повторяют. При каждом занесении элемента в переменную ее стирают в основном массиве.
-
Сортировка с помощью поисков минимального элемента под- массива. Вначале находят минимальный элемент массива и помещают в его начало, затем среди оставшихся элементов вновь находят минимальный и помещают на второе место следом за найденным первым. Процесс продолжают до тех пор, пока не будет исчерпан весь массив.
-
Сортировка с помощью максимального элемента подмассива. Вначале находят максимальный элемент массива и помещают в его конец, затем среди оставшихся элементов вновь находят максимальный и помещают на предпоследнее место. Процесс продолжают до тех пор, пока не будет исчерпан весь массив.
-
Сортировка с помощью поиска минимального и максимального элементов подмассива. Вначале за один просмотр находят максимальный и минимальный элементы массива. Максимальный помещают в конец массива, а минимальный в его начало. Затем среди оставшихся элементов вновь находят за один просмотр максимальный и минимальный элементы и помещают соответственно на предпоследнее и второе место в массиве. Процесс продолжают до тех пор, пока не будет исчерпан весь массив. В блок-схеме L-индекс максимального элемента, N-индекс минимального элемента.
-
Сортировка с подсчетом. Выделяют память под счетчик для каждого элемента массива. При каждом просмотре элемент сравнивают со всеми последующими, и каждый раз, когда находят больший элемент, его счетчик увеличивают на единицу. Если найденный элемент меньше или равен, то увеличивают счетчик, соответствующий большему из сравниваемых элементов. Следовательно, в любой момент времени счетчик элемента указывает количество элементов, о которых известно, что они меньше элемента, рассматриваемого на данном шаге.
-
Модификация сортировки методом вставки. В этом варианте поиск подходящего места ведут от первого элемента отсортированной части к выбранному элементу. После определения места вставки осуществляют сдвиг всех элементов от места вставки до последнего перед выбранным элементом на одну позицию вправо, а затем осуществляют вставку.
-
Сортировка методом Шелла. В основе метода Шелла лежит свойство метода вставки, быстрая обработка частично упорядоченных массивов, использование для упорядочения не всего массива, а некоторой группы элементов. При этом размеры групп постепенно увеличивают, но количество их уменьшают. Сущность метода Шелла заключается в следующем. Сначала выбирают шаг группы по правилу d[1] = 2^L + 1 < M, где 2^L < M <= 2^(L+1), и методом вставки последовательно сортируют группы записей с номерами К, К+d[1], K+2d[1],..., K+nd[1]<=M, где для первой группы К=1, для последующих групп К=2,..., d[1]. После окончания упорядочения всех групп выбирают новый шаг группы: d[p] = d[p-1]/2, и процедуру повторяют.
-
Вероятностная сортировка. Это вариант метода вставки, в котором поиск в отсортированной части ведут так: вместо деления пополам интервала на каждом этапе поиска обращаемся к случайно выбранным элементам с равными вероятностями. Для этой цели используют датчики случайных чисел, равномерно распределенных на интервале от 0 до 1. Для пересчета случайного числа на интервал [L,B] используют следующую формулу: Z = L + N(B L), где Z - случайное число в интервале [L,B]; N - случайное число в интервале [0,1].
-
Быстрая сортировка Хоара (рекурсивный вариант). Делают предположение, что первый элемент массива является средним по отношению к остальным. На основе такого предположения все элементы разбивают на две группы: большую предполагаемого среднего и меньшую. Затем обе группы отдельно сортируют тем же методом. Это можно сделать "на месте", если одновременно просматривать сверху в поисках ключа большего, чем предполагаемый средний, и снизу в поисках меньшего, чем средний. Каждый раз, когда найдены больший сверху и меньший снизу, их меняют местами. Наконец, когда оба просмотра (идущие соответственно сверху и снизу) встретятся, первый элемент вставляют между этими двумя группами.