На вопрос "Есть ли обзор наиболее распространенных алгоритмов?" Это как спросить, есть ли обзор общей математики или науки?
Алгоритмы - это методы решения проблем и прикладная математика, используемые во многих областях, которые требуют систематического подхода к решению сложных проблем, таких как эти области / приложения:
Компьютерная инженерия или электрика:
алгоритмы обработки изображений
обработка сигналов в общем алгоритмах
Шумоподавление, аналого-цифровое
CS или IT:
Управление данными
безопасность (шифрование, обнаружение вторжений)
Машинное обучение
Финансы, исследование операций, эконометрика:
Линейное программирование
Динамическое программирование
Статистические алгоритмы и стохастическое исчисление
Combinatrics
и т.д ....
Просто назвать несколько и поцарапать поверхность
Однако большинство специализированных алгоритмов основаны на общих случаях, встречающихся в CS, поэтому, чтобы ответить на ваш вопрос, подойдет любая книга или учебное пособие, которое охватывает введение в алгоритм.
Вот наименьшее из распространенных алгоритмов CS, с которыми я сталкивался в академических кругах и профессионально
1) Сортировка (пузырьковая, вставка, слияние, быстрая)
2) Поиск (dfs, bfs)
3) Структуры данных и алгоритмы, которые пересекают структуры данных
4) Рекурсия против Интеграции (необходимо изучить сложность рекурсии, основная теорема)
5) Деревья (бинарные, N-арные, K-дерево, B-дерево)
6) Графики (обход через dfs, bfs)
7) Хеширование
8) Общие математические алгоритмы (GCD, Экспонирование, различные умножения матриц)
9) Деревья выражений (Строительство и обход)
10) Обзор распространенных алгоритмов шифрования, таких как RSA, AES и т. Д. *
Если вы изучаете то, что я упомянул выше и знаете временные сложности (обозначение O), это в значительной степени охватывает все, что вам нужно знать для алгоритмов CS.
Рекомендую "Введение в алгоритмы" от Cormen, etal. MIT Press