Алгоритмы — всё по этой теме для программистов

Курс «Введение в алгоритмы»

Картинка поста

Русскоязычный базовый курс от Hexlet, посвященный алгоритмам и структурам данных. В курсе рассматриваются сложность алгоритмов, а также сортировка и графы. Курс записан в 2015 году, лектор — Рахим Давлеткалиев.
Читать дальше

Курс «Алгоритмы и структуры данных»

Картинка поста

Русскоязычный курс проекта «Техносфера Mail.Ru Group», представляющий собой введение в основы алгоритмов и структур данных. Цель курса — познакомить слушателей с основными алгоритмами, применяемыми для разработки программного обеспечения, научить выбирать подходящие структуры данных…
Читать дальше

Картинка поста

Алгоритмы сортировки упорядочивают элементы по определённому критерию. В день появления первых компьютерных вычислений появился и повод для споров между исследователями. Причиной разногласий послужил поиск эффективных способов решения не только для…
Читать дальше

Картинка поста

Тема искусственного интеллекта стала особенно популярной в последние годы. Умные машины научились блефовать, обыгрывать профессиональных игроков в настольные игры, делать переводы и распознавать человеческий голос. Каждую неделю мы узнаем о всё…
Читать дальше

Курс «Введение в алгоритмы»

Картинка поста

Русскоязычный курс от Романа Бровко, в котором разбираются такие понятия, как сложность алгоритмов, проблема P vs NP, а также базовые алгоритмы.
Читать дальше

Картинка поста

В последнее время все чаще и чаще выходят различные курсы по программированию. И очень часто получается так, что курс, на который вы записались, оказывается очень сомнительного качества. Поэтому мы решили…
Читать дальше

Картинка поста

Технокубок — это олимпиада по программированию, организованная Mail.Ru Group, МГТУ им. Н. Э. Баумана и МФТИ для учеников 8-11 классов, а также потенциальная возможность попасть в лучшие технические вузы благодаря…
Читать дальше

Картинка поста

Задача: посчитать N-е число последовательности, в которой каждый элемент равен сумме двух предыдущих. Такая последовательность называется последовательностью Фибоначчи: 1, 1, 2, 3, 5, 8……
Читать дальше

Картинка поста

Вам когда-нибудь приходилось гарантировать корректность выполнения своей программы? На самом деле это большой объем работы, который не всегда возможно выполнить. В самих доказательствах могут быть ошибки, об этом говорится и…
Читать дальше

Картинка поста

Лабиринты — это не только самостоятельный класс игр, но и основа для создания локаций в играх других жанров: например, систем пещер, которые, в свою очередь, могут быть использованы в очень широком…
Читать дальше

Картинка поста

Рассказывает Куртис МакЭнроэ  Недавно после длительного времени, проведенного без сна, я задумался над тем, как можно узнать количество дней в месяце, зная его номер. Существуют детские стишки на эту тему…
Читать дальше

Картинка поста

Чтобы быть хорошим программистом, мало знать синтаксис какого-нибудь языка и хорошо писать код. Когда речь идет о маленьких шаблонных проектах, этого хватит. Но вот вы сталкиваетесь с чем-то по-настоящему серьезным и масштабным, и становится ясно — без знания…
Читать дальше

Картинка поста

Для новичков Граф — это (упрощенно) множество точек, называемых вершинами, соединенных какими-то линиями, называемыми рёбрами (необязательно все вершины соединены). Можно представлять себе как города, соединенные дорогами. Любое клетчатое поле можно…
Читать дальше

Классическая задача. Найдите в данной вам строке максимальную по длине подстроку, которая является палиндромом (то есть читается слева направо и справа налево одинаково). Предложите как можно более эффективный алгоритм.
Читать дальше

Картинка поста

Знание алгоритмов и структур данных — вот один из ключевых навыков программиста. Промышленные разработчики могут ограничиться и базой: стеки, очереди, хеш-таблицы, алгоритмы сортировки, поиск в глубину и т.д. Но в…
Читать дальше

Картинка поста

Задача, которую давали на собеседованиях в Apple. Представьте, что вы получили работу кассира в магазине. Ваш босс случайно выяснил, что вы обладаете навыками программиста, и захотел, чтобы вы помогли ему написать…
Читать дальше

Код, который работает с числами с плавающей точкой, может выглядеть вполне правильным, но тем не менее производить некорректные вычисления из-за ошибок округления. Вашингтонский университет предлагает решение — Herbie — инструмент…
Читать дальше

Картинка поста

В этой части мы посмотрим на пять основных алгоритмов сортировки данных в массиве. Начнем с самого простого — сортировки пузырьком — и закончим «быстрой сортировкой» (quicksort). Для каждого алгоритма, кроме…
Читать дальше

Картинка поста

Множество — это коллекция, которая реализует основные математические операции над множествами: пересечения (intersection), объединение (union), разность (difference) и симметрическая разность (symmetric difference). Каждый из алгоритмов мы разберем в соответствующем разделе.
Читать дальше

Картинка поста

До сих пор мы рассматривали структуры данных, данные в которых располагаются линейно. В связном списке — от первого узла к единственному последнему. В динамическом массиве — в виде непрерывного блока. В этой…
Читать дальше

Обучающие статьи о Computer Science, оптимизации кода и использование классических алгоритмов в решении задач