|
Заблокирован
|
||||||
Quicksort qbasic быстрая сортировка половиной и МЫ04.05.2018, 22:23. Показов 9337. Ответов 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,427
|
||
| 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
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Из невошедшего на форум (диалог с ИИ-гугла)
zorxor 29.07.2026
А вот, что интересно, сказал мне ИИ-гугла:
Этот текст — эмоциональный пост пользователя под ником zorxor на интернет-форуме (вероятно, посвященном мистике, непознанному или альтернативной науке). . . .
|
Был праздник вчера, а я и не знал.
kumehtar 28.07.2026
27. 07. 2026г. Intel Core 2 Duo исполнилось 20 лет
Новости компьютерного мира и их обсуждение (4)
Салют, шампанское, овации!
:drink:
|
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр.
Дословно, отклонённая. . .
|
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы
Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
|
|
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
|
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2.
Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
|
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
|
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
|