📌 Шпаргалка по асимптотике
Чтобы лучше понимать, зачем вообще нужны функции при оценке алгоритмов, на графике собраны самые часто встречающиеся типы сложности.
Хорошо видно, насколько по-разному ведут себя алгоритмы при росте объёма входных данных.
Одни — вроде O(1) и O(log n) — остаются спокойными и надёжными даже при больших объёмах.
Другие — вроде O(n!) — начинают "плавиться" уже на середине пути. И всё это, напомню, из-за пары лишних вложенных циклов.
Такое визуальное представление — простой и наглядный способ увидеть, почему мы боремся за эффективность, почему иногда стоит потратить больше времени на выбор алгоритма, чтобы потом не удивляться, почему "всё тормозит".
Чтобы лучше понимать, зачем вообще нужны функции при оценке алгоритмов, на графике собраны самые часто встречающиеся типы сложности.
Хорошо видно, насколько по-разному ведут себя алгоритмы при росте объёма входных данных.
Одни — вроде O(1) и O(log n) — остаются спокойными и надёжными даже при больших объёмах.
Другие — вроде O(n!) — начинают "плавиться" уже на середине пути. И всё это, напомню, из-за пары лишних вложенных циклов.
Такое визуальное представление — простой и наглядный способ увидеть, почему мы боремся за эффективность, почему иногда стоит потратить больше времени на выбор алгоритма, чтобы потом не удивляться, почему "всё тормозит".
✍2
В прошлом видео мы рассмотрели рекурсивный метод решения задачи про поиск максимальной глубины бинарного дерева. Теперь попробуем ее решить без использования рекурсии 🥷🏻
https://youtu.be/-2vlRTy_vxY?si=qVsnAOqhie0oCRpQ
https://youtu.be/-2vlRTy_vxY?si=qVsnAOqhie0oCRpQ
YouTube
104 Leetcode (ч.2) Алгоритм поиска в глубину (DFS — Depth-First Search)
LeetCode 104 - Maximum Depth of Binary Tree - Алгоритм поиска в глубину (DFS — Depth-First Search)
📌 https://leetcode.com/problems/maximum-depth-of-binary-tree
ТГ: https://news.1rj.ru/str/masha_codeca
Boosty: https://boosty.to/masha_codeca
💡 Готовишься к собеседованию?…
📌 https://leetcode.com/problems/maximum-depth-of-binary-tree
ТГ: https://news.1rj.ru/str/masha_codeca
Boosty: https://boosty.to/masha_codeca
💡 Готовишься к собеседованию?…
👍2🔥2
📌 Бинарный поиск — быстрый способ найти нужное
Представь, что у тебя есть список из 240 000 книг, расположенных в алфавитном порядке. Нужно найти одну конкретную.
Если идти с начала и проверять каждую — это займёт очень много времени.
А бинарный поиск позволяет находить нужную книгу за несколько шагов.
💡 Принцип работы:
- Смотрим на элемент в середине списка.
- Если искомое меньше — продолжаем поиск в левой половине, если больше — в правой.
- Повторяем, пока не найдём или не поймём, что элемента нет.
Каждый шаг сокращает количество оставшихся элементов в два раза.
Например:
100 элементов → максимум 7 шагов
4 миллиарда элементов → максимум 32 шага
⚠️ Важно: этот метод работает только с отсортированными данными. Если порядок нарушен, результат будет неправильным.
Представь, что у тебя есть список из 240 000 книг, расположенных в алфавитном порядке. Нужно найти одну конкретную.
Если идти с начала и проверять каждую — это займёт очень много времени.
А бинарный поиск позволяет находить нужную книгу за несколько шагов.
💡 Принцип работы:
- Смотрим на элемент в середине списка.
- Если искомое меньше — продолжаем поиск в левой половине, если больше — в правой.
- Повторяем, пока не найдём или не поймём, что элемента нет.
Каждый шаг сокращает количество оставшихся элементов в два раза.
Например:
100 элементов → максимум 7 шагов
4 миллиарда элементов → максимум 32 шага
⚠️ Важно: этот метод работает только с отсортированными данными. Если порядок нарушен, результат будет неправильным.
❤2👍2🔥1👨💻1
Массив из 16 элементов. Сколько максимум шагов сделает бинарный поиск?
a) 4
b) 5
c) 8
Ответ
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍3
Можно ли применить бинарный поиск к массиву: [7, 1, 3, 9, 5]
a) Да
b) Нет
Ответ:
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍2