Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.12.16;
Скачать: CL | DM;

Вниз

Быстрая сортировка :-)   Найти похожие ветки 

 
guav ©   (2007-11-17 19:23) [0]

http://www.tvk-research.ru/products-research-ultrasorte/


 
vpbar ©   (2007-11-17 19:27) [1]

и что где алгоритм? Вы задачу 7 из http://delphimaster.net/view/15-1195192823/ решите чтобы сложность была линейная.


 
Anatoly Podgoretsky ©   (2007-11-17 19:30) [2]

> guav  (17.11.2007 19:23:00)  [0]

Хакерско, спаммерский сайт.


 
guav ©   (2007-11-17 19:31) [3]

> [1] vpbar ©   (17.11.07 19:27)

это орех, а не алгоритм :)


 
vpbar ©   (2007-11-17 19:31) [4]

что я решил или что по ссылке в (0)? В (0) может и орех. Хотя почему не селать сортировку быстрее...


 
guav ©   (2007-11-17 19:38) [5]


> [4] vpbar ©   (17.11.07 19:31)

Конечно по ссылке [0]

> Хотя почему не селать сортировку быстрее...

Сортировка быстрее худшего случая QuickSort O(n^2) уже существет (сложнось до O(n*log(n))
Всегда линейной сортировки сравнением в принципе не получится.

Вот тут перечислены алгоритмы сортировки http://en.wikipedia.org/wiki/Sorting_algorithm


> [2] Anatoly Podgoretsky ©   (17.11.07 19:30)

Ладно, если не смешно, удалите.


 
Anatoly Podgoretsky ©   (2007-11-17 19:41) [6]

> guav  (17.11.2007 19:38:05)  [5]

Почему наоборот смешно, но в глаза бросилась направленность сайта и помойка на нем.


 
vpbar ©   (2007-11-17 19:45) [7]

А эту задачу

> 7. Дан массив A[0.. 2 * M - 1] of Integer.
> Нужно эффективно переставить элементы так, чтобы элементы
> с четными индексами находились
> в начале, с нечетными - в конце, и относительны порядок
> сохранился
> Пример: 0 1 2 3 4 5 6 7 - > 0 2 4 6 1 3 5 7

можно решить с линейной сложностью?


 
guav ©   (2007-11-17 19:58) [8]

> [7] vpbar ©   (17.11.07 19:45)

Если использовать O(n) памяти, то это тривиально :)

А если серьёзно, то не думал над той задачей 7. Просто хотел найти какой алгоритм (quicksort или вариант introsort) используется в STL, которая идёт с MS VS 2005, случайно попал на страницу, указанную в [0], вот и решил поделится приколом. Алгоритм не мой, предъявы не ко мне :)


 
vpbar ©   (2007-11-17 20:06) [9]

При использовании O(1) памяти тоже есть решение с О(N). И не очень сложное.


 
guav ©   (2007-11-17 20:10) [10]

> [9] vpbar ©   (17.11.07 20:06)

И что ?


 
guav ©   (2007-11-17 21:21) [11]

> . Просто хотел найти какой алгоритм (quicksort или вариант
> introsort) используется в STL,

кстати, в реализации std::sort от MS VC 2005 используется quicksort-подобый алгоритм с рекурсией только для большей половины, для меньшей используется heapsort или insertion sort. Там так и написано в коментарии "большая половина".


 
guav ©   (2007-11-17 21:25) [12]

точнее для "меньшей половины" тоже может быть вызван quicksort но уже по условию.


 
Zeqfreed ©   (2007-11-17 21:29) [13]

А вроде есть же доказательство, что нельзя отсортировать быстрее чем за O(n log n)? Ну не считая всякие поразрядные сортировки и сортировки подсчетом, потому что они заточены под конкретный тип данных.


 
ferr   (2007-11-17 23:02) [14]

> А вроде есть же доказательство, что нельзя отсортировать
> быстрее чем за O(n log n)? Ну не считая всякие поразрядные
> сортировки и сортировки подсчетом, потому что они заточены
> под конкретный тип данных.

Если на множестве задана лишь операция сравнения, то быстрее n logn нельзя.


 
Zeqfreed ©   (2007-11-17 23:29) [15]

> ferr   (17.11.07 23:02) [14]

Спасибо за уточнение :)



Страницы: 1 вся ветка

Текущий архив: 2007.12.16;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.023 c
15-1195112953
de.
2007-11-15 10:49
2007.12.16
Plug-in


1-1190714064
Илья_С
2007-09-25 13:54
2007.12.16
Фокус ListView


3-1186590083
Shamansky_ne
2007-08-08 20:21
2007.12.16
файлы в базу данных


1-1190610573
ggg
2007-09-24 09:09
2007.12.16
Выделение в ComboBoxEx


2-1195713547
San1
2007-11-22 09:39
2007.12.16
EAccessViolation