Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Полный курс: оценка сложности алгоритмов. Нотация Big O
Highest Rated
Rating: 4.7 out of 5(264 ratings)
1,174 students

Полный курс: оценка сложности алгоритмов. Нотация Big O

Изучение оценки сложности с нуля до профессионала
Created byCronis Academy
Last updated 5/2020
Russian

What you'll learn

  • Оценка сложности алгоритмов
  • Нотация Big O
  • Решение задач с собеседования в Google
  • Случаи сложности
  • Сравнение сложностей
  • Сравнение математических функций
  • Оценка типичных сложностей
  • Сложность log N
  • Оценка сложности строк
  • Сложность рекурсивных функций
  • Амортизационный анализ
  • Сложность по памяти

Course content

1 section16 lectures1h 56m total length
  • Введение1:12
  • Причины изучения оценки сложности. Математическая функция4:16
    • Для чего нужна оценка сложности алгоритмов

    • Причины изучения нотации Big O

    • Что такое Математическая функция простыми словами

    • Описания процесса из реальной жизни с помощью математической функции

  • Оценка сложности7:19
    • Сложность алгоритма (вычислительная сложность алгоритма, сложность работы алгоритма).

    • Виды сложности алгоритмов

    • Временная сложность алгоритма (сложность алгоритма по времени)

    • Сложность алгоритма по памяти

    • Время выполнения алгоритма

    • Временная функция сложности алгоритмов

  • Случаи сложности1:30
    • Сложность в лучшем случае.

    • Сложность в худшем случае.

  • Сравнение сложностей3:54
  • Сравнение математических функций10:36
    • Порядок функции.

    • Сравнение порядков функций.

    • Нахождение функции с меньшим порядком.

  • Нотация Big O20:42
    • Нотация О большое (запись О большое, Big O, сложность алгоритма О)

    • Объяснение нотации Big O

    • Сравнение функций с помощью Big O

    • Цель оценки сложности

    • Константы и сложность

    • Проблемы нотации Big O

    • Арифметические операции с Big O

    • Классификация сложностей (порядок сложности алгоритма, классы сложности алгоритмов, виды функций сложности алгоритмов)

    • Константная сложность алгоритма

    • Логарифмическая сложность алгоритма

    • Сублинейная сложность алгоритма

    • Линейная сложность алгоритма (сложность алгоритма N, сложность алгоритма O(N))

    • Линейно-логарифмическая сложность алгоритма

    • Квадратичная сложность алгоритма

    • Экспоненциальная сложность алгоритма

    • Факториальная сложность алгоритма

  • Оценка типичных сложностей5:23
    • Некоторые типичные функции сложностей и как с ними работать.

    • Арифметическая прогрессия.

    • Геометрическая прогрессия.

    • Логарифм.

    • Факториал.

  • Сложение и умножение1:12
    • Сложность последовательных операций

    • Сложность вложенных операций

  • Сложность log N4:53
    • Логарифмическая сложность алгоритма

    • Алгоритм двоичного поиска

  • Строки и оценка сложности3:35
    • Внутренние алгоритмы работы со строками и их влияние на конечную сложность

  • Сложность рекурсивных функций7:12
    • Временная сложность работы рекурсивной функции (сложность рекурсивного алгоритма)

  • Амортизационный анализ9:15
    • Что такое амортизационный анализ и для чего он нужен

    • Амортизационный анализ методом агрегации

  • Сложность по памяти6:06
    • Сложность по памяти (пространственная сложность алгоритма, объемная сложность алгоритма) обычной функции

    • Сложность по памяти рекурсивной функции

  • Примеры27:56

    Подробные примеры анализа сложности алгоритмов, которые позволяют закрепить понятие сложности алгоритма и подходы к ее оценке.

  • Выводы0:59

Requirements

  • Начальные навыки программирования

Description

Для написания эффективного кода, каждому разработчику необходимо знать, как оценивать сложность алгоритмов.

Курс "Оценка сложности алгоритмов. Нотация Big O" простым языком рассказывает о математике, стоящей за сложностью алгоритмов, о случаях сложности, о сложности рекурсии, строк, амортизационном анализе, а также о сложности по памяти. Более того, мы решим 15 примеров, часть из которых встречается на интервью в Google, Facebook, Amazon.

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

Не стесняйтесь задавать вопросы - мы с большим удовольствием на них ответим!

Будем рады видеть вас на других наших курсах Cronis по Computer Science.

Не забывайте: Вы всегда можете поставить видео на паузу и детально вникнуть в каждый аспект материала!

Who this course is for:

  • Новички, желающие полностью с нуля до профессионала разобраться в оценке сложности
  • Разработчики, любого уровня, желающие пройти интервью в компании типа Google, Facebook, Apple
  • Разработчики, желающие научиться писать быстрый код