|
Заблокирован
|
||||||
Quicksort qbasic быстрая сортировка половиной и МЫ04.05.2018, 22:23. Показов 9351. Ответов 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
|
|
|
1070 / 991 / 153
Регистрация: 10.08.2015
Сообщений: 5,431
|
||
| 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 | |
|
Управление COM-1 портом в QBasic
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
|
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701
Купил два термопринтера QR701.
На сэлф-тесте написано:
Language: PC936 (GB18030).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
|
|
Создание формы заимствованного документа
Maks 03.08.2026
Задача:
Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также
табличная часть со следующими реквизитами:
- Расчетный счет покупателя. . .
|
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача:
В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
|
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов.
Логика кажется понятной:
1. Находим ключевые слова.
2. Добавляем их на. . .
|
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302
Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
|