Re: Сортировка за O(N)
От: Кодт Россия  
Дата: 27.11.02 07:08
Оценка:
Здравствуйте, Atilla, Вы писали:

A>Сортировка за O(N) операций. Сортирует, правда, только массивы целых (это принципиально). Можно и для signed, но это немного посложнее будет. Можно и строки сортировать, но тогда это уже будет bucket sort


A>Так что теперь, если вашу задачу проще решать на сортированном массиве, но от вас требуют линейного времени, можете смело сортировать!


Блестяще!

Для строк (и вообще для данных размером M бит) время O(N*M), что в случае со строками, естественно, неприемлимо.

Сортировка чисел со знаком (в дополнительном коде): прикол состоит в том, чтобы по старшему биту упорядочивать наоборот: единица меньше нуля.

Сортировка вещественных чисел также возможна:
union IEEE_FLOAT_32
{
  struct
  {
    signed int sign:1;      // сначала сортируем по знаку
    signed int exponent:8;  // затем - по порядку
    signed int mantissa:23; // и, наконец, по мантиссе
  }
  float value;
};
Перекуём баги на фичи!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.