How to calculate the complexity of an algorithm by BIG O | The clearest explanation!
Друзья, с радостью наконец-то выкладываю видео про сложности алгоритмов и BIG O notation. Вы давно его просили. И это действительно важно для разработчика - знать, как рассчитать сложность алгоритма, а также уметь посчитать сложность своего решения, как по времени, так и по памяти.
Ведь не всегда код, который выглядит очень компактно, на практике будет самым эффективным. Особенно это касается больших объемов данных. То, насколько эффективно ваш код справляется с большим объемом данных - и показывает сложность алгоритма.
Поэтому важно знать, какие бывают сложности алгоритмов, от чего они зависят и уметь их рассчитывать. Обладая этими знаниями, вы сможете оптимизировать ваш код или искать другие, более эффективные решения для вашей задачи.
А еще расчет сложности полученного алгоритма (BIG O) это частый вопрос на собеседованиях. Особенно в таких крупных компаниях, как Google, Facebook, Netflix, Яндекс и пр. А при решении задач с LeetCode создание наиболее оптимального алгоритма, как по времени, так и по памяти, всегда является частью условия задач.
🚀Я постарался сделать для вас самое понятное объяснение с примерами и иллюстрациями - чтоб вы с первого раза все поняли и запомнили навсегда! 🔥🔥🔥
Приятного просмотра! Тренируйте полученные знания на практике! И делитесь этим видео с друзьями и коллегами! Увидимся в комментариях!
👍Если вам было полезно и интересно это видео - оставьте нам хороший комментарий, нам всегда приятно и радостно их читать! 🤓
👍🤩Друзья, будем благодарны за поддержку нашего канала на Патреоне: / frontendscience
Таймкоды:
00:00 Intro
00:45 Случай с пользователем
02:43 Что такое Big O
03:40 Пример из жизни
05:59 O(1) Константная сложность
06:38 O(n) Линейная сложность
07:17 O(log n) Логарифмическая сложность
08:35 O(n log n)
08:59 O(n^2) Квадратичная сложность
09:45 O(n^3) Кубическая сложность
10:07 O(2^n) Экспоненциальная сложность
10:33 O(n!) Факториальная сложность
11:42 График сложностей Big O
11:52 Отбрасывание констант и несущественной части
13:45 Примеры
15:57 Определяем сложности - задачки
18:58 Сложность встроенных методов
20:43 Сложность по памяти
22:20 Когда оптимизировать производительность?
22:55 Про собеседования
24:54 Заключение
---
Если видео было для вас полезным, ставьте лайк и поделитесь им с друзьями.
Подписывайтесь на наш канал: bit.ly/fs-ytb
---
Присоединяйтесь к нам в соцсетях:
FB: / frontendscience
Instagram Сергея Пузанкова: / puzankovcom
Заходите на наш сайт: frontend-science.com/
👍🤩Будем благодарны за вашу поддержку нашего канала на Патреоне: / frontendscience
---
Music: by Blue Wednesday
Пікірлер: 309
Это, пожалуй, лучшее видео на KZread по сложности алгоритмов. Автор, ты просто супер!
@frontendscience
2 жыл бұрын
Рад слышать, что понравилось! Благодарю)
Еххх 5 лет назад учил js по ворованным лекциям с другой образовательной платформы, с данными преподавателем. Теперь я уже тимлид. Рад что продолжает преподавать и снимать контент. Рекомендую данного преподавателя!
@ushu_sanda
2 ай бұрын
Тимлид за 5 лет ? Ты умница в таком случае. Работаешь еще или поменял место работы ?
@denislopatkin6996
5 күн бұрын
Если мне лидом когда нибудь будут предлагать должность, то откажусь. Мне кодить интереснее
Я мучалась целый день с этой темой, но когда нашла это видео всё сразу встало на свои места. Спасибо огромное!
Безумно благодарен за это видео! Невероятная подача, сразу все понятно.
@frontendscience
2 жыл бұрын
Очень вдохновляет такая обратная саязь! Благодарим Вас)
Шикарное объяснение - понятно и интересно! большое спасибо!
Спасибо большое за данный урок! Это прекрасно!
Спасибо! Все прямо по полочкам разложил, простым и понятным языком.
Просто и доходчиво. Респект тебе Сергей
Комментарий в поддержку канала! Спасибо, Сергей, за вами будущее!)
Супер-объяснение! Спасибо большое
Действительно самое понятное объяснение. Спасибо большущее, Сергей! Очень нравится ваш канал))). И с мемами намного веселее смотреть, конечно)).
Спасибо! Лайк! Читаю как раз книгу "Грокаем алгоритмы"... и тут такое шикарное видео-объяснение!
@frontendscience
2 жыл бұрын
Рад, что вовремя и что полезно ;)
Спасибо за объяснение!
Спасибо , как всегда понятно и легко :)
Прекрасная тема ) Спасибо.
@frontendscience
2 жыл бұрын
Рад что было полезно! Благодарю за поддержку!
Лучшего объяснения я не видел, спасибо!
Спасибо, очень понятно объяснил, как раз то, что я искал)
Очень крутой монтаж и объяснения: чётко, без воды, с примерами. 🔥
@frontendscience
2 жыл бұрын
Благодарим за поддержку:)
Это было третье видео по данной теме, которое я посмотрела. Самое доступное изложение материала! Супер
Спасибо за видео! Очень полезное оказалось для меня)
Классный урок! Спасибо 🙏🏼
Читал про это в "Грокаем Алгоритмы ", приблизительно понял как юзать в связке с js из этого видео. Спасибо.
@frontendscience
2 жыл бұрын
Благодарю. Да книга отличная! Рад что было полезно!
@EvilYou
2 жыл бұрын
Я скачал эту книгу недавно, тоже интересно и полезно будет узнать больше про алгоритмы. Пока только знаю бинарный поиск из видео на канале ;)
@d_r_robot
2 жыл бұрын
@@EvilYou читается легко на одном дыхании так сказать, отличная книга.
@yuriilukianovych8660
2 жыл бұрын
Дождался на днях эту книгу. Так что видос вовремя!!!
@DaZdraNa
2 жыл бұрын
Да, по сути видео - пересказ книги
Отличное объяснение с примерами, спасибо!
Огромное спасибо! Мира вам....и нам
Спасибо, очень доходчиво, без лишних заморочек
@frontendscience
2 жыл бұрын
Спасибо за поддержку! Рад, что было полезно!
Очень понятно объяснили! Спасибо большое
Спасибо за видео и подробные примеры
Огромное спасибо за такой качественный контент и такую приятную подачу. Очень хотелось подкапаться, но не нашлось за что
смотрел несколько роликов по алгоритмам ваш лучше всех) приятно смотреть, спасибо за старания)
@frontendscience
2 жыл бұрын
Отлично! Рад, что понравилось
Спасибо, лучшее объяснение из всех, что видел. Осталось теперь с о-малым разобраться)
Как всегда на уровне!
Большое спасибо! Очень доходчиво
Благодарю за хорошее объяснение ) Очень приятно было смотреть, всем рекомендую )
Супер! Спасибо за видео!
@frontendscience
2 жыл бұрын
Рад, что Вам понравилось)
Благодаря твоим урокам я подготовился и успешно прошел собеседование в Яндекс! Уже более полугода работаю в команде Поиска фронтенд-разработчиком. Спасибо за то, что ты делаешь!
Круче видео про объяснения на IT тему не встречал! И всё по полочкам, и ещё монтаж уровень БОГ!🤩 Всё четко, стильно, красиво дак ещё и с юмором. в конце гифка с дискетой бомба! 😂💥👍👍👍
Шикарное объяснение! В процессе видео хотел несколько раз поставить лайк, а потом вспоминал, что уже поставил 😄
Спасибо большое за подобные видео! очень доступно все рассказываешь)
@frontendscience
2 жыл бұрын
Рад, что было полезно)
Спасибо за видео. Очень информативно 👍👍
@frontendscience
2 жыл бұрын
Очень рад:) Спасибо за поддержку
Большое спасибо за видео!
@frontendscience
2 жыл бұрын
Рад что понравилось!
Очень полезное видео, спасибо большое 👍
@frontendscience
2 жыл бұрын
Рад, что оказалось полезно!
Спасибо за старания 🎉
ОЧЕНЬ полезный видос, спасибо!
@frontendscience
2 жыл бұрын
Рад, что было полезно) старался объяснять именно так
Спасибо. Очень доходчиво.
@frontendscience
2 жыл бұрын
Рад, что оказалось полезно:)
Сел посмотреть видео за кружкой кофе, чтобы немного разгрузиться, и понял как работает сложность алгоритмов. Спасибо за простое и увлекательное объяснение!
@frontendscience
2 жыл бұрын
Рады, что Вам понравилось и что с пользой :)
0:28 Полностью согласен! В книге Грокаем алгоритмы хорошо показана разница между хорошим алгоритмом с O(log n) и плохим O(n). Поэтому очень интересно узнать как определить эту самую биг О для моих решений задач
Огромное спасибо за видео! Очень помогло найти нужное решение при решении задачек)
@frontendscience
2 жыл бұрын
Очень рад!
Дай тебе Бог здоровья!)
Спасибо за видео!
Обалденный видос! Реально самое понятное объяснение по Big O в рунете с примерами на JavaScript! Автору огромный респект!!!
@frontendscience
2 жыл бұрын
Благодарю за поддержку! Рад, что было полезно :)
Спасибо, теперь все понятно!
Отличное видео, спасибо!
Одним словом лайк!👍
Спасибо за видео! У Вас очень качественная подача материала! :)
@frontendscience
2 жыл бұрын
Мне в удовольствие :) благодарю за поддержку!
Чутка понятнее стало, спасибо!
очень полезно и понятно, пересмотрел несколько раз)
Спасибо огромное, самое лучшее объяснение
@frontendscience
2 жыл бұрын
Рад, что было полезно
Классная музыка на фоне, ну и видео очень информативное
Круто, спасибо ♥️
Спасибо большое!!!
спасибо за видео, посмотрел с интересом
Спасибо брат завтра сдавать куиз по АДС и там тема биг о есть, спасибо большое!
Очень круто объясняете, картинка в голове начинает проясняться)) Спасибо!! p.s. заметила интересный момент - смотрю не одного блогера на данную тематику, у многих на заднем фоне какой-нибудь подсвеченный элемент)
Большое спасибо за такие видео! Мне как гуманитарию, котрый работает в програмировании очень полезно было)
@frontendscience
2 жыл бұрын
Очень рад слышать. Благодарю и Вас) Успехов в программировании!
Удивлен, что я все понял. Уже несколько видео до этого пересмотрел - сложно и не понятно. Спасибо большое. Лайк прожал )
@frontendscience
2 жыл бұрын
Класс! Очень рад слышать)
Спасибо за инфу!
@frontendscience
2 жыл бұрын
Рад, что полезно! :)
God bless you for your content. 🙂. Очень полезно и информативно.
@frontendscience
2 жыл бұрын
Благодарю за поддержку! Рад что было полезно
Сергій у Вас талант робити такі навчальні відео! Жаль що більше не робити такого контенту: з великим задоволенням послухав вас на такі цікаві теми як системний дизайн, алгоритми та структури даних
Спасибо огромное!
Отметил все свои ошибки, огромное спасибо за видео😂😂😂
Не ну это полная подписка!)
@frontendscience
2 жыл бұрын
Рад! :)
Большое спасибо,Как посчитать сложность алгоритма.
Огонь!)
Круто, спасибо!
@frontendscience
2 жыл бұрын
Рад 😀
круто) спасибо
Спасибо, очеь крутое и понятное обьяснение )
Пушка. Спасибо!
@frontendscience
2 жыл бұрын
Рад, что было полезно!
Спасибо, я ждал)
@frontendscience
2 жыл бұрын
Супер! Рад слышать :) надеюсь, будет полезно
@konglomora227
2 жыл бұрын
Однозначно :) Много интересных вещей узнал благодаря вашим трудам :)
@frontendscience
2 жыл бұрын
@@konglomora227 Благодарю за поддержку! Вдохновляет :)
Хорошее объяснение
Комментарий для продвижения!
красавчик, спасибо тебе за все)
@frontendscience
2 жыл бұрын
И Вам спасибо!
Спасибо 😊
Спасибо за видео. Советую пересмотреть после прочтения книги "Грокаем алгоритмы"
Спасибо!
Класс! Годный материал, на днях задавался вопросом изучить эту тему - а тут уже готовый видосик:) Спасибо за труд! 18:43 я немного по-другому для себя решил, при n=5, к примеру, мы получаем суммарно 5+4+3+2+1 операций, т.е. арифметическую прогрессию. Формула которой (a1+an)*n/2. Т.к. an=n и а1 мы можем отбросить, получится n в квадрате, делённое на 2.
@frontendscience
2 жыл бұрын
Рад что понравилось! Да - один из вариантов решать через прогрессию. Я постарался более интуитивно наглядно показать. Думаю если вдруг на собеседовании спросят - подойдет и тот и тот вариант.
четко обьяснил👍
Ахудивительное видео) Спасибо ща простоту. Я смотрел лекции по алгоритмам от MIT , но там уж слишком много математики, чтобы продолжить это делать. В вашем видео все очень просто и понятно )
@frontendscience
2 жыл бұрын
Рад что оказалось полезно! Благодарю за поддрежку!
Спасибо за видео
@frontendscience
2 жыл бұрын
Рад, что было полезно! Спасибо и Вам!
Супер!
@frontendscience
2 жыл бұрын
Рад, что понравилось.
дякую за освітлення теми, дуже актуально
@frontendscience
2 жыл бұрын
Дякую за пiдтримку! Радий що сподобалось!
Годнота Подача очень хорошая, что примеры что определения
@frontendscience
2 жыл бұрын
Рад, что понравилось
Спасибо за видео. Очень информативно. Когда впервые узнал про big O, посмотрел одно видео про алгоритмы. Оказалось, что сложность считать довольно просто, но в том видео примеры были на другом ЯП. В видео Сергея мало того, что все примеры на JS, так еще и с примерами, которые часто используются на практике. Например, с числами Фибоначчи, использовал алгоритм когда изучал рекурсию, процессор выдавал серьезные задержки начиная с числа 40. Пример с поиском такого же символа именно так не использовал, но теперь буду знать как делать это оптимально ;) Вообще, посмотрев видео, думаю заглянуть в свои старые лекции по мат. анализу и вспомнить, как раньше задачи подобные решал, только там константы не отбрасывались ;)
@EvilYou
2 жыл бұрын
Нашел, то что искал. Доказывается сложность алгоритмов через сходимость рядов. Например, с помощью признака Даламбера можно в 2 строчки доказать, что факториал растет быстрее, чем любая показательная (она же экспотенциальная) последовательность. Если спросят на собеседовании про алгоритмы, скажу, что готов доказать математически. P.S. Хоть где-то вышмат пригодится :D
@frontendscience
2 жыл бұрын
Очень рад что оказалось полезно! На фронтендера на собеседовании вряд ли будут спрашивать мат доказательство сложности. Но на фулстеков в крупных компаниях типа google - вполне могут
я только начинаю копаться в JS, но я суть уловил. Думаю, пересмотрю обязательно, когда дойду до Junior)). Ваш канал 🔝
@frontendscience
2 жыл бұрын
Рады, что полезно! )
Браво!)
Скоро на собесе будут меня мучать этими сложностями алгоритмов, но благодаря видосу я готов!) Надеюсь этой базы хватит.
thanks!
Спасибо.
Поддерживающий комментарий.
@frontendscience
2 жыл бұрын
Спасибо )
спасибо!
Ты крут!!!