прямоугольники (разных размеров) в внутри большого прямоугольника, если место в большом прямоугольнике заканчивается, то я создаю новый большой прямоугольник и раскладываю в нем дальше, состояние системы постоянно меняется.
Алгоритм работает норм, но очень долго. Как можно ускорить его выполнение? Состояние системы постоянно меняется (некоторые прямоугольники уже вставились в большой или свободное место уменьшается при каждой итерации)
Присылайте пожалуйста исходики, хотя бы на пастбин ссылку, всем лень читать такое описание
ну тут не к дотнету вопрос, а к алгоритму
закинь в чатгпт, алгоритмы он вроде норм делает
Да я пытался, алгоритм сложный, в интернете искал алгоритмы по упаковыванию прямоугольников - но они не подходят, нужно чтобы было прям минимум места. В итоге разработал свой, а он очень долго работает, я думал применить конкурентность, но она не подойдет, потому что система постоянно меняется
ты нихрена не описал нормально свой алгоритм, не понятно как он работает
ну без коды тебе точно ничего не подскажут, мы ведь даже не знаем какой алгоритм у тебя сейчас работает
ты хоть примерно посчитай O(n) своего алгоритма для начала
и что такое минимум места? 0? 0.0001?
ну так если совсем навскидку, то мб тебе нужен мап редьюс. типа заполняешь прямоугольники поменьше параллельно, потом мержишь их в один большой
Когда ни один из маленьких прямоугольниках не может в свободное пространство встать. Ладно, давайте я разберусь с оценкой сложности и узкие места гляну
но то что параллельно это делать невозможно ты пока не убедил, кстати
ну будет у него в кол-во потоков быстрее, это слабо будет ощущаться
это с какогонибудь кодеварс задача?
Нет, просто для работы своей хочу написать автоматизацию
Хадуп поднять делов то )
Обсуждают сегодня