Методы сортировки
Автор Ѝльвира /Мутугуллина задал вопрос в разделе Другое
Сортировка. Понятие. Виды сортировки. и получил лучший ответ
Ответ от Ѝлис[гуру]
Алгоритмы сортировки
Проблема упорядочивания данных с практической точки зрения: достоинства и недостатки пяти различных методов сортировки.
Сортировка применяется во всех без исключения областях программирования, будь то базы данных или математические программы.
Практически каждый алгоритм сортировки можно разбить на три части:
- сравнение, определяющее упорядоченность пары элементов;
- перестановку, меняющую местами пару элементов;
- собственно сортирующий алгоритм, который осуществляет сравнение и перестановку элементов до тех пор, сока все элементы множества не будут упорядочены.
Подобными свойствами обладают и те пять алгоритмов сортировки, которые
рассмотрены ниже. Они отобраны из множества алгоритмов, потому что,
во-первых, наиболее часто используются, а во-вторых, потому что большинство остальных алгоритмов является различными модификациями описанных здесь.
Метод пузырька.
( метод назван также обменной сортировкой с выбором) .
Идея этого метода отражена в его названии. Самые легкие элементы массива "всплывают" наверх, самые "тяжелые" - тонут. Алгоритмически это можно реализовать следующим образом. Мы будем просматривать весь массив "снизу вверх" и менять стоящие рядом элементы в там случае, если "нижний" элемент меньше, чем "верхний". Таким образом, мы вытолкнем наверх самый "легкий” элемент всего массива. Теперь повторим всю оперно для оставшихся неотсортироваными N-1 элементов (т. е. для тех, которые лежат "ниже" первого. Как видно, алгоритм достаточно прост, но, как иногда замечают, он является непревзойденным в своей неэффективности. Немного более эффективным, но таким наглядным является второй метод.
Сортировка выбором
На этот раз при просмотре мaccива мы будем искать наименьший элемент, Сравнивая его с первым. Если такой элемент найден, поменяем его местами с первым. Затем повторим эту операцию, но начнем не с первого элемента, а со второго. И будем продолжать подобным образом, пока не рассортируем весь массив.
Метод Шелла
Этот метод был предложен автором Donald Lewis Shеll в 1959 г. Основная идея этого алгоритма заключается в том, чтобы в начале ycтpанить массовый беспорядок в массиве, сравнивая далеко стоящие друг от друга элементы. Как видно, интервал между сравниваемыми элементами (gap) постепенно уменьшается до единицы. Это означает, что на поздних стадиях сортировка сводится просто к перестановкам соседних элементов (если, конечно, такие перестановки являются необходимыми) .
Метод Хoopа
Этот метод, называемый также быстрой сортировкой (QuickSort), был Разработан в 1962 г. (его разработал Charles Antony Richard Hoare).
Суть метода заключается в том, чтобы найти такой элемент множества, подлежащего сортировке, который разобьет его на два подмножества: те элементы, что меньше делящего элемента, и те, что не меньше его. Эту идею можно реализовать многими способами.
Сортировка Map/Multimap одновременно и по ключу и по значению .
Во-первых, std::map и std::multimap не предназначены для сортировки после их создания т. к. метод
подробнее...
Что такое сортировка? Какие методы бывают? Чем они отличаются?
Методы сортировки отличаются по многим разным характеристикам, одной из основных явдляется
подробнее...
PASCAL; сортировка массивов
Сортировка требуется простым включением, а метод пузырьков - это совсем другой метод. Суть метода
подробнее...
Что такое сортировка Шелла?
Что ж тут непонятного?
Давай сначала по-простому? :-))
- алгоритм сортировки,
подробнее...
Люди, кто знает, как решеть задачи по програмированию методом пузырька? и вообще что такое метод пузырька?
ну это когда покупаешь пузырь пива и идешь к знающему человеку, что бы он
подробнее...
Пузырьковый метод. Паскаль , Хелп
мне не нравится, что if односторонний.
давай полную
подробнее...
програмирование в делфи отсортировать массив по убыванию min в конец
Доброго времени суток.
Поскольку метод сортировки не указан, получайте пузырьком.
подробнее...
программа O&O Defrag - какой из режимов дефрагментации оптимальный для системного раздела?
Наименее ресурсоемкий метод - STEALTH. Его отличительной особенностью является незначительное
подробнее...
C++ sort
sort работает для элементарных типов данных, а у тебя структура. Сортируй вручную любым
подробнее...
Куда исчезают носки?
Носки как люди они одиноки 🙂
Когда я стираю мешок носков в стиральной машине они
подробнее...
Помогите C# IComparable
Основа любой сортировки - сравнение элементов.
Array.Sort(journal) - сортировка
подробнее...
Паскаль: пузырьковый метод(сортировка).
выборка происходит не катого и джитого элементов, а J и J+1, сравниваются два
подробнее...
как делать эту задачу?? помогите плиииииииииз "Дан одномерный массив. Упорядочить его элементы по возрастанию." DElphi
var
v:array[1..100] of integer;
i,j,n,b:integer;
begin
randomize;
подробнее...
сортировка пузырьком java Метод "пузырек" можете объяснить значение и роль каждого элемента алгоритма ???
У тебя есть массив из n элементов, ты n-1 раз делаешь проход от 1 до n-1 и сравниваешь i-й элемент
подробнее...
Сортировка двумерного массива методом вставки
Сортировка простой вставкой (немного измененная версия вот этого кода из FAQ: Методы сортировок)
подробнее...