|
19 / 19 / 2
Регистрация: 29.11.2009
Сообщений: 224
|
||||||
САМАЯ БЫСТРАЯ сортировка!22.01.2010, 00:29. Показов 29001. Ответов 59
Метки нет (Все метки)
Теоретически и практически доказано, что сортировка OVERPOWER8 - самая быстрая в мире.
Характеристика: Требуется памяти: 3*N Количество шагов в любом случае: 3*N Стабильная: ДА Метод: Замена Если не верите, то можете проверить:
Не знаю, почему codepad.org выдает Segmentation Fault, у меня на Linux G++ все работает замечательно.
1
|
||||||
| 22.01.2010, 00:29 | |
|
Ответы с готовыми решениями:
59
Самая быстрая сортировка Какая библиотека самая быстрая для вычисления md5 и sha1? Быстрая сортировка(сортировка Хоара). Отсортировать фрагмент массива |
|
MCSD: APP BUILDER
8795 / 1074 / 104
Регистрация: 17.06.2006
Сообщений: 32,602
|
|
| 22.01.2010, 00:36 | |
|
OVERPOWER8,
Теоретически и практически доказано, что сортировка OVERPOWER8 - самая быстрая в мире. думаю, теперь пора подавать заявку в книгу рекордов Гиннеса, а также в Нобелевский комитет. только про кодепад им не говори.
0
|
|
|
19 / 19 / 2
Регистрация: 29.11.2009
Сообщений: 224
|
|
| 22.01.2010, 00:41 [ТС] | |
|
>> Rififi
Можешь выяснить, почему некоторые компиляторы выдают Segmentation Fault А то я не вижу ни одной ошибки, и G++ ничего не говорит.
0
|
|
|
577 / 571 / 65
Регистрация: 29.01.2009
Сообщений: 1,274
|
||
| 22.01.2010, 00:43 | ||
|
0
|
||
|
19 / 19 / 2
Регистрация: 29.11.2009
Сообщений: 224
|
||
| 22.01.2010, 00:45 [ТС] | ||
|
>>Gravity
Ты вот лучше подскажи, почему codepad выдает Segmentation Fault И мой компилятор при использовании более 3000000 элементов - тоже Segmentation Fault Блин, никак не вижу ошибку.
0
|
||
|
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
|
|
| 22.01.2010, 00:53 | |
|
У меня и вовсе это вываливается в "Необработанное исключение в "0x00401c77" в "AB.exe": 0xC00000FD: Stack overflow." в файле "chkstk.asm - C stack checking routine". Ведь массив передается как копия.
При SIZE = 1 вообще виснет При SIZE > 1 : ~ "Необработанное исключение в "0x7c92aa8c" в "AB.exe": 0xC0000005: Нарушение прав доступа при записи "0x00030fec"." Все в VS 2008
0
|
|
|
19 / 19 / 2
Регистрация: 29.11.2009
Сообщений: 224
|
|
| 22.01.2010, 00:57 [ТС] | |
|
insideone
А как насчет: void sort(int* arr) Однако это не решает проблему с codepad
0
|
|
|
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
|
||||||
| 22.01.2010, 01:00 | ||||||
|
Вы пишите программы для codepad или для чего?) Разве это важный фактор? -)
Тэкс... что бы я не делал с SIZE код не работает. При "void sort(int* arr)" тоже не работает. Во как!
Однако любые исправления не привели к работоспособности. Гмгм
0
|
||||||
|
19 / 19 / 2
Регистрация: 29.11.2009
Сообщений: 224
|
|
| 22.01.2010, 01:08 [ТС] | |
|
>> insideone
Вообще-то это важно. Хотелось бы чтобы мой код работал исправно на всех компиляторах, а не тоьлко на G++. Есть простое решение - создать 2 глобальных массива. Тогда будет всегда работать исправно. Только встает одна проблема - как быть с размерами? При пошаговом выполнении обнаружил что компилятор посчитал что "int* Sorted = new int[max+1];" расположена внутри тела цикла. Это как же так? В таком случае надо отсоединить тело цикла скобками { }
0
|
|
|
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
|
||||||||
| 22.01.2010, 01:42 | ||||||||
|
Максимальный элемент: 1999999.
0
|
||||||||
|
19 / 19 / 2
Регистрация: 29.11.2009
Сообщений: 224
|
|
| 22.01.2010, 01:46 [ТС] | |
|
>> CyBOSSeR
Да, все правильно. Этот вариант не подходит для сортировки маленьких массивов. А вот больших - очень даже. МОЖЕТ КТО-ТО ОБЪЯСНИТЬ, ЧТО В КОДЕ НЕ ЧИСТО!?
0
|
|
|
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
|
||||||||||||
| 22.01.2010, 01:52 | ||||||||||||
|
Упадем здесь либо здесь:
0
|
||||||||||||
|
19 / 19 / 2
Регистрация: 29.11.2009
Сообщений: 224
|
||
| 22.01.2010, 02:07 [ТС] | ||
|
>> CyBOSSeR
Если не сложно, то предложите ваш вариант программы. P.S. На этот раз решил обойтись без указателей.
1
|
||
|
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
|
||||||||||||
| 22.01.2010, 02:16 | ||||||||||||
Если в массиве есть отрицательные элементы, то в этой строке
0
|
||||||||||||
|
19 / 19 / 2
Регистрация: 29.11.2009
Сообщений: 224
|
|
| 22.01.2010, 02:21 [ТС] | |
|
>> CyBOSSeR
Да ладно вам с отрицательными элементами! Я попросил проверить тот код, который я предложил изначально - там что-то не правильно.
0
|
|
|
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
|
||
| 22.01.2010, 02:24 | ||
|
OVERPOWER8, в том то и дело, очень много мест, где можно упасть, потому что алгоритм положенный в основу этого кода никуда не годится. Кстати на словах опиши его.
0
|
||
|
19 / 19 / 2
Регистрация: 29.11.2009
Сообщений: 224
|
|
| 22.01.2010, 02:29 [ТС] | |
|
>> CyBOSSeR
А зачем на словах описывать? Я его в коде описал. И, честно говоря, не вижу ни одной причины, почему некоторые компиляторы ругаются (В данном примере). >> CyBOSSeR Может быть, вы объясните, почему некоторым компиляторам не нравится конкретно мой код (а не алгоритм)? А насчет отрицательных чисел - очень просто - создам новый массив из (-1*min)+1 элементов, отсортирую их в порядке убывания, и потом объединю оба массива. И на мой взгляд этот алгоритм идеальный - и прост в реализации и быстрый, но вот только для определенных случаев.
0
|
|
|
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
|
|||||||
| 22.01.2010, 02:41 | |||||||
|
Segmentation Fault говорит о попытки обращения к защищенным участкам памяти. Скорее всего где-то произошел выход за пределы массива. Возможное решение: трассировать и проверять индексы. Stack overflow говорит о переполнении стека. Размер стека ограничен (в зависимости от платформы). Это ошибка скорее всего связана с этой строкой:
Возможное решение: выделять память в куче. Вот как то так.
0
|
|||||||
|
19 / 19 / 2
Регистрация: 29.11.2009
Сообщений: 224
|
|
| 22.01.2010, 02:43 [ТС] | |
|
>> CyBOSSeR
Странно. С помощью STL -> qsort я сортировал этот же массив, только SIZE был в разы больше - порядка 20 000 000, и все работало нормально. Подозреваю, что проблема в чем-то другом. С индексами все путем. Проблема в чем-то другом...
0
|
|
|
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
|
||
| 22.01.2010, 02:46 | ||
|
Возможно у тебя размер стека больше.
0
|
||
| 22.01.2010, 02:46 | |
|
Помогаю со студенческими работами здесь
20
Быстрая сортировка (сортировка Хоара) для связных списков
Сортировка Хоара / Быстрая сортировка Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
|