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

JS: Алгоритмы

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

Сначала рекомендуем пройти курс: JS: Обработка ошибок

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

  • 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

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

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

    # Задание % завершений
    1 Вырубка деревьев 64%
    2 Кормление голубей 73%
    3 Лабиринт 54%

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

Учащихся
756
Сообщений
42
Упражнений
7
Часов
7