|
|
||||||||||||||||
Как ускорить логику цикла? [for experts]25.01.2021, 16:21. Показов 5828. Ответов 62
Приветсвую.
Есть рабочий код для простой задачи. На входе имеем начало и конец отрезкОВ надо определить какие области эти отрезки НЕ перекрыли. Грубо говоря какие доски забора остались НЕ покрашены. Например
Кликните здесь для просмотра всего текста
//битовое расположение используется для уменьшения памяти (отведенно максимум 2Гб для нашей задачи) и (надеюсь) увеличения скорости Но стоит задача его "ускорить". Т.к. например с такими входными данными этот код делается неприемлимо долго Кликните здесь для просмотра всего текста
Жду от уважаемого сообщества один из двух варианта ответа А) как еще можно ускорить данную логику ? Б) если существенно ускорения выше обозначенной логики не возможно, подскажите алгоритм (словесный код) как можно быстро (всмысле не написать код быстро а чтоб программа быстро крутилась) решить данную задачу ?
0
|
||||||||||||||||
| 25.01.2021, 16:21 | |
|
Ответы с готовыми решениями:
62
Как ускорить работу цикла?
Как ускорить выполнение цикла на Update |
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
||
| 25.01.2021, 21:15 | ||
|
0
|
||
|
Вездепух
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,312
|
|||||||
| 26.01.2021, 00:59 | |||||||
std::sort, который в лоб заменяется на qsort
1
|
|||||||
|
Just Do It!
|
|||||||
| 26.01.2021, 03:52 | |||||||
100%
1
|
|||||||
|
|
|
| 27.01.2021, 19:45 [ТС] | |
|
посидел еще поработал над свои дизайном "в лоб" (ради практики и интереса)... изменил/упростил логику цикла и на 2 млрд элементов смог улучшить время на 1 секунду , с 7 до 6 секунд
на этом думаю можно остановиться, врядли кто сможет сделать еще лучше (а надо лучше)...приступаю за обдумывании логики с отрезками (ваши не смотрел) потом посматрю на чьи моё похоже, если заработает конечно ![]() всем спасибо за подсказки и за ваше время Не по теме: я не программист и даже не учусь на программиста. это моё хоби. не судите строго
0
|
|
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|||
| 27.01.2021, 19:52 | |||
|
Добавлено через 3 минуты Как минимум три запустится, ну да еще стандарт с++ 11+ желательно.
0
|
|||
|
|
||||||||
| 27.01.2021, 20:13 [ТС] | ||||||||
|
Кликните здесь для просмотра всего текста
0
|
||||||||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|
| 27.01.2021, 20:36 | |
|
alexbmd, тогда могу лишь пожелать удачи, и заниматься такими вещами на свежую голову.
0
|
|
|
Гвоздь Задиров
1719 / 1118 / 337
Регистрация: 25.01.2019
Сообщений: 2,946
|
||||||
| 28.01.2021, 18:45 | ||||||
|
Может как-то так еще, без оптимизации, в качестве идеи, что-то вроде std::set:
0
|
||||||
|
Вездепух
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,312
|
||
| 28.01.2021, 19:18 | ||
|
1
|
||
|
Just Do It!
|
|
| 28.01.2021, 19:56 | |
|
1
|
|
|
Вездепух
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,312
|
||
| 28.01.2021, 20:09 | ||
|
1
|
||
|
Just Do It!
|
|||||||
| 28.01.2021, 20:22 | |||||||
|
ваш #23 во французской обработке:
0
|
|||||||
|
Гвоздь Задиров
1719 / 1118 / 337
Регистрация: 25.01.2019
Сообщений: 2,946
|
|
| 28.01.2021, 20:23 | |
|
1
|
|
| 28.01.2021, 20:38 | |
|
0
|
|
|
|
|
| 29.01.2021, 13:14 [ТС] | |
|
Приветсвую.
в своей логике по работе с отрезками упёрся в qsort точне что он не сортирует двумерный массив.я в своей логике использую двумерный массив для хранения начала и конца отрезка. и всё работает хорошо если отрезки отсортированны по началу. но немогу передать свой НЕ отсортированный двумерный массив qsort-у (по понятным причинам) как то можно в Си выкрутится из этой ситуации ?
0
|
|
|
Вездепух
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,312
|
|||
| 29.01.2021, 13:19 | |||
|
0
|
|||
|
|
|
| 29.01.2021, 14:52 [ТС] | |
|
кажется туплю.. сейчас подумаю еще..
Добавлено через 1 час 31 минуту TheCalligrapher, да, в чём туплю я понял, но без интернета фиг бы я правильно написал компоратор (ааар почему моя голова сама не додумывается до всех этих приведений типа, разименовываний и пр.)... вроде лёд тронулся... щяз чуть подшлифую и буду проверять на инпут дате... хотел вас спросить почему все использую разный вариант ретурна (если они вроде эквивалентны) ? return (arg1 > arg2) - (arg1 < arg2); return arg1 - arg2;
0
|
|
|
Гвоздь Задиров
1719 / 1118 / 337
Регистрация: 25.01.2019
Сообщений: 2,946
|
|
| 29.01.2021, 16:12 | |
|
0
|
|
| 29.01.2021, 16:12 | |
|
Можно ли как нибудь ускорить работу цикла for? Ускорить работу вложенного цикла for() C# Welcome to experts C++! Minsk.BelHard.vacancies: Java Experts, Team Lead, PM Как из цикла вывести данные для другого цикла? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Кредитный калькулятор
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) в массовой культуре принято понимать. . .
|