|
Заблокирован
|
||||||
Quicksort qbasic быстрая сортировка половиной и МЫ04.05.2018, 22:23. Показов 9623. Ответов 86
Метки нет (Все метки)
quicksort qbasic быстрая сортировка половиной и МЫ
на тему сортировка читая дюжину статей с программами иногда часто вижу ляп: для А элементов 2 вложенных массива равные и число перестановок якобы А^2 зато правильнее: I от1 доА и J отI доА и видимо те ошиблись пиша 1 вместо I причём часто противореча пояснениям для А=100 требуется А^2=10ооо ходов а правильнее =100*(99)/2 =4950 ходов 2-жды меньше видно из формулы и ещё вникнув в сортировку пополам получается для А=100 =2*((100/2)*((100/2)-1)/2) = 2450 ходов 4-жды меньше чем советуют по интернету и возможно реально делить на 4 части и далее сортируется пузырьковая сортировка Проведя эксперимент контролируя время сортируя массив обратный от 100ооо до 1 всё про qb64 компилятор qbasic: мой пополам 135 секунд и А^2 215 секунд мой простой 389 секунд и А^2 497 секунд чужие непонятные около 200 секунд и вообще предполагаю используя мои строки контролирующие время реально тестировать многие алгоритмы сортировки на время лучше всего массив от 100ооо до 1 и ещё есть методы обмена без доп переменной В свете вышесказанного: на тему сортировка и МЫ обнаруживаются остроумные решения ускоряющие тысячи операций в разы Вдобавок создал строки контролирующие время пока отсутствующие в программе в начале темы и возможно проверять на скорость варианты сортировки Программу размещаю через тэг code
0
|
||||||
| 04.05.2018, 22:23 | |
|
Ответы с готовыми решениями:
86
Меньшее из двух чисел заменить половиной их суммы Меньшее из двух чисел заменить половиной их суммы, а большее — их удвоенным произведением |
|
|
|||
| 31.05.2021, 14:35 | |||
|
0
|
|||
| 31.05.2021, 15:57 | |||
|
0
|
|||
|
|
|||||||
| 01.06.2021, 15:08 | |||||||
|
В то же время самопальная qsort сравнима по времени с шелл сортировкой. На больших массивах надо подбирать оптимальные последовательности, а для этого требуется месяцы работы. пока не могу выделить достаточного времени. Проверял на Си, так как компилятора FB у меня пока нет, так как с переездами на новые оси, растерял много файлов. Надо еще искать все это хозяйство. А на си проверял так: Кликните здесь для просмотра всего текста
0
|
|||||||
| 01.06.2021, 18:24 | ||
Сообщение было отмечено Quiet Snow как решение
РешениеРеализовал 3 варианта сортировки Шелла (с разным набором длины промежутков, в т.ч. и последовательностью предложенной Седжвиком) В сравнении с модифицированной QSort Шелл все равно проигрывает, хотя последовательность Седжвика ускоряет сортировку У меня на FB сортировка Шелла более чем в 2 раза медленнее QSort на 20 млн. случайных данных. При этом при переносе кода на VBA на 1 млн данных Шелл всего на 30% медленнее QSort Так что многое зависит от ЯП, в котором реализована сортировка, а также от качества компилятора.
2
|
||
|
|
|
| 01.06.2021, 18:58 | |
|
Позже проверю на больших массивах. Раньше пытался проверять, но стандартная qsort ломалась уже на 100000 массиве видимо из-за переполнения программного стека..
0
|
|
|
|
|
| 02.06.2021, 16:40 | |
|
Проверил на массиве из 20 миллионов элементов. Стандартная qsort - 1 сек., шелл - 4 сек., самопальная qsort вообще зациклилась видимо из-за исчерпания стека. Отсортированный массив qsort - 1 сек, шелл - 2. Но опять же стандартная оптимизирована в отличие от шелла. Но у меня нет времени заниматься этим вопросом, как и поиском оптимальных последовательностей. В общем признаю, что на больших массивах qsort рулит.
0
|
|
| 02.06.2021, 16:40 | |
|
Управление COM-1 портом в QBasic
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|