Тема 0
Большой O описывает эффективность алгоритма. Во время собеседования мы хотим написать алгоритм, который составляет O (n log n) или меньше.
Советы: для анализа большого O нужно посмотреть, сколько циклов и вложенных циклов имеет ваш алгоритм.
Постоянное время
Прямое получение хэш-карты, извлечение, удаление и т. Д.
Линейное время
1 петля уровня без внутреннего цикла.
Советы: одна петля ≈ O (n)
2 отдельные петли ≈ O (2n), поэтому O (n)
Время журнала
2-уровневый вложенный цикл с внутренним циклом, сокращающим / уменьшающим набор данных на каждой итерации, этот цикл равен (O (log n)), поэтому общий алгоритм равен = O (n log n)
Квадратичное время
2-уровневый вложенный цикл O (n * n), следовательно, O (n²)
Экспоненциальное время
Экспоненциальная временная сложность обозначает алгоритм, рост которого удваивается с
каждое добавление к входному набору данных
Советы. Для рекурсии проверьте, сколько раз вызывается рекурсивный метод. Если метод вызывается n раз с n выходами, ваш Big O равен O (n). Если каждая из ваших рекурсий разветвляется и вызывает себя 2 раза, ваш Big O равен O (2 n)
Последние мысли
Единственная цель этой статьи - поделиться во время интервью подходящим для нас решением, которое, как мы надеемся, поможет другим.
Спасибо, достаточно! Если вам понравился этот пост, не забудьте оставить 👏!
Вы можете подписаться на меня на Github, LinkedIn или Medium для следующей статьи в этой серии.