Цифровая сортировка

Цифровая сортировка

Цифровая сортировка (англ. pigeonhole sort) обладает линейной вычислительной сложностью (О(n)), что является лучшей возможной производительностью для алгоритма сортировки, так как в любом таком алгоритме каждый сортируемый элемент необходимо просмотреть хотя бы однажды. Однако, применение алгоритма цифровой сортировки целесообразно лишь тогда, когда сортируемые предметы имеют (или их можно отобразить в) диапазон возможных значений, который достаточно мал по сравнению с сортируемым списком. Эффективность алгоритма падает всякий раз, когда несколько различных элементов попадает в одну ячейку. Необходимость сортировки внутри ячеек лишает алгоритм смысла, так как каждый элемент придётся просматривать более одного раза. Так что, для простоты и с целью отличить «классическую» цифровую сортировку от её многочисленных вариантов, укажем, что подсчёт должен быть обратимым: если два элемента попадают в одну ячейку, то они должны иметь одинаковое значение. Несколько элементов с одним значением в одной ячейке не портят картину — их можно просто вставить в отсортированный список рядом, один за другим (это позволяет применять цифровую сортировку в качестве устойчивой).

Алгоритм цифровой сортировки действует следующим образом:

  1. Создаём массив изначально пустых «ячеек», по одной для каждой величины из диапазона ключей.
  2. Просматриваем изначальный массив, помещая каждый его элемент в свою ячейку.
  3. Проходим по массиву ячеек в нужном порядке и переносим элементы из непустых ячеек обратно в первоначальный массив.

Эффективность этого алгоритма неявно, но сильно зависит от плотности элементов в массиве ячеек. Если элементов этого массива намного больше, чем сортируемых предметов, то шаги 1 и 3 будут относительно медленными.

Сортировку подсчётом применяют редко, потому что её требования редко удовлетворяются, и часто бывает проще применить другие, более гибкие и почти такие же быстрые алгоритмы сортировки. В особенности, блочная сортировка является более практичным вариантом сортировки подсчётом. В некотором роде, быстрая сортировка представляет собой обобщённую сортировку подсчётом (всего с двумя ячейками в каждый момент времени).


Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Полезное


Смотреть что такое "Цифровая сортировка" в других словарях:

  • цифровая сортировка — — [http://www.iks media.ru/glossary/index.html?glossid=2400324] Тематики электросвязь, основные понятия EN digital sorting …   Справочник технического переводчика

  • алфавитно-цифровая сортировка — Сортировка слов с учетом цифр и знаков препинания. В рассматриваемой сортировке устанавливается следующий порядок: 1. знаки 2. цифры 3. буквы, причем прописные буквы предшествуют строчным буквам. [http://www.morepc.ru/dict/] Тематики… …   Справочник технического переводчика

  • Поразрядная сортировка — (Цифровая сортировка) алгоритм сортировки за линейное время. Содержание 1 Алгоритм 2 Применение для строк 3 Литература …   Википедия

  • Список алгоритмов — Эта страница информационный список. Основная статья: Алгоритм Ниже приводится список алгоритмов, группированный по категориям. Более детальные сведения приводятся в списке структур данных и …   Википедия

  • Программируемые алгоритмы —       Служебный список статей, созданный для координации работ по развитию темы.   Данное предупреждение не устанавл …   Википедия

  • Алгоритм сортировки — это алгоритм для упорядочения элементов в списке. В случае, когда элемент списка имеет несколько полей, поле, служащее критерием порядка, называется ключом сортировки. На практике в качестве ключа часто выступает число, а в остальных полях… …   Википедия

  • Методы сортировки — Алгоритм сортировки это алгоритм для упорядочения элементов в списке. В случае, когда элемент списка имеет несколько полей, поле, служащее критерием порядка, называется ключом сортировки. На практике в качестве ключа часто выступает число, а в… …   Википедия

  • Логистика — (Logistics) Определения логистики, история логистики, логистические системы Цель и обьект логистики, проблемы логистики, виды логических систем, основные задачи логистики, экономический эффект от использования логистики Содержание Содержание… …   Энциклопедия инвестора

  • Основные — 1.    Основные положения системы сельской телефонной связи. М., ЦНИИС, 1974. 145 с. Источник: Руководство: Руководство по проектированию сети электросвязи в сельской местности 16. Основные положения по учету труда и заработной платы в… …   Словарь-справочник терминов нормативно-технической документации

  • Информационная логистика — Информационная логистика (information logistics)  совокупность действий по эффективному распределению информационных потоков между цифровыми и традиционными носителями. Информационная логистика имеет аллегорическое сходство с… …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»