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

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

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

Содержание курса

  • 1

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

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

    теория (14:38)   тесты  
  • 2

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

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

    теория (08:42)   тесты  
  • 3

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

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

    теория (19:52)   тесты   практика  
  • 4

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

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

    теория (12:52)   тесты   практика  
  • 5

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

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

    теория (10:16)   тесты  
  • 6

    Графы

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

    теория (14:28)   тесты  
  • 7

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

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

    теория (19:57)   тесты   практика  
  • 8

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

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

    теория (22:01)   тесты   практика  
  • 9

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

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

    теория (10:20)   тесты  
  • 10

    P vs. NP

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

    теория (23:22)   тесты  
  • Course completed

  • Практика после курса

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

Подробнее о курсе

Учащихся
5628
Сообщений
87
Упражнений
4
Часов
6

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

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