|
|
|
возможно ли отсортировать элементы в массиве за о(n)?
|
|||
|---|---|---|---|
|
#18+
привет. попался вопрос - в сабже. ответ - возможно для массивов некоторых типов. Подскажите, пожалуйста, как это? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2015, 15:22 |
|
||
|
возможно ли отсортировать элементы в массиве за о(n)?
|
|||
|---|---|---|---|
|
#18+
mr_virtusответ - возможно для массивов некоторых типов. А каких конкретно типов не указано? Логический (true/false) можно, но на практике нафиг не нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2015, 15:41 |
|
||
|
возможно ли отсортировать элементы в массиве за о(n)?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2015, 15:42 |
|
||
|
возможно ли отсортировать элементы в массиве за о(n)?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2015, 15:50 |
|
||
|
возможно ли отсортировать элементы в массиве за о(n)?
|
|||
|---|---|---|---|
|
#18+
eNoseи вот: https://ru.wikipedia.org/wiki/Сортировка_связного_списка#.D0.A1.D0.BE.D1.80.D1.82.D0.B8.D1.80.D0.BE.D0.B2.D0.BA.D0.B0_.D0.B4.D0.B2.D1.83.D1.81.D0.B2.D1.8F.D0.B7.D0.BD.D0.BE.D0.B3.D0.BE_.D1.81.D0.BF.D0.B8.D1.81.D0.BA.D0.B0 Там же O(n log n). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2015, 15:53 |
|
||
|
возможно ли отсортировать элементы в массиве за о(n)?
|
|||
|---|---|---|---|
|
#18+
всем спасибо. быстрое время получается. вот, кстати, щас наткнулся на хабре - обзор http://habrahabr.ru/post/188010/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2015, 16:03 |
|
||
|
возможно ли отсортировать элементы в массиве за о(n)?
|
|||
|---|---|---|---|
|
#18+
Один бородатый чел в youtube говорит-де факториальные оценки при сравнениях грубо заменяют на n в степени n. Забавно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2015, 16:23 |
|
||
|
возможно ли отсортировать элементы в массиве за о(n)?
|
|||
|---|---|---|---|
|
#18+
maytonОдин бородатый чел в youtube говорит-де факториальные оценки при сравнениях грубо заменяют на n в степени n. Забавно.Дык формула Стирлинга же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2015, 16:28 |
|
||
|
возможно ли отсортировать элементы в массиве за о(n)?
|
|||
|---|---|---|---|
|
#18+
mr_virtusпривет. попался вопрос - в сабже. ответ - возможно для массивов некоторых типов. Подскажите, пожалуйста, как это? зависит от структуры данных. есть такие что за о(n) сортируются. Почитайте Кормена, там приведены примеры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2015, 17:39 |
|
||
|
возможно ли отсортировать элементы в массиве за о(n)?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNПочитайте Кормена, там приведены примеры. Часть вторая(сортировка), глава 9-я "Сортировка за линейное время". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2015, 17:40 |
|
||
|
возможно ли отсортировать элементы в массиве за о(n)?
|
|||
|---|---|---|---|
|
#18+
miksofteNoseи вот: https://ru.wikipedia.org/wiki/%D0%A1%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0_%D1%81%D0%B2%D1%8F%D0%B7%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%BF%D0%B8%D1%81%D0%BA%D0%B0#.D0.A1.D0.BE.D1.80.D1.82.D0.B8.D1.80.D0.BE.D0.B2.D0.BA.D0.B0_.D0.B4.D0.B2.D1.83.D1.81.D0.B2.D1.8F.D0.B7.D0.BD.D0.BE.D0.B3.D0.BE_.D1.81.D0.BF.D0.B8.D1.81.D0.BA.D0.B0]https://ru.wikipedia.org/wiki/%D0%A1%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0_%D1%81%D0%B2%D1%8F%D0%B7%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%BF%D0%B8%D1%81%D0%BA%D0%B0#.D0.A1.D0.BE.D1.80.D1.82.D0.B8.D1.80.D0.BE.D0.B2.D0.BA.D0.B0_.D0.B4.D0.B2.D1.83.D1.81.D0.B2.D1.8F.D0.B7.D0.BD.D0.BE.D0.B3.D0.BE_.D1.81.D0.BF.D0.B8.D1.81.D0.BA.D0.B0] https://ru.wikipedia.org/wiki/Сортировка_связного_списка#.D0.A1.D0.BE.D1.80.D1.82.D0.B8.D1.80.D0.BE.D0.B2.D0.BA.D0.B0_.D0.B4.D0.B2.D1.83.D1.81.D0.B2.D1.8F.D0.B7.D0.BD.D0.BE.D0.B3.D0.BE_.D1.81.D0.BF.D0.B8.D1.81.D0.BA.D0.B0 Там же O(n log n). следующий абзац :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2015, 19:24 |
|
||
|
возможно ли отсортировать элементы в массиве за о(n)?
|
|||
|---|---|---|---|
|
#18+
eNosemiksoftпропущено... Там же O(n log n). следующий абзац :)который ссылается на предыдущий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2015, 19:29 |
|
||
|
возможно ли отсортировать элементы в массиве за о(n)?
|
|||
|---|---|---|---|
|
#18+
eNoseследующий абзац :) там сказано что о(n) - занимает операция восстановления указателей на предыдущий элемент. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2015, 19:39 |
|
||
|
возможно ли отсортировать элементы в массиве за о(n)?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNeNoseследующий абзац :) там сказано что о(n) - занимает операция восстановления указателей на предыдущий элемент. а, точно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2015, 19:57 |
|
||
|
возможно ли отсортировать элементы в массиве за о(n)?
|
|||
|---|---|---|---|
|
#18+
mr_virtusпривет. попался вопрос - в сабже. ответ - возможно для массивов некоторых типов. Подскажите, пожалуйста, как это? при специальных ограниченных на данные. ищи "карманная сортировка" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2015, 20:07 |
|
||
|
возможно ли отсортировать элементы в массиве за о(n)?
|
|||
|---|---|---|---|
|
#18+
MasterZivmr_virtusпривет. попался вопрос - в сабже. ответ - возможно для массивов некоторых типов. Подскажите, пожалуйста, как это? при специальных ограниченных на данные. ищи "карманная сортировка" я выше дал ссылку на главу в Кормане. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2015, 20:11 |
|
||
|
возможно ли отсортировать элементы в массиве за о(n)?
|
|||
|---|---|---|---|
|
#18+
Поискал, почитал. Корман - это вышеупомянутая блочная сортировка 17305846 . Распихиваем по блокам в один проход, сортировку внутри блока игнорируем как незначительную, получаем сложность O(N). ИМХУ обычный маркенговый бред из серии "Соль пищевая без ГМО". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2015, 20:34 |
|
||
|
возможно ли отсортировать элементы в массиве за о(n)?
|
|||
|---|---|---|---|
|
#18+
Dima TИМХУ обычный маркенговый бред из серии "Соль пищевая без ГМО". Да нет, зная внутреннюю структуру данных, и характеристику значений, иногда действительно можно свести сортировку к сложности o(n). и соль без ГМО здесь не причем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2015, 20:59 |
|
||
|
возможно ли отсортировать элементы в массиве за о(n)?
|
|||
|---|---|---|---|
|
#18+
mr_virtus, сортировка подсчетом можно сортировать целые числа, double наловчиться 1. нужен вспомогательный массив такого же размера и массив подсчёта, фиксированный как правило 256 берут 2. количество проходов а. подсчёт b. прогонка туда-сюда по количеству разбиений int32 - 4 прохода PS: для целых чисел использовал, очень быстро. кроме того для одинаковых значений (если что ни будь ассоциировано) сохраняется порядок ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2015, 21:23 |
|
||
|
возможно ли отсортировать элементы в массиве за о(n)?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2015, 21:28 |
|
||
|
возможно ли отсортировать элементы в массиве за о(n)?
|
|||
|---|---|---|---|
|
#18+
Уникальные целые в один проход. Биткартой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2015, 23:28 |
|
||
|
возможно ли отсортировать элементы в массиве за о(n)?
|
|||
|---|---|---|---|
|
#18+
Вариации на тему "хитрых входных" данных. За первый проход мы определяем что имеют место какие-то признаки. И вторым проходом мы выводим их в правильном порядке. О сортировке речь не идёт да и кому она нафиг нужна когда скорость итератора достаточна чтобы "не замечать" алгоритмизированный подход. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2015, 23:33 |
|
||
|
возможно ли отсортировать элементы в массиве за о(n)?
|
|||
|---|---|---|---|
|
#18+
Добавить что-ли. Цифровая сортировка. Удобна, когда сортируемые объекты "довольно плотны" (известен диапазон возможных принимаемых значений, он влазит в память, в "сортируемом массиве" встречается большинство значений из диапазона). Иначе "большие дырки" в диапазонах "съедают весь профит" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2015, 00:10 |
|
||
|
возможно ли отсортировать элементы в массиве за о(n)?
|
|||
|---|---|---|---|
|
#18+
maytonУникальные целые в один проход. Биткартой. А где тут O(n)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2015, 04:15 |
|
||
|
возможно ли отсортировать элементы в массиве за о(n)?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNДа нет, зная внутреннюю структуру данных, и характеристику значений, иногда действительно можно свести сортировку к сложности o(n). и соль без ГМО здесь не причем. Не согласен. Вот пример реализации из вики Код: sql 1. 2. 3. 4. 5. 6. 7. "вставить A[i] в конец массива" не дает никаких шансов использовать тайные знания структуры данных. Если данные попадающие в один блок изначально не стоят в отсортированном порядке, то и в блоке они останутся несортированными. Т.е. вместо одного массива из N элементов за один проход получили M несортированных массивов. Далее сортируем каждый обычной сортировкой с минимальной сложностью O(n log(n)), т.е. в итоге сортировали все элементы, уже O(n) никак не получается. Знания структуры данных нужно для предсказания диапазонов, чтобы в каждый блок попало примерно одинаковое количество элементов, т.е. заранее надо знать минимум, максимум и какое-то стат.распределение. Авторы алгоритма успешно "порешали" эту непростую задачу формулировкой " При карманной сортировке предполагается, что входные данные равномерно распределены на отрезке [0, 1) " Упомянули бы алгоритм как привести данные к равномерному распределению в один проход, т.е. вычислить диапазоны для разбиения на примерно равные блоки. Далее исходя из этого же утверждения вывели сложность O(n). Чем не маркетинг? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2015, 07:33 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=38887657&tid=1341071]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
158ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 267ms |
| total: | 509ms |

| 0 / 0 |
