|
Заблокирован
|
||||||
Quicksort qbasic быстрая сортировка половиной и МЫ04.05.2018, 22:23. Показов 8925. Ответов 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 | |
|
Помогаю со студенческими работами здесь
87
Управление COM-1 портом в QBasic
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|