Быстрый старт в изучении алгоритмов

Этот курс предлагает множество интерактивных кодировочных задач, которые помогут вам быстро понять и реализовать алгоритмы. Задачи были разработаны Донном Мартином (Donne Martin) и доступны в репозитории GitHub donnemartin/interactive-coding-challenges.

Python

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Программа

Массивы и строки
Связные списки
Стеки и очереди
Графы и деревья

Алгоритм обхода графа в ширину (Breadth-First Search)

Кратчайший путь в графе

Обход двоичного дерева в глубину

Сбалансированное двоичное дерево на Python

Наименьший общий предок в двоичном дереве

Основы структуры данных Граф

Дерево префиксов для хранения строк

Второе по величине в BST

Построение графа в порядке

Введение в двоичное дерево мини-кучи

Определение высоты двоичного дерева

Преемник в порядке возрастания для двоичного дерева поиска

Обход направленного графа в глубину

Техника инвертирования двоичного дерева

Обход в ширину для двоичного дерева

Двоичное дерево поиска с минимальной высотой

Кратчайший путь в невзвешенном графе

В графе существует путь

Проверка двоичного дерева поиска

Реализация двоичного дерева поиска на Python

Списки по уровням дерева

Сортировка и поиск
Рекурсия и динамическое программирование

Руководство по программированию последовательности Фибоначчи

Максимальная прибыль при k сделках

Самая длинная возрастающая подпоследовательность

Решение задачи Ханойских башен

Генерация всех перестановок входной строки

N пар скобок

Способы размена монет

Самая длинная общая подпоследовательность

Исследование подъема по ступенькам с использованием Python

Техники оптимизации задачи о рюкзаке

Минимальное количество монет для сдачи

Генерация power set в Python

Задача оптимизации неограниченного рюкзака

Самая длинная подстрока с k различными символами

Оптимизация умножения матриц 2x2

Идентификация магических индексов в массивах

Python-вызов: Самая длинная общая подстрока

Оптимальное решение для размена монет

Планирование пути робота по сетке

Математика и теория вероятностей
Побитовые операции

Введение

В этом курсе вы научитесь быстро понимать и реализовывать различные алгоритмы с помощью множества интерактивных кодировочных задач.

🎯 Задачи

В этом курсе вы научитесь:

  • Реализовывать такие алгоритмы, как перестановка (permutation), двухсложная задача суммы (two sum), сжатие (compression), хэш - таблица (hash map), разность строк (string difference), Fizz Buzz, разворот строки (reverse string), проверка уникальности символов (unique characters), вращение (rotation), приоритетная очередь (priority queue), связный список (linked list), разделение (partition), удаление (deletion), обнаружение цикла (loop detection), сортировка (sorting), стеки (stacks), очереди (queues), поиск в ширину (breadth - first search), поиск кратчайшего пути (shortest path), поиск в глубину (depth - first search) и балансировка деревьев (tree balancing).

🏆 Достижения

После завершения этого курса вы сможете:

  • Эффективно решать широкий спектр алгоритмических задач с использованием различных структур данных и методов.
  • Получить более глубокое понимание основных алгоритмов и их практических применений.
  • Улучшить свои навыки решения проблем и стать более компетентным в кодировании и реализации алгоритмов.

Преподаватель

labby
Labby
Labby is the LabEx teacher.