Библиотека Рефераты Курсовые Дипломы Поиск
Библиотека Рефераты Курсовые Дипломы Поиск
сделать стартовой добавить в избранное
Кефирный гриб на сайте www.za4et.net.ru

Компьютеры, Программирование Компьютеры, Программирование

Методы внутренней сортировки. Обменная сортировка. Сравнение с другими методами сортировки

Фонарь садовый «Тюльпан».
Дачные фонари на солнечных батареях были сделаны с использованием технологии аккумулирования солнечной энергии. Уличные светильники для
106 руб
Раздел: Уличное освещение
Совок №5.
Длина совка: 22 см. Цвет в ассортименте, без возможности выбора.
18 руб
Раздел: Совки
Ручка "Помада".
Шариковая ручка в виде тюбика помады. Расцветка корпуса в ассортименте, без возможности выбора!
25 руб
Раздел: Оригинальные ручки

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИКУРСОВАЯ РАБОТА по дисциплине «Алгоритмическое обеспечение ЭВС» на тему «Методы внутренней сортировки. Обменная сортировка. Сравнение с другими методами сортировки»2010 г. СодержаниеВведение 1. Сортировка включением 2. Сортировка Шелла 3. Обменная сортировка 4. Сортировка выбором 5. Сортировка разделением 6. Сравнение методов Заключение Приложение Литература ВведениеЦелью данной курсовой работы является изучения основных алгоритмов внутренней сортировки массивов данных, сравнение сложности их реализации и производительности. Более подробно рассмотрен метод обменной сортировки. Если обратиться к литературе, то можно обнаружить два крайних подхода к представлению материала. Некоторые авторы любят излагать материал на высоком теоретическом уровне. Например, для того, чтобы ввести понятие типа данных и предложить классификацию возможных типов, используются развитые механизмы абстрактной алгебры; при описании алгоритмов в обязательном порядке приводятся асимптотические оценки их сложности. Другой подход состоит в максимальном приближении к практике. Обычно выбирается некоторый конкретный язык программирования, и все описываемые структуры данных и алгоритмы представляются на этом языке. 1. Сортировка включениемОдним из наиболее простых и естественных методов внутренней сортировки является сортировка с простыми включениями. Идея алгоритма очень проста. Пусть имеется массив ключей a. Для каждого элемента массива, начиная со второго, производится сравнение с элементами с меньшим индексом (элемент a, a .) и до тех пор, пока для очередного элемента a и a меняются местами. Если удается встретить такой элемент a, или если достигнута нижняя граница массива, производится переход к обработке элемента a (пока не будет достигнута верхняя граница массива). Легко видеть, что в лучшем случае (когда массив уже упорядочен) для выполнения алгоритма с массивом из элементов потребуется -1 сравнение и 0 пересылок. В худшем случае (когда массив упорядочен в обратном порядке) потребуется ?( -1)/2 сравнений и столько же пересылок. Таким образом, можно оценивать сложность метода простых включений как O( 2). Можно сократить число сравнений, применяемых в методе простых включений, если воспользоваться тем фактом, что при обработке элемента a уже упорядочены, и воспользоваться для поиска элемента, с которым должна быть произведена перестановка, методом двоичного деления. В этом случае оценка числа требуемых сравнений становится O( ?log ). Заметим, что поскольку при выполнении перестановки требуется сдвижка на один элемент нескольких элементов, то оценка числа пересылок остается O( 2). Таблица 1.1 Пример сортировки методом простого включения Начальное состояние массива 8 23 5 65 44 33 1 6 Шаг 1 8 23 5 65 44 33 1 6 Шаг 2 8 5 23 65 44 33 1 6 5 8 23 65 44 33 1 6 Шаг 3 5 8 23 65 44 33 1 6 Шаг 4 5 8 23 44 65 33 1 6 Шаг 5 5 8 23 44 33 65 1 6 5 8 23 33 44 65 1 6 Шаг 6 5 8 23 33 44 1 65 6 5 8 23 33 1 44 65 6 5 8 23 1 33 44 65 6 5 8 1 23 33 44 65 6 5 1 8 23 33 44 65 6 1 5 8 23 33 44 65 6 Шаг 7 1 5 8 23 33 44 6 65 1 5 8 23 33 6 44 65 1 5 8 23 6 33 44 65 1 5 8 6 23 33 44 65 1 5 6 8 23 33 44 65 2.

Сортировка ШеллаДальнейшим развитием метода сортировки с включениями является сортировка методом Шелла, называемая по-другому сортировкой включениями с уменьшающимся расстоянием. Мы не будем описывать алгоритм в общем виде, а ограничимся случаем, когда число элементов в сортируемом массиве является степенью числа 2. Для массива с 2 элементами алгоритм работает следующим образом. На первой фазе производится сортировка включением всех пар элементов массива, расстояние между которыми есть 2( -1). На второй фазе производится сортировка включением элементов полученного массива, расстояние между которыми есть 2( -2). И так далее, пока мы не дойдем до фазы с расстоянием между элементами, равным единице, и не выполним завершающую сортировку с включениями. Применение метода Шелла к массиву, используемому в наших примерах, показано в таблице 2.2.Таблица1.2. Пример сортировки методом Шелл Начальное состояние массива 8 23 5 65 44 33 1 6 Фаза 1 (сортируются элементы, расстояние между которыми четыре) 8 23 5 65 44 33 1 6 8 23 5 65 44 33 1 6 8 23 1 65 44 33 5 6 8 23 1 6 44 33 5 65 Фаза 2 (сортируются элементы, расстояние между которыми два) 1 23 8 6 44 33 5 65 1 23 8 6 44 33 5 65 1 23 8 6 5 33 44 65 1 23 5 6 8 33 44 65 1 6 5 23 8 33 44 65 1 6 5 23 8 33 44 65 1 6 5 23 8 33 44 65 Фаза 3 (сортируются элементы, расстояние между которыми один) 1 6 5 23 8 33 44 65 1 5 6 23 8 33 44 65 1 5 6 23 8 33 44 65 1 5 6 8 23 33 44 65 1 5 6 8 23 33 44 65 1 5 6 8 23 33 44 65 1 5 6 8 23 33 44 65 В общем случае алгоритм Шелла естественно переформулируется для заданной последовательности из расстояний между элементами h1, h2, ., h , для которых выполняются условия h1 = 1 и h(i 1) &l ; hi. Дональд Кнут показал, что при правильно подобранных и h сложность алгоритма Шелла является O( (1.2)), что существенно меньше сложности простых алгоритмов сортировки.3. Обменная сортировкаПростая обменная сортировка (в просторечии называемая &quo ;методом пузырька&quo ;) для массива a работает следующим образом. Начиная с конца массива сравниваются два соседних элемента (a &g ; a, то значения элементов меняются местами. Процесс продолжается для a и т.д., пока не будет произведено сравнение a окажется элемент массива с наименьшим значением. На втором шаге процесс повторяется, но последними сравниваются a. И так далее. На последнем шаге будут сравниваться только текущие значения a. Понятна аналогия с пузырьком, поскольку наименьшие элементы (самые &quo ;легкие&quo ;) постепенно &quo ;всплывают&quo ; к верхней границе массива. Пример сортировки методом пузырька показан в таблице 2.3.Таблица 1.3. Пример сортировки методом Пузырька Начальное состояние массива 8 23 5 65 44 33 1 6 Шаг 1 8 23 5 65 44 33 1 6 8 23 5 65 44 1 33 6 8 23 5 65 1 44 33 6 8 23 5 1 65 44 33 6 8 23 1 5 65 44 33 6 8 1 23 5 65 44 33 6 1 8 23 5 65 44 33 6 Шаг 2 1 8 23 5 65 44 6 33 1 8 23 5 65 6 44 33 1 8 23 5 6 65 44 33 1 8 23 5 6 65 44 33 1 8 5 23 6 65 44 33 1 5 8 23 6 65 44 33 Шаг 3 1 5 8 23 6 65 33 44 1 5 8 23 6 33 65 44 1 5 8 23 6 33 65 44 1 5 8 6 23 33 65 44 1 5 6 8 23 33 65 44 Шаг 4 1 5 6 8 23 33 44 65 1 5 6 8 23 33 44 65 1 5 6 8 23 33 44 65 1 5 6 8 23 33 44 65 Шаг 5 1 5 6 8 23 33 44 65 1 5 6 8 23 33 44 65 1 5 6 8 23 33 44 65 Шаг 6 1 5 6 8 23 33 44 65 1 5 6 8 23 33 44 65 Шаг 7 1 5 6 8 23 33 44 65 Для метода простой обменной сортировки требуется число сравнений x( -1)/2, минимальное число пересылок 0, а среднее и максимальное число пересылок - O( 2).

Метод пузырька допускает три простых усовершенствования. Во-первых, как показывает таблица 3, на четырех последних шагах расположение значений элементов не менялось, (массив оказался уже упорядоченным). Поэтому, если на некотором шаге не было произведено ни одного обмена, то выполнение алгоритма можно прекращать. Во-вторых, можно запоминать наименьшее значение индекса массива, для которого на текущем шаге выполнялись перестановки. Очевидно, что верхняя часть массива до элемента с этим индексом уже отсортирована, и на следующем шаге можно прекращать сравнения значений соседних элементов при достижении такого значения индекса. В-третьих, метод пузырька работает неравноправно для &quo ;легких&quo ; и &quo ;тяжелых&quo ; значений. Легкое значение попадает на нужное место за один шаг, а тяжелое на каждом шаге опускается по направлению к нужному месту на одну позицию. На этих наблюдениях основан метод шейкерной сортировки (ShakerSor ). При его применении на каждом следующем шаге меняется направление последовательного просмотра. В результате на одном шаге &quo ;всплывает&quo ; очередной наиболее легкий элемент, а на другом &quo ;тонет&quo ; очередной самый тяжелый. Пример шейкерной сортировки приведен в таблице 2.4.Таблица 4. Пример шейкерной сортировки Начальное состояние массива 8 23 5 65 44 33 1 6 Шаг 1 8 23 5 65 44 33 1 6 8 23 5 65 44 1 33 6 8 23 5 65 1 44 33 6 8 23 5 1 65 44 33 6 8 23 1 5 65 44 33 6 8 1 23 5 65 44 33 6 1 8 23 5 65 44 33 6 Шаг 2 1 8 23 5 65 44 33 6 1 8 5 23 65 44 33 6 1 8 5 23 65 44 33 6 1 8 5 23 44 65 33 6 1 8 5 23 44 33 65 6 1 8 5 23 44 33 6 65 Шаг 3 1 8 5 23 44 6 33 65 1 8 5 23 6 44 33 65 1 8 5 6 23 44 33 65 1 8 5 6 23 44 33 65 1 5 8 6 23 44 33 65 Шаг 4 1 5 6 8 23 44 33 65 1 5 6 8 23 44 33 65 1 5 6 8 23 44 33 65 1 5 6 8 23 33 44 65 Шаг 5 1 5 6 8 23 33 44 65 1 5 6 8 23 33 44 65 1 5 6 8 23 33 44 65 Шейкерная сортировка позволяет сократить число сравнений (по оценке Кнута средним числом сравнений является ( 2 - ?(co s l )), хотя порядком оценки по-прежнему остается 2. Число же пересылок, вообще говоря, не меняется. Шейкерную сортировку рекомендуется использовать в тех случаях, когда известно, что массив &quo ;почти упорядочен&quo ;. 4. Сортировка выборомПри сортировке массива a методом простого выбора среди всех элементов находится элемент с наименьшим значением a обмениваются значениями. Затем этот процесс повторяется для получаемых подмассивов a до тех пор, пока мы не дойдем до подмассива a, содержащего к этому моменту наибольшее значение. Работа алгоритма иллюстрируется примером в таблице 2.5.Таблица 5. Пример сортировки простым выбором Начальное состояние массива 8 23 5 65 44 33 1 6 Шаг 1 1 23 5 65 44 33 8 6 Шаг 2 1 5 23 65 44 33 8 6 Шаг 3 1 5 6 65 44 33 8 23 Шаг 4 1 5 6 8 44 33 65 23 Шаг 5 1 5 6 8 33 44 65 23 Шаг 6 1 5 6 8 23 44 65 33 Шаг 7 1 5 6 8 23 33 65 44 Шаг 8 1 5 6 8 23 33 44 65 Для метода сортировки простым выбором требуемое число сравнений - x( -1)/2. Порядок требуемого числа пересылок (включая те, которые требуются для выбора минимального элемента) в худшем случае составляет O( 2). Однако порядок среднего числа пересылок есть O( ?l ), что в ряде случаев делает этот метод предпочтительным.

И Он добавил: «нет никого, кто оставил бы дом, или братьев, или сестер, или отца, или мать, или жену, или детей, или земли ради Меня и Евангелия, и не получил бы ныне, во время сие, среди гонений, во сто крат более домов, и братьев, и сестер, истцов, и матерей, и детей, и земель, а в веке грядущем жизни вечной». Но вопрос Петра: «что же будет нам?» открыл дух, который, оставшись неисправленным, сделал бы учеников негодными для того, чтобы быть вестниками Христа, потому что это был дух наемничества. Хотя ученики и были привлечены любовью Иисуса, они не были свободны от фарисейства. Они еще работали с мыслью заслужить награду, соответственно их труда. Они лелеяли дух самовозвышения и внутреннего довольства и делали сравнения друг с другом. Когда один из них ошибался в чем-нибудь, другие допускали в себе чувства превосходства. Чтобы ученики не теряли из виду принципы Евангелия, Христос рассказал им притчу, иллюстрирующую способ обращения Бога со Своими слугами и дух, в котором Он желает, чтобы они работали для Него. «Царство Небесное», сказал Он: «подобно хозяину дома, который вышел рано по утру нанять работников в виноградник свой»

1. Исследование наилучших приближений непрерывных периодических функций тригонометрическими полиномами

2. Приближенный метод решения интегралов. Метод прямоугольников (правых, средних, левых)

3. Построение приближенного решения нелинейного уравнения методом Ван-дер-Поля

4. Приближенное вычисление определенных интегралов

5. Приближенное решение уравнений

6. Существование решения дифференциального уравнения и последовательные приближения
7. Что побуждает людей двигаться? (Приближение к мотивации)
8. Приближенное вычисление корней в уравнения

9. Проект программного модуля для нахождения приближенного значения бесконечной суммы


Поиск Рефератов на сайте za4eti.ru Вы студент, и у Вас нет времени на выполнение письменных работ (рефератов, курсовых и дипломов)? Мы сможем Вам в этом помочь. Возможно, Вам подойдет что-то из ПЕРЕЧНЯ ПРЕДМЕТОВ И ДИСЦИПЛИН, ПО КОТОРЫМ ВЫПОЛНЯЮТСЯ РЕФЕРАТЫ, КУРСОВЫЕ И ДИПЛОМНЫЕ РАБОТЫ. 
Вы можете поискать нужную Вам работу в КОЛЛЕКЦИИ ГОТОВЫХ РЕФЕРАТОВ, КУРСОВЫХ И ДИПЛОМНЫХ РАБОТ, выполненных преподавателями московских ВУЗов за период более чем 10-летней работы. Эти работы Вы можете бесплатно СКАЧАТЬ.