|
|
|
возможно ли отсортировать элементы в массиве за о(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 |
|
||
|
возможно ли отсортировать элементы в массиве за о(n)?
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskymaytonУникальные целые в один проход. Биткартой. А где тут O(n)? Лучше спроси где тут сортировка. Ее нет. Но - с точки зрения пользователя данные отсортированы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2015, 08:48 |
|
||
|
возможно ли отсортировать элементы в массиве за о(n)?
|
|||
|---|---|---|---|
|
#18+
mr_virtusпривет. попался вопрос - в сабже. ответ - возможно для массивов некоторых типов. Подскажите, пожалуйста, как это? как писали выше, действительно существуют частные случаи на практике, когда такое возможно. Теоретически, имея неограниченный объём памяти, и изменив смысл слова "сортировка", возможно за один проход получить набор данных, чтение которых(определённым образом) даст нам упорядоченный набор. Существующие ограничения по данному вопросу накладываются как ни странно не математикой, а устройством ВМ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2015, 09:16 |
|
||
|
возможно ли отсортировать элементы в массиве за о(n)?
|
|||
|---|---|---|---|
|
#18+
Мне часто говорят в Сообществе (нашем) о том, что математика и программирование разные вещи. Так почему до сих пор основные алгоритмы (такие как сортировка например) основаны на математике и упираются в nlogn , а так называемые сортировки распределениями хилая тень того, что могло, и что должно быть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2015, 09:27 |
|
||
|
возможно ли отсортировать элементы в массиве за о(n)?
|
|||
|---|---|---|---|
|
#18+
SSМне часто говорят в Сообществе (нашем) о том, что математика и программирование разные вещи. Так почему до сих пор основные алгоритмы (такие как сортировка например) основаны на математике и упираются в nlogn , а так называемые сортировки распределениями хилая тень того, что могло, и что должно быть а почему понятно. Потому что мы ограничены устройством современной ВМ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2015, 09:29 |
|
||
|
возможно ли отсортировать элементы в массиве за о(n)?
|
|||
|---|---|---|---|
|
#18+
Всем спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2015, 10:49 |
|
||
|
возможно ли отсортировать элементы в массиве за о(n)?
|
|||
|---|---|---|---|
|
#18+
mr_virtus, Можно за 8*O(n) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2015, 11:22 |
|
||
|
возможно ли отсортировать элементы в массиве за о(n)?
|
|||
|---|---|---|---|
|
#18+
SashaMercury...Теоретически...и изменив смысл слова "сортировка"... Изменив смысл слова, можно скорость сделать O( 0 ). В linux такое чудо-устройство есть, /dev/null называется. IMHO & AFAIK ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2015, 13:48 |
|
||
|
возможно ли отсортировать элементы в массиве за о(n)?
|
|||
|---|---|---|---|
|
#18+
maytonЛучше спроси где тут сортировка. Ее нет. Но - с точки зрения пользователя данные отсортированы. Ну вот тестовый массив из 2х элементов. Код: plaintext Занесли его в битовую карту. И что видит пользователь? А ничего он не видит. Кучу нулевых битиков и только местами единички, но их еще разглядеть надо. А сканировать по битовой карте, это уже не O(n) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2015, 15:38 |
|
||
|
возможно ли отсортировать элементы в массиве за о(n)?
|
|||
|---|---|---|---|
|
#18+
Ты долго-долго искал наихудший случай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2015, 15:40 |
|
||
|
возможно ли отсортировать элементы в массиве за о(n)?
|
|||
|---|---|---|---|
|
#18+
maytonТы долго-долго искал наихудший случай. Нет, я просто забыл про этот топик )) А искать там не надо - оно на поверхности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2015, 15:41 |
|
||
|
возможно ли отсортировать элементы в массиве за о(n)?
|
|||
|---|---|---|---|
|
#18+
Ну в конце-то концом мой месседж звучит по другому. Я ищу про-активное решение. На несколько шагов вперёд. Мне говорят - надо отсортировать. Я говорю - не существует такой постановки. Дайте шаг №2. Что потом будете делать? И я дам решение. Сферическими сортировками в вакууме пускай занимется Кнут и Вирт с Хоаром. А у нас - предметная область и аппаратное обеспечение. И требования бизнеса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2015, 16:24 |
|
||
|
возможно ли отсортировать элементы в массиве за о(n)?
|
|||
|---|---|---|---|
|
#18+
maytonСферическими сортировками в вакууме пускай занимется Кнут и Вирт с Хоаром. А у нас - предметная область и аппаратное обеспечение. И требования бизнеса. Зря так про Вирта. Вирт как раз учитывал аппаратное обеспечение - потому и не котировал функциональщину. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2015, 16:35 |
|
||
|
возможно ли отсортировать элементы в массиве за о(n)?
|
|||
|---|---|---|---|
|
#18+
Anatoly Moskovskyсканировать по битовой карте, это уже не O(n) Разве? Поиск всех значений это именно O(n). Проверка одного значения это O(1). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2015, 14:59 |
|
||
|
возможно ли отсортировать элементы в массиве за о(n)?
|
|||
|---|---|---|---|
|
#18+
Anatoly Moskovskyсканировать по битовой карте, это уже не O(n) Dimitry SibiryakovРазве? Поиск всех значений это именно O(n). Проверка одного значения это O(1). Как я понял, имелось в виду, что N - разное. Если делаем массив для подсчета на 1 000 000 элементов и выполняем сортировку 2-х чисел: [1, 999 999] То потребуется 2 операций вставки и 1 000 000 операций просмотра для "истинной" сортировки 2 чисел с выдачей результата Т.е. сложность сортировки получает O1( N ) + O2( 1 000 00 ). Оно конечно "линейно", но счастье сомнительное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2015, 17:03 |
|
||
|
возможно ли отсортировать элементы в массиве за о(n)?
|
|||
|---|---|---|---|
|
#18+
Бонжур мезами. Представим себе фильтр Блума. С "нужными" параметрами. Макс число элементов e.t.c. C "хорошими" (сцуко) параметрами. Код: javascript 1. Добавим в него ваш массивчик. Код: javascript 1. 2. 3. 4. 5. 6. 7. (Определим границы походу) Выведем все элементы из диапазона. Код: javascript 1. 2. 3. Силь ву пле! Они отсортированы! И найдите мне здесь оценку сортировки. Жду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2015, 17:34 |
|
||
|
возможно ли отсортировать элементы в массиве за о(n)?
|
|||
|---|---|---|---|
|
#18+
maytonСиль ву пле! Они отсортированы! И найдите мне здесь оценку сортировки. O1(n) + O2(max-min). Причем второе слагаемое настолько зависит от данных, что ваша сортировка может вообще не закончиться в обозримом будущем. Пример с данными вмещающимися в long на большинстве современных платформ: [1, 2^64-1] Удачи в ожидании завершения вашего цикла )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2015, 18:04 |
|
||
|
возможно ли отсортировать элементы в массиве за о(n)?
|
|||
|---|---|---|---|
|
#18+
Спасибо Толик. Только проясни откуда ты взял O1(n) + O2(max-min) ? И тебе удачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2015, 19:00 |
|
||
|
возможно ли отсортировать элементы в массиве за о(n)?
|
|||
|---|---|---|---|
|
#18+
mayton, Отсюда: for(int i : massiv) for(int i : mini..maxi) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2015, 19:20 |
|
||
|
возможно ли отсортировать элементы в массиве за о(n)?
|
|||
|---|---|---|---|
|
#18+
Это не сортировка бро. Это input/output. Альфа и омега любого алгоритма. Без этих элементов вообще ничего не работает. Но мой вопрос - философский. Вы оцениваете временную сложность сортировки - я вам показал что ее просто нет. Как можно оценивать то чего нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2015, 00:06 |
|
||
|
возможно ли отсортировать элементы в массиве за о(n)?
|
|||
|---|---|---|---|
|
#18+
mayton, Нет сортировки - значит ОФФТОПИК ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2015, 03:19 |
|
||
|
возможно ли отсортировать элементы в массиве за о(n)?
|
|||
|---|---|---|---|
|
#18+
Да но выхлоп программы - сортированный. Как-же так? Сортировки нет но пользователь доволен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2015, 09:48 |
|
||
|
возможно ли отсортировать элементы в массиве за о(n)?
|
|||
|---|---|---|---|
|
#18+
maytonно пользователь доволен. А вот это уже фантазии. Не может быть пользователь доволен если массив из двух элементов выводится (видите, уже не пишу сортируется) несколько миллиардов лет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2015, 16:18 |
|
||
|
возможно ли отсортировать элементы в массиве за о(n)?
|
|||
|---|---|---|---|
|
#18+
Неа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2015, 17:25 |
|
||
|
возможно ли отсортировать элементы в массиве за о(n)?
|
|||
|---|---|---|---|
|
#18+
maytonСортировки нетСортировка таки есть. Это сравнений чисел нет. Такие алгоритмы так и называются - сортировка без сравнений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2015, 19:25 |
|
||
|
возможно ли отсортировать элементы в массиве за о(n)?
|
|||
|---|---|---|---|
|
#18+
А функция bloom.has(i) что, быстрая? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2015, 20:59 |
|
||
|
|

start [/forum/topic.php?all=1&fid=16&tid=1341071]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
156ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
| others: | 203ms |
| total: | 452ms |

| 0 / 0 |
