Алгоритмы сортировки
Алгоритмы сортировкиПроблема упорядочивания данных с практической точки зрения: достоинства и недостатки пяти различных методов сортировки.
Сортировка применяется во всех без исключения областях программирования, будь то базы данных или математические программы.
Практически каждый алгоритм сортировки можно разбить на три части: - сравнение, определяющее упорядоченность пары элементов; - перестановку, меняющую местами пару элементов; - собственно сортирующий алгоритм, который осуществляет сравнение и перестановку элементов до тех пор, сока все элементы множества не будут упорядочены.
Подобными свойствами обладают и те пять алгоритмов сортировки, которые рассмотрены ниже. Они отобраны из множества алгоритмов, потому что, во-первых, наиболее часто используются, а во-вторых, потому что большинство остальных алгоритмов является различными модификациями описанных здесь.
Метод пузырька.
(метод назван также обменной сортировкой с выбором) .
Идея этого метода отражена в его названии. Самые легкие элементы массива "всплывают" наверх, самые "тяжелые" - тонут. Алгоритмически это можно реализовать следующим образом. Мы будем просматривать весь массив "снизу вверх" и менять стоящие рядом элементы в там случае, если "нижний" элемент меньше, чем "верхний". Таким образом, мы вытолкнем наверх самый "легкий” элемент всего массива. Теперь повторим для оставшихся неотсортироваными N-1 элементов (т.е. для тех, которые лежат "ниже" первого) . Как видно, алгоритм достаточно прост, но, как иногда замечают, он является непревзойденным в своей неэффективности. Немного более эффективным, но таким наглядным является второй метод.
Сортировка выбором На этот раз при просмотре мaссива мы будем искать наименьший элемент, Сравнивая его с первым. Если такой элемент найден, поменяем его местами с первым. Затем повторим эту операцию, но начнем не с первого элемента, а со второго. И будем продолжать подобным образом, пока не рассортируем весь массив.
Метод Шелла Этот метод был предложен автором Donald Lewis Shеll в 1959 г. Основная идея этого алгоритма заключается в том, чтобы в начале ycтpанить массовый беспорядок в массиве, сравнивая далеко стоящие друг от друга элементы. Как видно, интервал между сравниваемыми элементами (gap) постепенно уменьшается до единицы. Это означает, что на поздних стадиях сортировка сводится просто к перестановкам соседних элементов (если, конечно, такие перестановки являются необходимыми) .
Метод Хoopа Этот метод, называемый также быстрой сортировкой(QuickSort) , был Разработан в 1962 г. (его разработал Charles Antony Richard Hoare) .
Суть метода заключается в том, чтобы найти такой элемент множества, подлежащего сортировке, который разобьет его на два подмножества: те элементы, что меньше делящего элемента, и те, что не меньше его. Эту идею можно реализовать многими способами.
Категории:
- Астрономии
- Банковскому делу
- ОБЖ
- Биологии
- Бухучету и аудиту
- Военному делу
- Географии
- Праву
- Гражданскому праву
- Иностранным языкам
- Истории
- Коммуникации и связи
- Информатике
- Культурологии
- Литературе
- Маркетингу
- Математике
- Медицине
- Международным отношениям
- Менеджменту
- Педагогике
- Политологии
- Психологии
- Радиоэлектронике
- Религии и мифологии
- Сельскому хозяйству
- Социологии
- Строительству
- Технике
- Транспорту
- Туризму
- Физике
- Физкультуре
- Философии
- Химии
- Экологии
- Экономике
- Кулинарии
Подобное:
- Алгоритмы трассировки
Алгоритмы трассировкиМИНИСТЕРСТВО ОБРАЗОВАНИЯ УКРАИНЫ ВОСТОЧНОУКРАИНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СЕВЕРОДОНЕЦКИЙ ТЕХ
- Алфавитный подход к определению количества информации
АЛФАВИТНЫЙ ПОДХОД К ОПРЕДЕЛЕНИЮ КОЛИЧЕСТВА ИНФОРМАЦИИ При хранении и передачи информации с помощью технических устройств целесообра
- Анализ архитектуры ОЗУ ЭВМ различных поколений
Анализ архитектуры ОЗУ ЭВМ различных поколений СодержаниеСодержание.......................................................................................................
- Анализ и оценка аппаратных средств современных ПЭВМ
Анализ и оценка аппаратных средств современных ПЭВМ Государственный комитет по связи и информатикеМОСКОВСКИЙ ТЕХНИЧЕСКИЙ У
- Анализ критерия логистической системы
К У Р С О В А Я Р А Б О Т АА Н А Л И З К Р И Т Е Р И Я Л О Г И С Т И Ч Е С К О Й С И С Т Е М ЫJ U S T I N T I M EСОДЕРЖАНИЕВведение
- Анализ основных характеристик электрокардиограмм
АНАЛИЗ ОСНОВНЫХ ХАРАКТЕРИСТИК ЭЛЕКТРОКАРДИОГРАММ ОГЛАВЛЕНИЕ1. ВВЕДЕНИЕ2. ПОСТАНОВКА ЗАДАЧИ3. ОПРЕДЕЛЕНИЕ ПАРАМЕТРОВ ЭКГ3.1. Стандарты о
- Анализ снизу вверх и сверху вниз
Анализ снизу вверх и сверху вниз“Сверху вниз” vs. “снизу вверх” , “прямой” vs. “обратный” , “управляемый данными” vs. “движимый целью”