|
Заблокирован
|
||||||
Quicksort qbasic быстрая сортировка половиной и МЫ04.05.2018, 22:23. Показов 8905. Ответов 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
Меньшее из двух чисел заменить половиной их суммы Меньшее из двух чисел заменить половиной их суммы, а большее — их удвоенным произведением |
|
Заблокирован
|
|
| 04.05.2018, 22:26 [ТС] | |
|
вкратце: рассчитываем средний элемент
и за 1 цикл раскидываем в начало и в конец в другой массив и сортируем 2 части раздельно
0
|
|
|
Заблокирован
|
||||||||||||||||
| 05.05.2018, 11:02 [ТС] | ||||||||||||||||
|
общие строки при правильном расположении
внутри программы рассчитывают время для сравнения сортировки многими алгоритмами соблюдая универсальные имена переменных
мой алгоритм для сортировки частей A/(n^2) =A2*(B$1/A2)*((B$1/A2)-1)/2 100 ячеек и 1 часть = 4950 ходов 100 ячеек и 2 части = 2450 ходов 100 ячеек и 4 части = 1200 ходов 100 ячеек и 8 частей = 575 ходов что осталося проверить додумав деление на 4 участка 100ооо элементов наизнанку сортировались 66 секунд и программу размещу позже пока не универсально: циклы подряд наверняка возможно превратить в 3 цикла тогда небось получится делить ещё на части разделение на 4 части менее предсказуемо и тест показал нормально делит на 2 части на 4 части неудачно делит нечётное количество зато перешёл от имён в 2-мерный массив известна формула количества проходов W = LOG(N) / LOG(2) для создания вложенных циклов но думаю останется деление пополам уже реализованное и ниже скопирую Кликните здесь для просмотра всего текста
Добавлено через 8 минут в отличие от деления на 4 части деление пополам работает с любым массивом
являются данные специально подготовленные и подтверждается формула числа перестановок : =2*4*3/2 = 12 перестановок и 6 перестановок
0
|
||||||||||||||||
|
Заблокирован
|
|
| 05.05.2018, 11:59 [ТС] | |
|
вместо изначальных =8*7/2 = 28 перестановок
и вместо массово ошибочного числа перестановок =8^2 = 64 перестановок 12 перестановок в 5 раз быстрее 6 перестановок в 10 раз быстрее формула количества проходов вложенных циклов = LOG(N) / LOG(2)
0
|
|
|
Заблокирован
|
||||||
| 07.05.2018, 10:40 [ТС] | ||||||
|
сам экспериментально нашёл и исправил особенность
типа если ввести большое значение в массив тогда средний окажется искажён и массив делится пополам неправильно а оказалось решение встроено в виде счётчика количества элементов меньше среднего и работает 1-вые непонятные циклы лишь заполнение массива специально худшими значениями и заодно 100ооо элементов сортировал за менее 120 секунд 1ооо сортирует за 0,05с за 274ооо проходов и 4600 перестановок
0
|
||||||
|
|
||
| 07.05.2018, 13:10 | ||
|
Встроенная функция сортировки SortArray на PureBasic отсортировала массив из 100 000 элементов, состоящих из чисел от 0 до 1000 за 0,005 секунды. Вам есть куда расти в этой области!
0
|
||
|
Кормпилятор
|
||||
| 07.05.2018, 14:23 | ||||
|
а нагибчик то идёт за счёт другого. То что там используется сортировка через списки это понятно, мне интересен другой вопрос, насколько глубоко они интегрировали этот алгоритм. Отсортируй то же количество, но в полном диапазоне значений используемого типа. Добавлено через 6 минут И пара вопросов к ТС-у Добавлено через 7 минут И ещё пара вопросов: 1) Разрешение вашего экрана 320x200? В чём причина длины строк в 4 слова? 2) Вы показывали кому-нибудь перед публикацией эти "потоки сознания"? Это не просто сложно читать, а практически невозможно, информативность текста нулевая. Похоже на ситуацию, когда вы сидели, тужились, писали код и каждую свою сиюминутную мысль записывали.
0
|
||||
|
Заблокирован
|
|
| 07.05.2018, 15:53 [ТС] | |
|
по-моему на вопросы собеседников
ответы есть в моих сообщениях выше на любом basic реализаций алгоритмов нет и даже в википедии алгоритмы на многих языках кроме basic хотя никто не мешает переписать те же алгоритмы сортировки на basic чтобы понимали миллионы читателей и МЫ упоминаемая встроенная функция очевидно состряпана на языке низкого уровня и как пишу выше моя тема может использоваться для проверки алгоритмов через учёт времени главное сортировать одни и те же массивы данная тема копируется на 5 форумов главное для массового понимания повышения эффективности путём додумывания на 1% от 1% и текущий алгоритм использующий массив ждёт оптимизация логарифмическая сортируя 100ооо удобно читать за 17 мега циклов в свете вышесказанного: попробую перевести многие алгоритмы сортировки на basic а также читайте другие мои темы
0
|
|
|
|
|
| 07.05.2018, 16:48 | |
|
0
|
|
|
Кормпилятор
|
||||||||
| 07.05.2018, 18:31 | ||||||||
|
https://www.youtube.com/watch?v=leNaS9eJWqo Но если вдруг у кого её нету, ищется она легко ( SORTDEMO.BAS ) Она устарела, но тем не менее все эти QSort-ы уже кучу лет известны. В разделе Паскаля находятся все возможные сортировки. Да и вообще по этой теме инфы валом. Хочешь используй встроенное, хочешь - бери да пиши руками. И под задачу любая сортировка как правило подгоняется, т.е. просто взял и используешь - такое бывает редко для каких-то совсем несущественных задач. Конечно, понимаю, что каждый хочет себя как-либо индивидуализировать, но писать цифры буквами - это верх презрения к окружающим. Что за слоган? Тяжело написать прямым текстом что вы имеете в виду? Зачем дублировать везде это? Это всё равно, что создам не особо умную тему и буду дописывать в конце каждой строчки "и лысая собака", "и лысая собака". Большими буквами. Сортировки и ЛЫСАЯ СОБАКА. Алгоритмы и ЛЫСАЯ СОБАКА. и т.д. при этом, что за лысая собака, откуда она взялась и как она относится к давно изученному вопросу доселе неясно. Что это вообще за мода на нелепую чушь пошла? больших объёмах данных. В чём вообще тут сложность может возникнуть? Более того тут раздел QBasic, а вы пишете про эмулирует функцию QBasic с границами точности в 1/18 секунды. Т.е. то время, за которое у programmer-а отработала его функция вы даже измерить не сможете, пока не пропишете это так, как написано в справке QB64. использовании SIMD и при заточке под конвееры\кеш. Большинство современных диалектов уже многое делают за кодера, например, выравнивают данные и код. PureBasic, например, всё оборачивает в макросы. на 18 форумов копировал, канул в забвение. Вы думаете что открываете людям целый мир? Блин не позорьтесь. Эти сортировки уже кучу лет тому назад были изучены крутыми дядьками и к ним десятки модификаций написаны(в вашем посте видео, там один из таких дядек), причём с точки зрения мат. статистики, изобрести тут что-то уже невозможно. Нужно только пробежаться и найти эту информацию. А не стонать, что какие-то ошибки начинающих повсюду разбросаны, по вполне понятным причинам, ну разбросаны да и хрен с ними, радуйтесь что вы смогли их распознать и не наступили ногой в котях. Считайте это необходимым этапом карающей боли в жопе для тех, кто не хочет своими мозгами честно работать. И всё, сразу нет проблем. Лечить тех, кто сам что-то не в состоянии написать - бесполезно, это известный факт, а тем паче подобными "потоками мыслей".
0
|
||||||||
|
Заблокирован
|
|
| 07.05.2018, 20:18 [ТС] | |
|
вопросы естественно игнорируют главное данной темы
а именно: проверку хотя бы 5 алгоритмов сортировки как пишу для удобства чтения в тексте: на 100ооо ячеек посему время выполнения будет правдоподобным моя сортировка открылась в эмуляторе WinXP в QuickBasic 4.50 1985-1988 созданном ещё при старом режиме и как в ютюбе сортировка десятков ячеек заняла 0 секунд и заодно оболочка равна qb64 теми командами и функциями какими состряпан наверное сборник сортировок не смогут сочинить свои программы миллионы читателей и МЫ где-то нашёл бэйсик сортирующий с непонятными командами и на 100ооо как удобно читать ячеек показал результат хуже моего а ведь мой развивающийся содержит лишь 1 проход и потом идёт обычная сортировка и то быстро в свете вышесказанного: пока есть МЫ и 2 алгоритма сортировки более-менее понятные из заурядных команд а как проверить сорт.бас на скорость пока не думал наверное легче загрузить все алгоритмы 100ооо ячеек и результаты поделить на количество алгоритмов проверка показала: импортный сорт.бас не работает в имеющихся оболочках basic
0
|
|
|
Кормпилятор
|
|||||||
| 08.05.2018, 05:41 | |||||||
|
где-то сорт.бас И ЛЫСАЯ СОБАКА! данной главное И ЛЫСАЯ СОБАКА! в свете вышесказанного: Уже давно есть ЛЫСАЯ СОБАКА и популярные алгоритмы сортировки. Естественно более-менее понятные из заурядных команд ЛЫСАЯ СОБАКА плохо различает диалекты бейсика. Настолько плохо, что не отличает текстовый формат от бинарного. Но ЛЫСАЯ СОБАКА не виновата, что кто-то так I0o0o0, но можно написать ещё и так lo0o0o, а есть ещё такой вариант |●●● т.о. вы и ЛЫСАЯ СОБАКА точно станете узнаваемым и приобретёте своё уникальное лицо. Добавлено через 27 минут И ещё проверка всё таки показала: Что миллионы читателей И ЛЫСАЯ СОБАКА не различают диалекты ЯП. Но чукча не читатель, чукча - писатель.
0
|
|||||||
| 08.05.2018, 05:51 | |
|
Не по теме: Quiet Snow, не принимайте к сердцу. Пробежался по остальным его темам, на лицо явная речевая бессвязность, нарушены грамматические связи и сама речь состоит из беспорядочного набора слов, а иногда фразы не несут никакой смысловой нагрузки, а содержание речи соответствует содержанию бреда.
0
|
|
|
Заблокирован
|
|
| 08.05.2018, 06:21 [ТС] | |
|
главная мысль темы:
сравнение алгоритмов на понятном миллионам языке и МЫ незачем различать диалекты языка ежели мои программы работают без изменений во всех версиях языка разных лет потому как приоритет: понимание программы миллионами и вдобавок оказывается работает быстрее непонятных программ на каждом форуме находятся забалтывающие темы хотя информация забалтывающего sortdemo.bas не включается и есть якобы непонимающие а в реальности понявшие на 99 % : ведь предыдущий сам себе противоречит ведь ранее в теме отвечал по теме значит понял что и требовалось доказать и вдобавок поиск "?" показывает только вопросы риторические не требующие ответов и значит всем всё понятно а кому якобы непонятно читайте по абзацу в час и на удивление окажется: тема вкратце содержит в сжатом виде информации на дюжины страниц и как все видим выступающие избегают сравнения алгоритмов сортирующих 100ооо ячеек введением одинаковых моих строк и главная мысль темы: сравнение алгоритмов на понятном миллионам языке и МЫ
0
|
|
| 08.05.2018, 06:33 | |
|
Не по теме: Искусственный интеллект который мы заслужили.
0
|
|
|
Кормпилятор
|
||||
| 08.05.2018, 06:50 | ||||
|
А вы придуриваетесь... это тупо цифра 100 и мусор. Знаете у некоторых людей бывает залита клавиатура пивом, чаем, кофе и они так же точно пишут, несколько раз у них срабатывает клавиша, но переписывать им лень. Вы же принципиально коверкаете, вам тяжело посчитать кол-во нулей? Объясняю нажимаете нолик и проговариваете : "один", "два", "три", "четыре", "пять". Вам чёрным по белому пишут, эти алгоритмы изобрели пол века назад и уже отшлифовали десятки раз, берёте гугл и вбиваете туда "QSort улучшение". Одной из ссылок выпадает: https://neerc.ifmo.ru/wiki/ind... сортировка Там предлагают кучу вариантов оптимизации и с точки зрения алгоритма и с точки зрения железа. На поиск этой сслыки потратил минуту, помню были более аппетитные источники с большим количеством вариантов, более сложных статистически. Итить вашу мать, вы для начала найдите где даже какой-нибудь банальный пузырёк применить и если вам его не хватит тогда уже оптимизируйте до усрачки. Сортировки без задачи бесполезны, это любому кодеру известно.
0
|
||||
|
Заблокирован
|
|
| 08.05.2018, 07:33 [ТС] | |
|
напоминаю: ежели якобы непонятно что пишу
перечитывайте по абзацу в час и вмиг все всё поймёте ? чужие много букв выше отвечают задаче темы ? сравнение алгоритмов на понятном миллионам языке и МЫ ответ: нет чужие много букв выше НЕ отвечают задаче темы сравнение алгоритмов на понятном миллионам языке и МЫ мне не нужны отшлифованные алгоритмы непонятные мне нужны алгоритмы на понятном миллионам языке basic а пока мои идеи работают быстрее отшлифованных и вдобавок раздобыл русифицированный QBasic совмещённый с DosBox включающий русский язык: правый ctrl Qbasic45win7.rar 3МБ: https://yadi.sk/d/BuG5QWaV3VWwgN программы bas в каталоге QBasic45win7\App\DOSBox\QB45
0
|
|
|
Кормпилятор
|
||||||||
| 08.05.2018, 08:25 | ||||||||
массива, который написан профессионалами и использует все эти методы. Если вы не хотите это всё изучить - это ваша проблема, ну И ЛЫСОЙ СОБАКИ тоже. установили себе эти среды разницы обычно нет, они, а также миллионы читателей И ЛЫСАЯ СОБАКА редко выходят за базис QBasic, что не позволяет распознать очевидные вещи. Ежели вы И ЛЫСАЯ СОБАКА соизволите прочитать посты внимательно, то суть ошибки станет ясна. Читать желательно по букве в час, ваше мышление быстрее увы не справится. А пардон, там ещё воображаемая И ЛЫСАЯ СОБАКА, её мышление тоже надо учитывать. В общем "вы держитесь там". разные операционные системы, с разными возможностями, со своими особенностями, не равнозначные по функционалу и синтаксической записи: Пруфлинк: Где взять QBasic для Windows 7
0
|
||||||||
|
Заблокирован
|
|
| 08.05.2018, 09:26 [ТС] | |
|
задача и МЫ:
сравнение алгоритмов на понятном миллионам языке basic на 100ооо ячеек применив мой однотипный контроль времени скопировано у меня выше и видим как 1-й забалтывает а 2-й якобы не понимает не приводя непонятные абзацы "написан профессионалами" в худшем смысле слова "написан" на массово непонятном языке и вдобавок медленно работающий да и ссылки не включились и неизвестно есть ли там basic и в любом случае готовая команда типа sort не интересует интересуют именно циклы для массового понимания ускорения видя ошибки в чужих программах не работающие и как ни странно не исправленные за все годы в разных qbasic просто стираю неработающее т.к. разбираться в непонятных функциях мне незачем как незачем "распознать очевидные вещи" про версии и диалекты раз мои программы работают без изменений везде и за неимением ответов какие абзацы якобы непоняты повторяю: задача и МЫ: сравнение алгоритмов на понятном миллионам языке basic на 100ооо ячеек применив мой однотипный контроль времени на сей час есть моя программа развивающаяся и 1 или 2 чужие программы непонятные
0
|
|
|
Кормпилятор
|
|||||
| 08.05.2018, 09:49 | |||||
|
вы и ЛЫСАЯ СОБАКА читать отказались, а также дополнительную И ЛЫСУЮ СОБАКУ в придачу, как бонус. Вот прямо по порядку перечислите. Посмотрим что за редкий профи тут критикует. Попытка уйти от ответа будет считаться полным обсёром со стороны вас И ЛЫСОЙ СОБАКИ. Так что не обессудьте.
0
|
|||||
| 08.05.2018, 09:49 | |
|
Помогаю со студенческими работами здесь
20
Управление COM-1 портом в QBasic
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
*/
#include <iostream>
#include <stack>
#include <cctype>. . .
|
Камера 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 с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|