Я занимаюсь программированием некоторое время, хочу двигаться дальше. Сейчас мне кажется, что мне не хватает как теоретических, так и практических навыков в плане реализации алгоритмов.
У меня часто случаются некоторые проблемы в процессе реализации чего-то достаточно простого. Тажке хочу подтянуть базу для анализа производительности и выбора наилучшего пути решения задачи.
именно реализации? вот написан текст алгоритма, а проблема в его переводе на язык программирования? или же есть текст задачи и надо подобрать/составить алгоритм, который потом обратить в код и использовать?
если первое, то тренироваться программировать "черновиком"(3 шага: сделать чтоб работало, работало правильно, работало быстро) и потом рефакторить, пока не станет нормальный код, если второе, то просто сидеть и искать какие есть проблемы и как их решают, составлять знания "по верхам", чтоб когда надо, то можно было быстро найти нужные алгоритмы, а потом уже думать как реализовать, или какую либу с решением взять и как их связать в кучу.
тоесть, алгоритмы решают проблемы, на одну проблему может быть много алгоритмов, если изучать и детектировать проблемы, которые надо решить, то можно по проблемам находить варианты решений
А черновые решения помогут понять проблему, чтоб потом лучше понять алгоритмы решений