Ребят, кто что читал по алгоритмам, есть шансы без фундаментального образования прочитать пару книжек и понять?) Недавно собесы проходил, все шло прям отлично, а на последнем собесе меня чувак, который в вк работал, просто уничтожил)
Даже интересно куда ты шел на собес, что алгоритмы начали спрашивать, на самом деле редкость.
Алгоритм - это грубо говоря какой-то логический блок или группа блоков. Например "Умножение" это алгоритм сложения числа n раз. Алгоритм принимает число и сколько раз его сложить.
Реализацией алгоритма является цикл сложения входящего числа, кол-во итераций равно кол-ву индекса умножения (кол-ву раз сложения).
Cтруктуры данных по проще на самом деле, но в php большинство тоже используют редко, видел только на очень крупных проектах, самое основное, что используют всегда линейные - массивы.
Сами структуры данных существуют линейные и нелинейные.
Линейные - Элементы последовательны, обход линейный (Массивы, связанные списки, стеки, очереди)
Нелинейные - Элементы непоследовательны (логично). (Графы, деревья)
Основные структуры данных: Массивы, Стеки, Очереди, Связанные списки, Графы, Деревья, Префиксные деревья, Хэш таблицы.
В php с 7 ветки их вынесли в неймспейс ds, там много интересного, даже штатные коллекции существуют. Так же начиная с 5 ветки были реализованы разные интересные структуры в SPL, например "Кучи" - SplHeap (Древовидная структура следующая свойствам кучи).
Честно говоря сложность реализации я и сам уже не помню, помню были формулы.