Алгоритмы разрабатывают ведь программисты и ученные?
Как часто приходится придумывать собственные алгоритмы для решения уникальной задачи, для которой нет универсального решения? Например есть алгоритмы которые были еще открыты во второй половине 20 века, и чтобы решить какую-то очевидно известную задачу, для этого особо не нужно придумывать велосипед, можно воспользоваться одним из известных алгоритмов и реализовать его.
Другие языки программирования и технологии
Вопрос про алгоритмы
Тут надо понимать, что решение прикладных программистских задач крайне редко сводится к научным изысканиям. Схема принятия решения обычно такая:
1) Дёрнуть готовую функцию из уже подключенной в проект библиотеки.
2) Подключить в проект новую библиотеку, в которой реализация алгоритма уже есть и отлажена.
3) Скопировать реализацию алгоритма из внешнего источника в код проекта, подогнав по свои реалии.
4) Реализовать в проекте уже известный алгоритм или комбинацию известных алгоритмов.
Варианты перечислены в том порядке, в котором они рассматриваются, т.к. каждый следующий стоит дороже предыдущего. Вместо библиотеки может быть отдельно развёртываемый сервис или что-то ещё, не суть.
И только когда всё остальное не сработало, и если при этом хватает компетенций:
5) Надеваем белые халаты и строим из себя учёных.
Могу сказать, что по 5-му варианту мне приходилось работать всего раза три за всю профессиональную жизнь, и все эти разы - несанкционированно (потому что всё равно никто бы не согласовал эти исследовательские работы). Но результат получался. А обычно всё же стараюсь делать по 3-му или 4-му варианту. Ну, а для 1-2 джуны есть.
1) Дёрнуть готовую функцию из уже подключенной в проект библиотеки.
2) Подключить в проект новую библиотеку, в которой реализация алгоритма уже есть и отлажена.
3) Скопировать реализацию алгоритма из внешнего источника в код проекта, подогнав по свои реалии.
4) Реализовать в проекте уже известный алгоритм или комбинацию известных алгоритмов.
Варианты перечислены в том порядке, в котором они рассматриваются, т.к. каждый следующий стоит дороже предыдущего. Вместо библиотеки может быть отдельно развёртываемый сервис или что-то ещё, не суть.
И только когда всё остальное не сработало, и если при этом хватает компетенций:
5) Надеваем белые халаты и строим из себя учёных.
Могу сказать, что по 5-му варианту мне приходилось работать всего раза три за всю профессиональную жизнь, и все эти разы - несанкционированно (потому что всё равно никто бы не согласовал эти исследовательские работы). Но результат получался. А обычно всё же стараюсь делать по 3-му или 4-му варианту. Ну, а для 1-2 джуны есть.
Чаще не разрабатывать "с нуля" приходится, а дорабатывать готовые под задачу. Это касается сложных алгоритмов, всякая простота просто так и пишется
алгоритмы "разрабатывают" в повседневной жизни ...
жизнь без своих алгоритмов - рутина
интерес ей придаёт разумный алгоритм и его исполнение
жизнь без своих алгоритмов - рутина
интерес ей придаёт разумный алгоритм и его исполнение
Да, алгоритмы разрабатываются программистами и учеными. Однако, ученые могут разрабатывать новые алгоритмы в области математики или физики, а программисты могут адаптировать эти алгоритмы для решения конкретных задач.
Да, часто приходится придумывать свои собственные алгоритмы для уникальных задач. Например, если задача уже решена с помощью известных алгоритмов, но требуется более эффективное решение, то программист может разработать новый алгоритм, который будет более быстрым и эффективным.
Да, часто приходится придумывать свои собственные алгоритмы для уникальных задач. Например, если задача уже решена с помощью известных алгоритмов, но требуется более эффективное решение, то программист может разработать новый алгоритм, который будет более быстрым и эффективным.
Да, алгоритмы разрабатывают программисты и ученые. Они используются для решения различных задач, и могут быть как универсальными, так и специфическими для конкретной проблемы.
В зависимости от задачи, которую нужно решить, программисты и ученые могут использовать существующие алгоритмы или разрабатывать новые. Например, для решения общих задач, таких как сортировка массива, можно использовать один из известных алгоритмов сортировки. Однако для решения более уникальных задач может потребоваться разработка нового алгоритма.
Существует множество алгоритмов, которые были разработаны во второй половине 20-го века и до сих пор широко используются. Однако наука и технологии постоянно развиваются, и появляются новые задачи, которые требуют новых алгоритмов. Исследователи из Массачусетского технологического института провели исследование, в котором показали, как быстро улучшаются алгоритмы. Они проанализировали данные из 57 учебников и более чем 1110 научных статей, чтобы проследить историю улучшения алгоритмов. В результате они обнаружили, что в среднем в каждой "семье алгоритмов" (набор алгоритмов для решения одной и той же проблемы) было около восьми алгоритмов, из которых пара улучшила свою эффективность. Таким образом, хотя многие существующие алгоритмы по-прежнему широко используются, ученые и программисты продолжают разрабатывать новые алгоритмы для решения новых проблем.
В зависимости от задачи, которую нужно решить, программисты и ученые могут использовать существующие алгоритмы или разрабатывать новые. Например, для решения общих задач, таких как сортировка массива, можно использовать один из известных алгоритмов сортировки. Однако для решения более уникальных задач может потребоваться разработка нового алгоритма.
Существует множество алгоритмов, которые были разработаны во второй половине 20-го века и до сих пор широко используются. Однако наука и технологии постоянно развиваются, и появляются новые задачи, которые требуют новых алгоритмов. Исследователи из Массачусетского технологического института провели исследование, в котором показали, как быстро улучшаются алгоритмы. Они проанализировали данные из 57 учебников и более чем 1110 научных статей, чтобы проследить историю улучшения алгоритмов. В результате они обнаружили, что в среднем в каждой "семье алгоритмов" (набор алгоритмов для решения одной и той же проблемы) было около восьми алгоритмов, из которых пара улучшила свою эффективность. Таким образом, хотя многие существующие алгоритмы по-прежнему широко используются, ученые и программисты продолжают разрабатывать новые алгоритмы для решения новых проблем.
у меня буквально на днях была проблема. Есть большой круг и в него нужно в случайным образом вписать маленькие круги, но так чтобы плотность была относительно равномерная. При этом количество маленьких кругов заранее не известно, оно по сути рандомное.
Математических формул я не нашел, есть упаковка кругов, но там для постоянного количества. Пришлось искать свое решение.
.
Математических формул я не нашел, есть упаковка кругов, но там для постоянного количества. Пришлось искать свое решение.

Похожие вопросы
- Вопрос про Алгоритмы сегодняшних онлайн-переводчиков: Почему Яндекс переводит лучше и точнее Гугловских???
- Алгоритм Гаусса вопрос
- Почему программирование на первый взгляд такое сложное? Потому что многие не умеют составлять алгоритмы?
- Нужно ли быть очень сильным математиком и хорошо уметь конструировать алгоритмы на позиции Software Engineer?
- Лёгкий вопрос: на каком языке реализован алгоритм?
- алгоритм... по нахождению общих элементов двух массивов
- Подскажите мне пожалуиста что такое алгоритм и зачем компьютеру. нужен алгоритм.И что такое прога Паскаль и зачем она
- Вопрос по программированию. Алгоритмы
- Как может время работы алгоритма не изменятся при переходе к более скоростному алгоритму ?
- Скорость тупого алгоритма
Немного помудрив, можно сделать на префиксных деревьях, отведя каждой ветви свой участок круга. Корневой узел - весь круг. Дочерние узлы - k частей одинаковой площади, например, секторов. Новый малый круг идёт по пути минимальной глубины, занимает незанятый лист и ставится точно в центр соответствующего ему участка. Когда все листья на данной глубине заняты, порождаем следующий уровень (деля площади) и перемещаем листья на него.