FoxWeb

софт для студентов
Искать здесь

Алгоритмы сортировки

Раздел: Turbo Pascal Автор: fox++
E-mail: спаму - нет! Www: http://foxweb.net.ru
Просмотров: 7822 Дата: 16.01.2005
Краткое описание основных медотов сортировки.

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

Сортировка применяется во всех без исключения областях программирования, будь то базы данных или математические программы.

Практически каждый алгоритм сортировки можно разбить на три части:
- сравнение, определяющее упорядоченность пары элементов;
- перестановку, меняющую местами пару элементов;
- собственно сортирующий алгоритм, который осуществляет сравнение и перестановку элементов до тех пор, сока все элементы множества не будут упорядочены.

Подобными свойствами обладают и те пять алгоритмов сортировки, которые рассмотрены ниже. Они отобраны из множества алгоритмов, потому что, во-первых, наиболее часто используются, а во-вторых, потому что большинство остальных алгоритмов является различными модификациями описанных здесь.

Метод пузырька (обменная сортировка с выбором)

Идея этого метода отражена в его названии. Самые легкие элементы массива "всплывают" наверх, самые "тяжелые" - тонут. Алгоритмически это можно реализовать следующим образом. Мы будем просматривать весь массив "снизу вверх" и менять стоящие рядом элементы в том случае, если "нижний" элемент меньше, чем "верхний". Таким образом, мы вытолкнем наверх самый "легкий” элемент всего массива. Теперь повторим всю операцию для оставшихся неотсортироваными N-1 элементов (т.е. для тех, которые лежат "ниже" первого. Как видно, алгоритм достаточно прост, но, как иногда замечают, он является непревзойденным в своей неэффективности. Немного более эффективным, но таким наглядным является второй метод.

Сортировка выбором

На этот раз при просмотре мaccива мы будем искать наименьший элемент, Сравнивая его с первым. Если такой элемент найден, поменяем его местами с первым. Затем повторим эту операцию, но начнем не с первого элемента, а со второго. И будем продолжать подобным образом, пока не рассортируем весь массив.

Метод Шелла

Этот метод был предложен автором Donald Lewis Shеll в 1959 г. Основная идея этого алгоритма заключается в том, чтобы в начале ycтpанить массовый беспорядок в массиве, сравнивая далеко стоящие друг от друга элементы. Как видно, интервал между сравниваемыми элементами (gap) постепенно уменьшается до единицы. Это означает, что на поздних стадиях сортировка сводится просто к перестановкам соседних элементов (если, конечно, такие перестановки являются необходимыми).

Метод Хoopа

Этот метод, называемый также быстрой сортировкой(QuickSort), был разработан в 1962 г. (его разработал Charles Antony Richard Hoare).Суть метода заключается в том, чтобы найти такой элемент множества, подлежащего сортировке, который разобьет его на два подмножества: те элементы, что меньше делящего элемента, и те, что не меньше его. Эту идею можно реализовать многими способами.

Комментарии

**** ТЫ ***** 13.12.2007 09:22:17 #
КАКОГО *** НЕТУ КОДА, **** **** ?!
ТЫ ******* , ***** МНЕ НА ПАРЕ АЛГОРИТМИЗАЦИИ *********** ТВОИ ************** ОПИСАНИЯ ?????
КОДЫ **** ДАВАЙ , КОДЫ !!!!!!!!!!!!!!!!!!!!!!!!
с уважением
Дрон.
foxweb 13.12.2007 11:36:03 #
Понимаю ваше негодование, многоуважаемый Дрон. Но если бы вы были несколько внимательнее, то могли бы обнаружить "коды" в разделе Файлы, где примеры задач можно скачать за отдельную плату.

Короче говоря, ежели вы дебил в запущенной фазе и не уважаете чужой труд — извольте платить.

С неменьшим уважением,
foxweb

P.S. — Интересно, это как-то лечится?
medved 13.12.2007 12:12:51 #
Аффтары жгут :)
LOL_GUY 14.12.2007 11:56:40 #
**** ТЫ *****, пешы исчьо!!
Байанист 24.12.2007 18:56:27 #
foxweb, а бесплатно никак? :)
eXploy 06.03.2008 12:26:24 #
ыыыыы... за такую элементарщину платить ))
foxweb 06.03.2008 14:37:00 #
2 eXploy:
При отсутствии мозга? Бесплатно? Да это же грех! =)
(ARH)665 20.03.2008 11:43:39 #
Ведь можно найти и бесплатно код?
(ARH)665 20.03.2008 11:46:01 #
но если зрение и браузер мне не изменяет, то здесь все бесплатно
foxweb 20.03.2008 11:47:09 #
Это временная акция.
я 13.05.2008 10:54:09 #
вНАТУРЕ КАБАЧОК! аМЕЛИНА жЖОТ! :)))

Оставить комментарий

Ваше имя

Ваш комментарий

Код   Защитный код. Если вы не видите здесь рисунок - обновите страницу.
Оценка   

Заметки по этой теме