Тёмный

How to calculate the complexity of an algorithm by BIG O | The clearest explanation! 

Front-end Science with Sergey Puzankov
Подписаться 62 тыс.
Просмотров 120 тыс.
50% 1

Друзья, с радостью наконец-то выкладываю видео про сложности алгоритмов и 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

Опубликовано:

 

1 июн 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 308   
@alexcellencevolodindro
@alexcellencevolodindro 2 года назад
Это, пожалуй, лучшее видео на RU-vid по сложности алгоритмов. Автор, ты просто супер!
@frontendscience
@frontendscience 2 года назад
Рад слышать, что понравилось! Благодарю)
@user-wz9yj2uh1b
@user-wz9yj2uh1b 2 года назад
Еххх 5 лет назад учил js по ворованным лекциям с другой образовательной платформы, с данными преподавателем. Теперь я уже тимлид. Рад что продолжает преподавать и снимать контент. Рекомендую данного преподавателя!
@ushu_sanda
@ushu_sanda 2 месяца назад
Тимлид за 5 лет ? Ты умница в таком случае. Работаешь еще или поменял место работы ?
@Sona-ph9qk
@Sona-ph9qk Год назад
Я мучалась целый день с этой темой, но когда нашла это видео всё сразу встало на свои места. Спасибо огромное!
@Chewyevp
@Chewyevp 2 года назад
Безумно благодарен за это видео! Невероятная подача, сразу все понятно.
@frontendscience
@frontendscience 2 года назад
Очень вдохновляет такая обратная саязь! Благодарим Вас)
@katerina6259
@katerina6259 Год назад
Шикарное объяснение - понятно и интересно! большое спасибо!
@yuriy_vins
@yuriy_vins 2 года назад
Спасибо! Все прямо по полочкам разложил, простым и понятным языком.
@tamnends2180
@tamnends2180 Год назад
Спасибо большое за данный урок! Это прекрасно!
@yaroslava6111
@yaroslava6111 Год назад
Это было третье видео по данной теме, которое я посмотрела. Самое доступное изложение материала! Супер
@moguha
@moguha 2 месяца назад
Огромное спасибо! Мира вам....и нам
@filipploss
@filipploss 11 месяцев назад
Супер-объяснение! Спасибо большое
@maksimdubinin
@maksimdubinin 26 дней назад
Спасибо за объяснение!
@mammadovrashad339
@mammadovrashad339 Год назад
Просто и доходчиво. Респект тебе Сергей
@user-jf2wl4rr7t
@user-jf2wl4rr7t 2 года назад
Действительно самое понятное объяснение. Спасибо большущее, Сергей! Очень нравится ваш канал))). И с мемами намного веселее смотреть, конечно)).
@alenamitnovizki3857
@alenamitnovizki3857 Год назад
Классный урок! Спасибо 🙏🏼
@workspace8021
@workspace8021 11 месяцев назад
Спасибо за видео и подробные примеры
@luckytima2315
@luckytima2315 2 года назад
Спасибо , как всегда понятно и легко :)
@liliyasiadzelnikava96
@liliyasiadzelnikava96 2 года назад
Огромное спасибо за такой качественный контент и такую приятную подачу. Очень хотелось подкапаться, но не нашлось за что
@user-qp8hg4ds2b
@user-qp8hg4ds2b 9 месяцев назад
Отличное объяснение с примерами, спасибо!
@racman9964
@racman9964 2 года назад
Очень понятно объяснили! Спасибо большое
@nylinary
@nylinary 2 года назад
Спасибо, очень понятно объяснил, как раз то, что я искал)
@seniorfrom3327
@seniorfrom3327 2 года назад
Круче видео про объяснения на IT тему не встречал! И всё по полочкам, и ещё монтаж уровень БОГ!🤩 Всё четко, стильно, красиво дак ещё и с юмором. в конце гифка с дискетой бомба! 😂💥👍👍👍
@user-mx1ui6sh6k
@user-mx1ui6sh6k Год назад
Лучшего объяснения я не видел, спасибо!
@valeriipimenov4894
@valeriipimenov4894 2 года назад
Прекрасная тема ) Спасибо.
@frontendscience
@frontendscience 2 года назад
Рад что было полезно! Благодарю за поддержку!
@gritsienkooleg3447
@gritsienkooleg3447 2 года назад
Комментарий в поддержку канала! Спасибо, Сергей, за вами будущее!)
@igorsergeev9311
@igorsergeev9311 2 года назад
Спасибо, лучшее объяснение из всех, что видел. Осталось теперь с о-малым разобраться)
@benduolo2125
@benduolo2125 10 месяцев назад
Большое спасибо! Очень доходчиво
@heybeachMIN
@heybeachMIN Месяц назад
Спасибо за видео! Очень полезное оказалось для меня)
@user-gf7hl5xt3m
@user-gf7hl5xt3m 3 месяца назад
Благодаря твоим урокам я подготовился и успешно прошел собеседование в Яндекс! Уже более полугода работаю в команде Поиска фронтенд-разработчиком. Спасибо за то, что ты делаешь!
@kazbek_azerbaev
@kazbek_azerbaev 2 года назад
Отличное видео, спасибо!
@inspayran2049
@inspayran2049 7 месяцев назад
Благодарю за хорошее объяснение ) Очень приятно было смотреть, всем рекомендую )
@valeriivolkov_ua
@valeriivolkov_ua 2 года назад
Спасибо! Лайк! Читаю как раз книгу "Грокаем алгоритмы"... и тут такое шикарное видео-объяснение!
@frontendscience
@frontendscience 2 года назад
Рад, что вовремя и что полезно ;)
@igorpishurkov
@igorpishurkov Год назад
Шикарное объяснение! В процессе видео хотел несколько раз поставить лайк, а потом вспоминал, что уже поставил 😄
@a98cb985
@a98cb985 2 года назад
Спасибо, очень доходчиво, без лишних заморочек
@frontendscience
@frontendscience 2 года назад
Спасибо за поддержку! Рад, что было полезно!
@dmitriy9152
@dmitriy9152 2 года назад
Супер! Спасибо за видео!
@frontendscience
@frontendscience 2 года назад
Рад, что Вам понравилось)
@webelart
@webelart 2 года назад
Очень крутой монтаж и объяснения: чётко, без воды, с примерами. 🔥
@frontendscience
@frontendscience 2 года назад
Благодарим за поддержку:)
@Devivl
@Devivl Год назад
Спасибо за старания 🎉
@leokorsunsky2395
@leokorsunsky2395 2 года назад
Как всегда на уровне!
@user-ey5ei4ki7r
@user-ey5ei4ki7r Год назад
спасибо за видео, посмотрел с интересом
@user-yo8jx7ti5m
@user-yo8jx7ti5m 2 года назад
Спасибо за видео!
@DepechLyot
@DepechLyot 2 года назад
Чутка понятнее стало, спасибо!
@mary_vishnevskayy
@mary_vishnevskayy Год назад
Спасибо огромное!
@Maiq-The_Liar
@Maiq-The_Liar 2 года назад
Спасибо. Очень доходчиво.
@frontendscience
@frontendscience 2 года назад
Рад, что оказалось полезно:)
@konstantino7016
@konstantino7016 2 года назад
0:28 Полностью согласен! В книге Грокаем алгоритмы хорошо показана разница между хорошим алгоритмом с O(log n) и плохим O(n). Поэтому очень интересно узнать как определить эту самую биг О для моих решений задач
@TheDergraue
@TheDergraue Год назад
Спасибо, теперь все понятно!
@MrNightingale1989
@MrNightingale1989 2 года назад
Большое спасибо за видео!
@frontendscience
@frontendscience 2 года назад
Рад что понравилось!
@d_r_robot
@d_r_robot 2 года назад
Читал про это в "Грокаем Алгоритмы ", приблизительно понял как юзать в связке с js из этого видео. Спасибо.
@frontendscience
@frontendscience 2 года назад
Благодарю. Да книга отличная! Рад что было полезно!
@EvilYou
@EvilYou 2 года назад
Я скачал эту книгу недавно, тоже интересно и полезно будет узнать больше про алгоритмы. Пока только знаю бинарный поиск из видео на канале ;)
@d_r_robot
@d_r_robot 2 года назад
@@EvilYou читается легко на одном дыхании так сказать, отличная книга.
@yuriilukianovych8660
@yuriilukianovych8660 2 года назад
Дождался на днях эту книгу. Так что видос вовремя!!!
@DaZdraNa
@DaZdraNa 2 года назад
Да, по сути видео - пересказ книги
@anastasiaviva5721
@anastasiaviva5721 2 года назад
Спасибо за видео. Очень информативно 👍👍
@frontendscience
@frontendscience 2 года назад
Очень рад:) Спасибо за поддержку
@anton-vr5xw
@anton-vr5xw 2 года назад
Очень полезное видео, спасибо большое 👍
@frontendscience
@frontendscience 2 года назад
Рад, что оказалось полезно!
@spidermadness
@spidermadness 7 месяцев назад
Спасибо большое!!!
@OREH88
@OREH88 Год назад
Дай тебе Бог здоровья!)
@Kostyan-120
@Kostyan-120 2 года назад
очень полезно и понятно, пересмотрел несколько раз)
@vladvoloshenko5701
@vladvoloshenko5701 2 года назад
смотрел несколько роликов по алгоритмам ваш лучше всех) приятно смотреть, спасибо за старания)
@frontendscience
@frontendscience 2 года назад
Отлично! Рад, что понравилось
@YarkiiYa
@YarkiiYa 2 года назад
Спасибо большое за подобные видео! очень доступно все рассказываешь)
@frontendscience
@frontendscience 2 года назад
Рад, что было полезно)
@JrgenMaximenko
@JrgenMaximenko 2 года назад
ОЧЕНЬ полезный видос, спасибо!
@frontendscience
@frontendscience 2 года назад
Рад, что было полезно) старался объяснять именно так
@mikolakvich8341
@mikolakvich8341 11 месяцев назад
Одним словом лайк!👍
@user-is3qu7py7l
@user-is3qu7py7l 2 года назад
Очень круто объясняете, картинка в голове начинает проясняться)) Спасибо!! p.s. заметила интересный момент - смотрю не одного блогера на данную тематику, у многих на заднем фоне какой-нибудь подсвеченный элемент)
@yans8930
@yans8930 2 года назад
Огромное спасибо за видео! Очень помогло найти нужное решение при решении задачек)
@frontendscience
@frontendscience 2 года назад
Очень рад!
@Alikhan-xm1xq
@Alikhan-xm1xq Год назад
Комментарий для продвижения!
@sultonbekzhoroev7105
@sultonbekzhoroev7105 2 года назад
Спасибо огромное, самое лучшее объяснение
@frontendscience
@frontendscience 2 года назад
Рад, что было полезно
@dmitry311212
@dmitry311212 2 года назад
Обалденный видос! Реально самое понятное объяснение по Big O в рунете с примерами на JavaScript! Автору огромный респект!!!
@frontendscience
@frontendscience 2 года назад
Благодарю за поддержку! Рад, что было полезно :)
@vladimirdo
@vladimirdo Год назад
Классная музыка на фоне, ну и видео очень информативное
@komidik1548
@komidik1548 Год назад
Круто, спасибо ♥️
@mykhailostepanishchev6472
@mykhailostepanishchev6472 Год назад
Большое спасибо,Как посчитать сложность алгоритма.
@user-yj4wt8nr6v
@user-yj4wt8nr6v 2 года назад
Спасибо за инфу!
@frontendscience
@frontendscience 2 года назад
Рад, что полезно! :)
@vovaseagull1097
@vovaseagull1097 2 года назад
Большое спасибо за такие видео! Мне как гуманитарию, котрый работает в програмировании очень полезно было)
@frontendscience
@frontendscience 2 года назад
Очень рад слышать. Благодарю и Вас) Успехов в программировании!
@evge5960
@evge5960 9 месяцев назад
Хорошее объяснение
@vladislavshamrin4976
@vladislavshamrin4976 2 года назад
Спасибо за видео! У Вас очень качественная подача материала! :)
@frontendscience
@frontendscience 2 года назад
Мне в удовольствие :) благодарю за поддержку!
@onGrill
@onGrill 2 года назад
Спасибо за видео. Советую пересмотреть после прочтения книги "Грокаем алгоритмы"
@maksimmaliauka3026
@maksimmaliauka3026 11 месяцев назад
круто) спасибо
@dimr5001
@dimr5001 2 года назад
God bless you for your content. 🙂. Очень полезно и информативно.
@frontendscience
@frontendscience 2 года назад
Благодарю за поддержку! Рад что было полезно
@robertkatring4913
@robertkatring4913 4 месяца назад
Спасибо брат завтра сдавать куиз по АДС и там тема биг о есть, спасибо большое!
@thecomrad1677
@thecomrad1677 3 месяца назад
Спасибо, очеь крутое и понятное обьяснение )
@milgoff
@milgoff Год назад
Сергій у Вас талант робити такі навчальні відео! Жаль що більше не робити такого контенту: з великим задоволенням послухав вас на такі цікаві теми як системний дизайн, алгоритми та структури даних
@lliarona
@lliarona 2 года назад
Круто, спасибо!
@frontendscience
@frontendscience 2 года назад
Рад 😀
@user-roman-giraffe
@user-roman-giraffe 2 года назад
Удивлен, что я все понял. Уже несколько видео до этого пересмотрел - сложно и не понятно. Спасибо большое. Лайк прожал )
@frontendscience
@frontendscience 2 года назад
Класс! Очень рад слышать)
@user-qk5lr6kt4m
@user-qk5lr6kt4m 2 года назад
Огонь!)
@ninjanini
@ninjanini 8 месяцев назад
Суперски объясняете
@user-ng6rh1dn8g
@user-ng6rh1dn8g 2 года назад
Пушка. Спасибо!
@frontendscience
@frontendscience 2 года назад
Рад, что было полезно!
@aleksandrkornev2513
@aleksandrkornev2513 2 года назад
Сел посмотреть видео за кружкой кофе, чтобы немного разгрузиться, и понял как работает сложность алгоритмов. Спасибо за простое и увлекательное объяснение!
@frontendscience
@frontendscience 2 года назад
Рады, что Вам понравилось и что с пользой :)
@JohnDoe-jd6vn
@JohnDoe-jd6vn 2 года назад
Класс! Годный материал, на днях задавался вопросом изучить эту тему - а тут уже готовый видосик:) Спасибо за труд! 18:43 я немного по-другому для себя решил, при n=5, к примеру, мы получаем суммарно 5+4+3+2+1 операций, т.е. арифметическую прогрессию. Формула которой (a1+an)*n/2. Т.к. an=n и а1 мы можем отбросить, получится n в квадрате, делённое на 2.
@frontendscience
@frontendscience 2 года назад
Рад что понравилось! Да - один из вариантов решать через прогрессию. Я постарался более интуитивно наглядно показать. Думаю если вдруг на собеседовании спросят - подойдет и тот и тот вариант.
@19Sanji
@19Sanji 8 месяцев назад
Спасибо 😊
@konglomora227
@konglomora227 2 года назад
Спасибо, я ждал)
@frontendscience
@frontendscience 2 года назад
Супер! Рад слышать :) надеюсь, будет полезно
@konglomora227
@konglomora227 2 года назад
Однозначно :) Много интересных вещей узнал благодаря вашим трудам :)
@frontendscience
@frontendscience 2 года назад
@@konglomora227 Благодарю за поддержку! Вдохновляет :)
@user-sn5zm7ml3w
@user-sn5zm7ml3w 2 года назад
красавчик, спасибо тебе за все)
@frontendscience
@frontendscience 2 года назад
И Вам спасибо!
@user-yp6vp8bi8y
@user-yp6vp8bi8y Год назад
Спасибо!
@jecknarel6078
@jecknarel6078 Год назад
четко обьяснил👍
@JavaScript_95
@JavaScript_95 2 месяца назад
Отметил все свои ошибки, огромное спасибо за видео😂😂😂
@user-ei5zp2qi4j
@user-ei5zp2qi4j 2 года назад
Спасибо за видео
@frontendscience
@frontendscience 2 года назад
Рад, что было полезно! Спасибо и Вам!
@andreyzinovjev3920
@andreyzinovjev3920 2 года назад
Не ну это полная подписка!)
@frontendscience
@frontendscience 2 года назад
Рад! :)
@perfectionist2518
@perfectionist2518 2 года назад
я только начинаю копаться в JS, но я суть уловил. Думаю, пересмотрю обязательно, когда дойду до Junior)). Ваш канал 🔝
@frontendscience
@frontendscience 2 года назад
Рады, что полезно! )
@EvilYou
@EvilYou 2 года назад
Спасибо за видео. Очень информативно. Когда впервые узнал про big O, посмотрел одно видео про алгоритмы. Оказалось, что сложность считать довольно просто, но в том видео примеры были на другом ЯП. В видео Сергея мало того, что все примеры на JS, так еще и с примерами, которые часто используются на практике. Например, с числами Фибоначчи, использовал алгоритм когда изучал рекурсию, процессор выдавал серьезные задержки начиная с числа 40. Пример с поиском такого же символа именно так не использовал, но теперь буду знать как делать это оптимально ;) Вообще, посмотрев видео, думаю заглянуть в свои старые лекции по мат. анализу и вспомнить, как раньше задачи подобные решал, только там константы не отбрасывались ;)
@EvilYou
@EvilYou 2 года назад
Нашел, то что искал. Доказывается сложность алгоритмов через сходимость рядов. Например, с помощью признака Даламбера можно в 2 строчки доказать, что факториал растет быстрее, чем любая показательная (она же экспотенциальная) последовательность. Если спросят на собеседовании про алгоритмы, скажу, что готов доказать математически. P.S. Хоть где-то вышмат пригодится :D
@frontendscience
@frontendscience 2 года назад
Очень рад что оказалось полезно! На фронтендера на собеседовании вряд ли будут спрашивать мат доказательство сложности. Но на фулстеков в крупных компаниях типа google - вполне могут
@dmitriystoyanov933
@dmitriystoyanov933 2 года назад
Скоро на собесе будут меня мучать этими сложностями алгоритмов, но благодаря видосу я готов!) Надеюсь этой базы хватит.
@gooDayDev
@gooDayDev 2 года назад
Поддерживающий комментарий.
@frontendscience
@frontendscience 2 года назад
Спасибо )
@viv81ster
@viv81ster 2 года назад
Годнота Подача очень хорошая, что примеры что определения
@frontendscience
@frontendscience 2 года назад
Рад, что понравилось
@softwareengineer7323
@softwareengineer7323 2 года назад
Ахудивительное видео) Спасибо ща простоту. Я смотрел лекции по алгоритмам от MIT , но там уж слишком много математики, чтобы продолжить это делать. В вашем видео все очень просто и понятно )
@frontendscience
@frontendscience 2 года назад
Рад что оказалось полезно! Благодарю за поддрежку!
@vitaliidrapaliuk5652
@vitaliidrapaliuk5652 2 года назад
Браво!)
@user-pm9uh7hl5u
@user-pm9uh7hl5u 2 года назад
Самое доступное объяснение, топ.
@user-dp9em6vg8e
@user-dp9em6vg8e 2 года назад
Ты крут!!!
@hardclide
@hardclide 2 года назад
Супер!
@frontendscience
@frontendscience 2 года назад
Рад, что понравилось.
@thecatwrites9731
@thecatwrites9731 2 года назад
вот это доброе утро)))
@frontendscience
@frontendscience 2 года назад
Доброе )
@subanbektashbaltaev5787
@subanbektashbaltaev5787 Год назад
спасибо!
Далее
МЯСНОЙ ЦЕХ - Страшилки Minecraft
37:24
How To Learn Algorithms? Why? #codonaft
19:22
Просмотров 558 тыс.
Big-O Notation - For Coding Interviews
20:38
Просмотров 399 тыс.
Big-O notation in 5 minutes
5:13
Просмотров 1 млн
Learn Big O notation in 6 minutes 📈
6:25
Просмотров 197 тыс.