Подскажите, как часто вы в своей работе сталкиваетесь с потребностью в знании алгоритмов и структур данных в PHP? Если это действительно важная часть знаний PHP-разработчика уровня Middle, то что посоветуете в качестве обучения. Я нашел несколько популярных ресурсов, но они все без привязки к PHP:
Буду очень благодарен, если найдете минутку ответить на мой вопрос.
Алгоритмы и структуры не привязаны к какому-то языку.
Про алгоритмы можно просто прочитать, чтобы иметь представление, что это такое и какие распространённые бывают. А будут они полезны или нет – зависит от предметной области проекта. От того, будете ли вы что-то делать сами. И важно понимать тему сложности алгоритма, чтобы уметь выбирать или сочинять более быстрые способы решения.
Например, если пишем соцсеть и нужно хранение и обход графов, то можно взять готовую графовую БД. Но если мы сами программируем систему геонавигации с построением маршрутов, то уже нужно будет знать алгоритмы обхода графов.
В высокоуровневых языках вроде PHP основные вещи уже сделаны до нас. Для обычной работы не обязательно знать алгоритмы сортировки, так как есть готовые процедуры sort
и rsort
. И не нужно знать алгоритмы поиска, так как есть функции strpos
и in_array
.
Но если мы занимаемся низкоуровневой работой вроде написания своей СУБД, программирования игрового движка или обработки гигабайт данных, то там уже всё это нужно. Там критична скорость и экономия ресурсов, поэтому придётся оценивать сложность по времени и памяти и оптимизировать каждую строку кода.
Также как с математикой и другими науками. Если делаем интернет-магазин, то нужно уметь только считать проценты для скидок. Но если программируем игры, то там пригодятся знания математики и физики.
Так что про алгоритмы прочитать полезно чтобы иметь представление, какие они вообще существуют. Чтобы потом если возникнет похожая задача сразу вспомнить подходящий алгоритм, а не изобретать такой же свой. А пригодятся или нет - это уже как повезёт с задачами.
Или войти через: