Является ли сортировка по основанию единственным алгоритмом сортировки без сравнения?

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


person paul paul    schedule 12.05.2011    source источник
comment
Что вы подразумеваете под несравнением? Все виды должны сравнивать что-то, если только у вас не более одного элемента в корзине.   -  person David R Tribble    schedule 13.05.2011
comment
@Loadmaster: название немного вводит в заблуждение - оно означает сортировку, которая не сравнивает элементы атомарно.   -  person reavowed    schedule 13.05.2011
comment
Сортировка спагетти (при наличии подходящего оборудования)...   -  person Steve Jessop    schedule 13.05.2011
comment
Я думаю, что сортировка по сну также не будет считаться сравнительной ...   -  person Patrick Roberts    schedule 03.09.2016


Ответы (2)


Нет, среди прочего, есть сортировка по счету и сортировка по ведру. Дополнительную информацию см. в статье Википедии.

person reavowed    schedule 12.05.2011

Любой набор можно отсортировать, не используя сравнения.

Процесс

  • определите управляемый размер входного домена M, который вы можете обрабатывать для записи в управляемом массиве. Для символов (8-бит) домен будет 0-255.
  • разделите ввод в некотором упорядоченном виде на массив.
  • повторить и промыть, если входные данные еще не учтены полностью, т. е. не учтены все биты в M.

Например, 32-битная сортировка M, целое число может быть выполнена следующим образом:

  • посмотрите на первые 8 бит, поместите (ссылки, указатели или то, что доступно в вашем языке) в 8-битном диапазоне. поместите их в массив [0-255], теперь у вас есть грубый (приблизительный) порядок ваших значений.
  • посмотрите на следующие 8 бит, поместите их в аналогичный массив, сохраните ссылку на первый порядок. Следующие 8x2 бита обрабатываются таким же образом. Для извлечения вы переходите по ссылкам из первого набора.

Сортировка по основанию использует цифры и имеет 2 варианта: (от MSB до LSB) и (от LSB до MSB).

Сортировка подсчетом использует только первый шаг

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

Интересно, что для многих случаев использования сравнительная сортировка оказывается неэффективной.

person Captain Giraffe    schedule 12.05.2011