|
Заблокирован
|
||||||
Quicksort qbasic быстрая сортировка половиной и МЫ04.05.2018, 22:23. Показов 9053. Ответов 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
Меньшее из двух чисел заменить половиной их суммы Меньшее из двух чисел заменить половиной их суммы, а большее — их удвоенным произведением |
|
Кормпилятор
|
||
| 08.05.2018, 13:03 | ||
|
т.е. компромисс сжираемой памяти и скорости. В потоке, кстати можно проверить сколько стека жрёт, убавлять стек, пока не крешнет. Кинь *.EXE, посмотрю у себя это чудо.
0
|
||
|
Заблокирован
|
|
| 08.05.2018, 13:09 [ТС] | |
|
мной проверено и не работает sortdemo.bas
в разных qb* и в turbobasic tb*
0
|
|
|
1069 / 990 / 153
Регистрация: 10.08.2015
Сообщений: 5,400
|
||
| 08.05.2018, 13:24 | ||
|
0
|
||
|
|
|
| 08.05.2018, 13:34 | |
|
0
|
|
|
Кормпилятор
|
|||
| 08.05.2018, 13:49 | |||
|
элементарную прогу на QuickBasic: https://yadi.sk/i/wLP7ngBE3VXzqk Добавлено через 4 минуты
1
|
|||
|
|
|
| 08.05.2018, 14:03 | |
|
0
|
|
|
Кормпилятор
|
||
| 08.05.2018, 14:17 | ||
|
Прикиньте гугл со своей нейросетки AlphaZero начнёт так обстреливать нас бедолаг. Это же полностью парализует всю полезную активность на конференциях.
1
|
||
|
Заблокирован
|
|
| 08.05.2018, 15:08 [ТС] | |
|
проверим выполнены ли условия:
цитата Сегодня, 13:53 чтобы sortdemo.bas работал в своей оболочке в windows 7 без эмулятора цитата Сегодня, 13:58 важно: чтобы sortdemo.bas работал в своей оболочке в windows 7 без эмулятора итого: условия не выполнены и ввиду того что sortdemo.bas невозможно приспособить к соревнованиям значит sortdemo.bas выбывает из соревнований о невозможности приспособить к соревнованиям: ? за сколько секунд сортирует 100ооо ячеек заполненных потенциально невыгодным образом в 1-й половине массива от большего к меньшему и во 2-й половине массива от меньшего к большему ? у меня подобное заполнение массива в 1 строчку оказывается невозможно ввести массивы много тысячные максимум кажись до 10ооо и ещё вдобавок в эмуляторе заведомо медленно да и не считает перестановки хотя могли додуматься "профффессионалы" в dosbox мой сортировал 5ооо ячеек 25ооо проходов за 7оо секунд в qb64 мой сортировал 5ооо ячеек те же 25ооо проходов за о.3 секунды Нобелевская премия сама себя не получит вывод: важно: чтобы сортировка работала в своей оболочке в windows 7 без эмулятора и напоминаю: кому непонятно пишите какие абзацы непонятные и пока никто не показал что именно не понятно
0
|
|
|
Кормпилятор
|
||||
| 08.05.2018, 15:19 | ||||
|
Сфинкс боюсь сейчас ты не в том положении, чтобы диктовать какие-то там условия, ибо дал в ретузы ты мощно. Поэтому свои требования про Windows7 и прочее засунь себе глубоко и подальше. Добавлено через 5 минут Очень показательно.сортировку - будет безбожно лагать.
0
|
||||
|
Заблокирован
|
|
| 08.05.2018, 15:20 [ТС] | |
|
лучше я засуну подальше
тянущий резину за хвост в долгий ящик алгоритм от профффессионалов 20-го века медленный донельзя и тормозящийся эмулятором и никому не нужный для ускорения и для использования т.к. непонятно как сортировать именно свои данные и не считающий число перестановок а ведь число перестановок важнее времени при испытании логики алгоритмов да ещё читал возможно переставлять без доп переменной и без swap и пока не обнаружено ничего нового значит соревнуются кажись 3 basic сортировки
0
|
|
|
Кормпилятор
|
||
| 08.05.2018, 15:21 | ||
|
которая 10 секунд лопатит массив из 100000 элементов и можно будет расходиться.
0
|
||
|
Кормпилятор
|
|||
| 08.05.2018, 16:02 | |||
|
Наслаждайтесь парни:
https://yadi.sk/i/TusD3iRy3VYR8V Оставляю вас наедине с виртуозом программистом. Добавлено через 49 секунд Добавлено через 9 минут
0
|
|||
|
Заблокирован
|
|
| 08.05.2018, 16:36 [ТС] | |
|
10 секунд моей сортировки 10ооо ячеек это Победа
мне хоть и жалко мегабайт на мега кино зато минуты в конце со счётчиками посмотрел 10 секунд моей сортировки 10ооо ячеек это Победа потому как другой алгоритм использует язык низшего уровня сами убедитесь и не случайно чужая программа скрыта и нужно нажимать спойлер 10 секунд моей сортировки 10ооо ячеек это Победа и вдобавок мой алгоритм ускоряется единственным проходом и большее число проходов логарифмически зависимы и пока с сортировкой глубже моей программы нету 10 секунд моей сортировки 10ооо ячеек это Победа
0
|
|
|
Заблокирован
|
|
| 08.05.2018, 16:45 [ТС] | |
|
до 11 секунд
100ооо ячеек 1,7 млрд проходов 467ооо перестановок
0
|
|
|
Заблокирован
|
|||||||||||
| 08.05.2018, 17:54 [ТС] | |||||||||||
|
текст другой чужой программы также не по теме
ввиду того что нет циклов basic и значит используется сортировка на языках низшего уровня причём с неизвестными результатами
явно язык низшего уровня естественно быстрее
лучше совместимые с qb64 да и посрамлены якобы непонимающие: тестировавший мой код без GоTо за 10 секунд разобрался в моём коде молниеносно что и требовалось доказать а я пока ещё отточу открытие года да ещё лайфхак: чтобы не печатались все 100ооо ячеек = n легко обособить печать 10 ячеек FOR k = n-10 TO n: PRINT d(1, k);: NEXT: PRINT и легче контролируется сортировка
0
|
|||||||||||
|
Кормпилятор
|
|||||||||||||
| 08.05.2018, 18:31 | |||||||||||||
Прикинь, не знал что вот это "язык низшего уровня"("низшего" звучит как "падшего" ):QSort
и вот это RapidSort
0
|
|||||||||||||
|
|
|||
| 08.05.2018, 18:53 | |||
|
Как бы мне не нравился PureBasic, и как бы locm не сомневался в вычислительных способностях FreeBasic
Но как говорится результаты на лицо: Встроенная функция сортировки PureBasic, которой я давеча хвастался перед кодом на QBasic, как Пурик порвал Qbasic, так же и FreeBasic порвал Пурик ![]() Или Фред плохо сортировку написал, или реально FB считает очень быстро!
0
|
|||
|
Кормпилятор
|
||
| 08.05.2018, 19:11 | ||
|
т.е. не блокирует жёстко ядра, может какая-нть мелкозернистая. У кого есть точные профайлеры, посмотрите. Обычный диспетчер задач нифига нормально не показывает по загрузке, всё что я вижу - это 3 ядра, загруженные примерно на половину, т.е. чисто ориентировочно оно может работать в 2 раза быстрее. Меня больше удивило другое, асмовая сортировка просирает FB-шной на моём проце. Ну и всё это на FB не использует потоки, т.е. это можно ещё раза в 3.5 минимум ускорить(т.е. проход, перебрасываем элементы по значению в 4 отдельных массива, дальше отдаём на каждое ядро). К тому же, думаю если переписать Rapid на PB, он будет тоже где-то так фигарить, будет разница максимум в 5% в пользу PB.
0
|
||
|
Модератор
|
||||||
| 08.05.2018, 19:14 | ||||||
|
Алгоритм сортировки Long значений по возрастанию из PureBasic (из EXE locm'а):
Pro_grammer, кидай EXE
0
|
||||||
| 08.05.2018, 19:14 | |
|
Помогаю со студенческими работами здесь
60
Управление COM-1 портом в QBasic
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер.
Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
|
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта
Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
|
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром.
возможно получится прикрутить интерпретатор питон для кастомизации игровой логики.
что есть на текущий момент:. . .
|
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2.
Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
|
|
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
|
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2.
Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
|
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2.
Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом.
В. . .
|
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2.
Задача: отобразить спецтехнику, которая на данный момент находится в ремонте.
Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
|