Основные возможности платформы Hexlet не доступны в вашем браузере. Пожалуйста, обновитесь.
Внимание! Этот курс находится в разделе "Песочница". Курсы в этом разделе сделаны пользователями Хекслета и всегда бесплатны. Администрация Хекслета не несет ответственности за эти курсы.
курс

Введение в алгоритмы

Базовый курс по алгоритмам и структурам данных. Рассматриваются сложность алгоритмов, сортировка и графы. В практических заданиях используется язык Python. Для прохождения практических заданий необходимы базовые навыки написания кода на Python.

1.

Что такое алгоритмы

теория (видео, 14:38) / тесты

Познакомиться с понятием алгоритма и историей этого понятия

2.

Пример простого алгоритма

теория (видео, 08:42) / тесты

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

3.

Знакомство с алгоритмами сортировки

теория (видео, 19:52) / тесты / упражнение

Познакомиться с самыми простыми алгоритмами сортировки.

4.

Разделяй и властвуй

теория (видео, 12:52) / тесты / упражнение

Изучить идею разделения задачи на составные части на примере алгоритма Merge sort.

5.

Сложность алгоритмов и Big O

теория (видео, 10:16) / тесты

Понять идею оценки вычислительной сложности и классификации алгоритмов с помощью Big O, Big Omega и Big Theta.

6.

Графы

теория (видео, 14:28) / тесты

Познакомиться с теорией графов и алгоритмом Дейкстры для нахождения кратчайшего пути между двумя точками.

7.

Структуры данных

теория (видео, 19:57) / тесты / упражнение

Изучить и сравнить массив, ассоциативный список, хеш-таблицу и связный список.

8.

Деревья и двоичные деревья

теория (видео, 22:01) / тесты / упражнение

Изучить деревья, двоичные деревья, сбалансированные деревья, Red Black Tree и их вычислительную сложность.

9.

Машина Тьюринга

теория (видео, 10:20) / тесты

Познакомиться с детерменированной и недетерменированной машиной Тьюринга.

10.

P vs. NP

теория (видео, 23:22) / тесты

Понять суть проблемы равенства классов P и NP, понять почему одни задачи – простые, а другие – сложные.

Испытания

В некоторых курсах есть практические задания, которые мы советуем выполнить после завершения курса. Задания помогут вам получить дополнительный опыт в программировании и закрепить полученные навыки. В этом курсе таких заданий нет, но вы можете посмотреть задания из других курсов.

Статистика
5980
учащихся
99
вопросов
и ответов
8
часов
Учитель