Разработчик Ричард Уэрпам в своем блоге на Medium признается, что он не большой поклонник структур данных и алгоритмов. Но поработав над разными проектами, обнаружил, что есть шесть важных алгоритмов. Они почти всегда могут помочь решить проблему. О них он и рассказывает в этой статье. Передаем ему слово.
Что такое сортировка? Это алгоритм, упорядочивающий элементы в списке.
Важные алгоритмы сортировки:
n log n
сравнений при сортировке массива из n
элементов. Это очень эффективный и быстрый алгоритм.Что такое поиск? Это алгоритм, находящий элемент в наборе данных.
Важные алгоритмы поиска:
Динамическое программирование (DP) — это алгоритмическая техника для решения проблемы оптимизации. Для этого ее разбивают на более простые подпроблемы и считают, что оптимальное решение общей проблемы зависит от оптимального решения подпроблем.
Рекурсия — это техника решения проблем, в которой решение зависит от меньших случаев той же проблемы. Вычисление факториалов — классический пример рекурсивного программирования.
В каждой рекурсивной программе есть базовая последовательность шагов:
Алгоритм «Разделяй и властвуй» рекурсивно делит проблему на две или более подпроблем одного или родственного типа, пока они не станут достаточно простыми для решения.
Алгоритм «Разделяй и властвуй» требует следующих шагов:
Хеширование — это техника или процесс, использующий хеш-функцию для отображения ключей и значений в хеш-таблице. Это делается для более быстрого доступа к элементам. Эффективность отображения определяется эффективностью хеш-функции.
Сейчас существует очень много алгоритмов разной сложности. Иногда сложно определить, какие из них обязательно нужно знать разработчику. Зачастую это зависит от личных предпочтений и сферы работы. Но в этой статье — те алгоритмы, которые вам точно понадобятся.
Автор: Ричард Уэрпам
Текст адаптировала Евгения Козловская
Сегодня мы поговорим о том, как выбрать лучшие курсы Power BI в Украине, особенно для…
В 2023 году во всех крупнейших регионах конкуренция за вакансию выросла на 5–12%. Не исключением…
Unicorn Hunter/Talent Manager Лина Калиш создала бесплатный трекер поиска работы в Notion, систематизирующий все этапы…
Edtech-стартап Mate academy принял решение отправить своих работников в десятидневный отпуск – с 25 декабря…
Служба безопасности Украины задержала в Киеве 46-летнего программиста, который за деньги устанавливал шпионские программы и…
IT-специалист Джордан Катлер создал и выложил на Github подборку разнообразных ресурсов, которые помогут достичь уровня…