ВСЯ СЛОЖНОСТЬ АЛГОРИТМОВ ЗА 11 МИНУТ | ОСНОВЫ ПРОГРАММИРОВАНИЯ

  Переглядів 480,869

Alek OS

Alek OS

Рік тому

Онлайн-буткемп «Junior-аналитик с нуля за 10 недель»: go.skillfactory.ru/JD4LkA
По промокоду ALEKOS скидка 45%
Оценка сложности алгоритмов за 11 минут.
Подписывайся в соц. сетях:
Телеграм - t.me/Alek_OS
ВК - alekos1
❤️ Поддержка канала:
Бусти - boosty.to/alekos
Юмани - yoomoney.ru/to/410011179144828
✔️ Полезные ссылки:
Основы программирования - • КАК РАБОТАЕТ ПАМЯТЬ КО...
Полезно знать - • ЯЗЫКИ ПРОГРАММИРОВАНИЯ...
Алгоритмы и структуры данных - • УСКОРЬ СВОЙ КОД В МИЛЛ...
Мысли Алека - • КАК ИЗУЧАТЬ ПРОГРАММИР...

КОМЕНТАРІ: 334
@AlekOS
@AlekOS Рік тому
Телеграм-канал: t.me/Alek_OS
@niggacommunistfan
@niggacommunistfan Рік тому
Хорошо.
@Midredel
@Midredel Рік тому
Добавишь видосы на рутуб? У тебя там даже канал есть
@LithiumDeuteride-6
@LithiumDeuteride-6 11 місяців тому
Интересно, а как ещё описываются степень параллелизма алгоритма, т.е. если у нас есть процессор 1/1 и задачу он считает за 1 единицу времени, а может ли процессор 2/2 подсчитать туже задачу за 0.5 времени. Думаю такой параметр алгоритма сейчас наиважнейший, т.к. быстродействие потока ограничена и со временем намного не возрастёт, а вот количество потоков который может выполнить вычислительное устройство со временем возрастает, например видеокарты, да и у процессоров всё больше ядер/потоков.
@alexone899
@alexone899 Рік тому
Исходя из скорости выхода новых видео могу предположить что количество подписок экспоненциально растёт.
@maltamagistro
@maltamagistro Рік тому
Скорей это значит, что заказы на рекламу экспоненциально растут
@tdrkDev
@tdrkDev Рік тому
@@maltamagistro ну и что в этом плохого?) Видео автора то хороши.
@dmaraptor
@dmaraptor 6 місяців тому
С таким качеством роликов думаю это продлится недолго.
@Noname-ec8mw
@Noname-ec8mw 5 місяців тому
Ты можешь это проверить исходя из количества пдп, его видно под видео
@vladislav_varaksin
@vladislav_varaksin Рік тому
Невероятно актуально, каждое видео очень помогает разобраться в темах, которые учу самостоятельно, потому что всё крайне наглядно и понятно, всё еще с нетерпением жду продолжение цикла по ассемблеру)
@kam1k4dze
@kam1k4dze Рік тому
Стоит упомянуть, что алгоритм со сложностью O(1) может спокойно быть в тысячу раз медленнее алгоритма O(N!), для ваших данных. Поэтому стоит понимать, что Big O говорит только о скорости роста времени выполнения алгоритма, о самой скорости алгоритма эта нотация вообще ничего не скажет. В ролике это упоминается, но мне кажется это стоит подчеркнуть, так как очень часто вижу такое заблуждение.
@razor23Ukraine
@razor23Ukraine Рік тому
Вот именно поэтому я вообще не понимаю нафиг этот Big O нужен. На моей практике чисто позадалбывать на собеседовании и всё =(
@eugenedukatta9355
@eugenedukatta9355 Рік тому
Kamikadze, Неплохо бы приводить конкретные примеры. Причем такие примеры, которые не сравнивают мягкое с теплым. Сложность полезна для сравнения алгоритмов решающих одинаковую задачу но разными способами. И бессмысленно сравнивать алгоритмы один вычисляет число фибоначчи, второй сортирует массив.
@egorolefirenko139
@egorolefirenko139 Рік тому
​@@razor23Ukraineпотому что если у алгоритма меньшая асимптотическая сложность, то для него всегда найдётся такой размер ввода, начиная с которого он начинает работать быстрее, чем алгоритм с большей сложностью
@whiteprincewithobsession
@whiteprincewithobsession Рік тому
@@razor23Ukraine есть алгоритмы с перемножением матриц, и есть дефолтное перемножение за сложность n^3, а есть алгоритм за n^(2,37) но он начинает работать быстрее первого только при больших входных данных, так как имеет большую константу Для этого Big O и нужен
@raymondxp4709
@raymondxp4709 Рік тому
Big O это не количество времени а количество итераций! Ты чем слушал временная сложность говорит о том сколько шагов или операций нужно совершить для завершения алгоритма. O(1) не зависит от входных данных хеш-таблица например чтобы найти в ней элемент неважно сколько у тебя элементов хоть миллиард он найдет его за один шаг. O(N!) чем больше данных тем хуже даже добавления одно элемента тот же поиск замедлит в тысячу раз. Здесь неважно сколько миллисекунд выполняется одна итерация ведь на разных машинах оно бедт разным он это сказал в самом начале, нам важно сколько итераций оно будет всегда одинаковым. Видимо ты не понял принцип Big O.
@user-be9rc4yz8r
@user-be9rc4yz8r Рік тому
Вау, отличный видос. Разобрал очень нужную тему, которая много где важна. Я почему-то для себя представил что там все сложно и как-то избегал её, но понимал что нужно будет изучить когда-то. Оказалось всё очень просто. Ну как минимум процентов 90 я точно понял и это супер! Спасибо большое
@web-writer4769
@web-writer4769 Рік тому
круто, радует что чаще стал выходить контент на канале!
@watherMG
@watherMG Рік тому
Спасибо тебе за невероятно качественный контент, действительно помогаешь разобраться в фундаментальных вещах
@alexone899
@alexone899 Рік тому
За последнее время особенно много новых видео. Пожалуйста, не останавливайся ! Жги дальше !!!🔥
@cmit59
@cmit59 Рік тому
Просто появилась реклама. Но я нисколько не против. Реклама нужна и она полезна. Особенно такая. Так что вы правы: жги дальше.
@DemetriuszStrykowski
@DemetriuszStrykowski Рік тому
ТОЧНО!!!
@zxw
@zxw Рік тому
Подача материала просто супер 😁 ждём новых роликов про криптографию!
@user-cl5nc2xu6y
@user-cl5nc2xu6y Рік тому
Кратко и доступно, про очень важную тему. Респектую за этот шедевр.
@Dmitrii-Zhinzhilov
@Dmitrii-Zhinzhilov Рік тому
Alek, благодарю! 👍🔥
@Flawden
@Flawden Рік тому
Офигенно! Я никак не мог понять что за фигня эта ваша оценка сложности. Наконец-то допер. Спасибо!
@frenkefourfinger2413
@frenkefourfinger2413 Рік тому
Выход твоих роликов для меня праздник , е Ты очень круто выдаешь материал, спасибо тебе огромное за то что ты делаешь эти ролики ... 🙃
@user-be9rc4yz8r
@user-be9rc4yz8r Рік тому
О, отличная тема. Давно уже хочу в ней разобраться. Надеюсь всё пойму. Погнал смотреть. И спасибо тебе что намного чаще видосы стали выходить!
@SorokinAU
@SorokinAU 11 місяців тому
шикарно! мне очень понравилось ваше объяснение с примерами! спасибо!
@bOOOOkash
@bOOOOkash Рік тому
Спасибо, лайк! Уверен, что Ваши ролики найдут место и в учебных заведениях.
@borislove1
@borislove1 3 місяці тому
не думал что эти видео будут настолько полезны при сдачи сессии:) для повторения самое то!
@denistalko6585
@denistalko6585 Рік тому
Хорошее объяснение, спасибо!
@pashkiewich
@pashkiewich Рік тому
Спасибо за видео, вдохновляет учиться
@devbackendtube
@devbackendtube Рік тому
4:51 - позволю заметить что мы считаем не то что они будут одинаковые, а то что они будут расти одинаково (по времени или памяти) при изменении количества входных данных
@well321321
@well321321 Рік тому
Очень приятно ваши видео смотреть!
@meerable
@meerable 6 місяців тому
Чуствуется серьезный подход к прокачке навыков презентаций) Замечательный интонационные паузы) не позволили мне уйти в транс! ❤
@7wafer7
@7wafer7 Рік тому
Спасибо за видео
@---fc8jp
@---fc8jp Рік тому
Хороший труд! Вдохновения автору!
@user-ky8dr1hu5e
@user-ky8dr1hu5e Рік тому
Познавательно, спасибо!
@TheR1za
@TheR1za Рік тому
Слышали о программистах, которые совсем на днях были уволены из Microsoft. Так вот, все они прошли курс на скиллфэктори.
@nomore7222
@nomore7222 Рік тому
Как всегда, лучший 🔥
@veliaraft
@veliaraft 11 місяців тому
Ценный контент. Подписался.
@theepic6978
@theepic6978 3 місяці тому
Очень хорошее объяснение! Thank you
@alexone899
@alexone899 Рік тому
2 часа ночи, думал пойти спать. Так стоп, новый урок от Алека !? Сон подождёт.
@basscloud9854
@basscloud9854 Рік тому
это и правильно потому что перед сном информация мозгом может и вопринимается хуже но зато запоминается лучше - повторил а ты уже оказывается это знаешь значит осталось что - правильно осталось понять и пременить
@jessypinkman8010
@jessypinkman8010 Рік тому
Какой дурак ночью будет ложится спать ?
@Bigteamer
@Bigteamer Рік тому
@@jessypinkman8010 не знаю джесси, когда мет варить?
@jessypinkman8010
@jessypinkman8010 Рік тому
@@Bigteamer Чел, ты или умолкнешь или товара не видать, в Альбукерке уже везде чекают, так что по тише
@Bigteamer
@Bigteamer Рік тому
@@jessypinkman8010 Понял, бро. Буду ждать товар
@fada9238
@fada9238 Рік тому
Не перестаю восхищаться вашим каналом! Задавали нам эту О-символику в колледже не степике проходить. Ничерта не понятно было, всё объясняли скучно и непонятно где вообще применимо. То есть, я как бы понял зачем - чтобы оценить сложность алгоритма. Но там это объясняли в такой скучной форме, что слушать было невозможно! Я просто ничего не понимал...! А у вас - выяснилось, что тема то простая :D Спасибо за то, что ваш канал существует и делает такой контент!
@user-zs5iw1tw3w
@user-zs5iw1tw3w Рік тому
Спасибо за видео
@pishikot
@pishikot Рік тому
Крутая шпаргалка, очень доступно объяснено. Сама концепция несложная, когда поймешь, что к чему, но таких доступных изложений не видел ещё.
@smexyenok5736
@smexyenok5736 Рік тому
Вот благодаря таким людям как ты люди не деградируют, людям интересно смотреть твои видео потомучто интересная и приятная подача информации
@baielsartbaev2716
@baielsartbaev2716 Рік тому
А самое главное - полезная!
@loganlogan3657
@loganlogan3657 Рік тому
В точку сказал
@heybeachMIN
@heybeachMIN 11 місяців тому
что делать если я ничего не понял из этого видео? Я деградировал уже?!
@hardcodedreborn9650
@hardcodedreborn9650 6 місяців тому
​@@heybeachMINЕсли ты школьник то это норма, а если нет то тоже, тебя просто не интересовала данная сфера.
@heybeachMIN
@heybeachMIN 6 місяців тому
@@hardcodedreborn9650 я не школьник, но да, алгоритмы и математика меня не сильно раньше интересовала ) так что сейчас пытаюсь наверстать упущенное
@backwardzzzz
@backwardzzzz Рік тому
Все твои видео классные, слушай объясни пожалуйста как происходит генерация случайных чисел в коде, я думаю это интересная тема для следующего видео
@dalerd1074
@dalerd1074 6 місяців тому
Я когда смотрел, думал о смысле жизни
@KeiTaiho
@KeiTaiho Рік тому
спасибо за видео
@__-pq1nt
@__-pq1nt Рік тому
Вот нравится мне на этом канале то, что разбираются темы, к которым человек сам не подошёл, так как они покрыты "тайнами". Про них мало понятной информации, но автор канала каким-то образом сложные темы объясняет за 15 минут. Без подробностей, конечно, но чтобы начать разбираться это более чем достаточно. Спасибо автору за старания 😍
@user-ic3tr4eq2o
@user-ic3tr4eq2o 5 місяців тому
Нет там никакого покрытия тайной и литературы просто ГОРЫ. Если ты к теме сложности алгоритмов и оптимизации не добрался - значит ты просто "не дорос". Ну в смысле для того чтоб копать в эту сторону, перед тобой должна стоять задача очень часто выполнять объемную задачу (например поиск данных в большом массиве и не раз в месяц, а прям часто). В данном ролике даже не упомянули откуда растут ноги. А ноги растут из особенностей "железа". Команды процессора не одинаковые по времени выполнения. Так самые "длинные" это операции сравнения и сопутствующие им операции условного перехода. Следом идут операции записи в память. Плюс к операциям записи идёт организация структуры хранения обрабатываемых данных. В конечном итоге оптимизация сводится к тому, что нужно по возможности сделать так, чтоб было минимальное количество сравнений (если можно заменить одно сравнение тремя операциями сложения - заменяй. работать будет быстрее. тут ярким примером так называемые "хеш"). В целом дисциплина называется "структуры данных и алгоритмы".
@TanziroK
@TanziroK 2 місяці тому
Привет, посоветуйте пожалуйста книжки с C++, мой уровень очень плох, но при этом я могу вникать в материал, просто только начинающий, хоть уже и в ВУЗе просидел полгода, но играл слишком много, а сейчас уже понимаю, что нужно заниматься, и ко второму курсу идти на работу потому что стипендии не хватает, чтобы покрывать мои "хотелки"​@@user-ic3tr4eq2o
@SOLOKOS
@SOLOKOS Рік тому
Сложность алгоритмов может определяться несколькими способами, в зависимости от конкретных характеристик алгоритма и задачи, которую он решает. Ниже приведены несколько основных: 1. Временная сложность: Временная сложность алгоритма относится к количеству времени, необходимому для решения задачи при увеличении размера входных данных. Алгоритмы с более высокой временной сложностью обычно считаются более сложными в решении, чем те, у которых временная сложность ниже. 2. Пространственная сложность: Пространственная сложность алгоритма относится к объему памяти, необходимому для решения задачи при увеличении размера входных данных. Алгоритмы с более высокой пространственной сложностью могут быть более сложны в реализации или оптимизации, чем те, у которых пространственная сложность ниже. 3. Область применения: Сложность алгоритма также может зависеть от области применения, для которой он разработан. Некоторые задачи могут иметь врожденную сложность, которую нельзя снизить с помощью алгоритмических оптимизаций. 4. Характеристики входных данных: Характеристики входных данных могут также влиять на сложность алгоритма. Некоторые алгоритмы могут быть более сложны в реализации или оптимизации для определенных типов входных данных, таких как большие числа, разреженные данные или данные с множеством повторяющихся образцов. 5. Детали реализации: Детали реализации алгоритма, такие как выбор структур данных или языка программирования, также могут повлиять на его сложность. В целом, определение сложности алгоритма может быть сложным процессом, требующим тщательного анализа и учета многих факторов. Big O - это математическая нотация, используемая для определения временной сложности алгоритма, то есть описания того, как быстро работает алгоритм при увеличении размера входных данных. Она указывает на асимптотическую верхнюю границу времени выполнения алгоритма и позволяет определить, как быстро будет расти время выполнения алгоритма при увеличении размера входных данных. Обычно Big O записывается в виде O(f(n)), где f(n) - функция, описывающая количество операций, которые выполняет алгоритм при обработке n элементов входных данных. Например, если алгоритм имеет временную сложность O(n), то это означает, что время выполнения алгоритма пропорционально размеру входных данных. Big O используется для сравнения и анализа различных алгоритмов и помогает выбирать наиболее оптимальный алгоритм для решения конкретной задачи. Она также позволяет оценить, насколько эффективно можно оптимизировать алгоритм при работе с большими объемами данных.
@user-gy3zd7mx3u
@user-gy3zd7mx3u 5 місяців тому
Похоже на ответ ЖПТ
@user-gy3zd7mx3u
@user-gy3zd7mx3u 5 місяців тому
Это 3.5 или 4 дала такой ответ?
@user-uf5mn4lk7k
@user-uf5mn4lk7k 6 місяців тому
мало что понял, но было интересно
@a.osethkin55
@a.osethkin55 Рік тому
Странно, что не было классического примера (задача о комивояжере). Спасибо большое за видео!
@adekakz9794
@adekakz9794 Рік тому
Спасибо, прокачиваю мозг благодаря тебе
@victornesterenko7016
@victornesterenko7016 Рік тому
В примере вычисления факториала на 10:00 опечатка, следует исправить '+' на '*'. А так ролик хороший, спасибо за простое и доступное изложение .
@ioannchimrov
@ioannchimrov Рік тому
Предлагаю сделать видео про деревья(в частности бинарные), балансировку деревьев и всё вот это. Как будто не так много контента на эту тему на ру ютубе, либо я ошибаюсь.
@abuZaid77
@abuZaid77 9 місяців тому
Хорошо разъяснил
@itzlaboratory
@itzlaboratory Рік тому
Привет, в какой программе ты делаешь ролики? Как делаешь анимацию?
@countrysideshowyaigrock4689
@countrysideshowyaigrock4689 Рік тому
Огонь!!
@ibamaliks
@ibamaliks Рік тому
В какой программе вы делаете анимации? Хочу дипломную презентацию сделать в подобном виде )
@ilyamed
@ilyamed 2 місяці тому
Классный ролик, все наглядно
@alexeyponomarev1933
@alexeyponomarev1933 Рік тому
Молодца!
@user-gu1eo9oy1y
@user-gu1eo9oy1y 17 днів тому
Очень круто и доступно
@Sergey.Ts_
@Sergey.Ts_ Рік тому
Если раньше я думал, что немного знаю математику и чуток умею программировать.... То теперь понимаю, что лучше пойти выпить пивка 😮
@user-rq2zk3vi7q
@user-rq2zk3vi7q 3 місяці тому
Вставлю свои пять копеек по поводу памяти. Если мы инициализируем словарь или массив размера переданного в функцию аргумента, то по памяти M = О(n) (M = memory).
@IlyaKuznetsov1983
@IlyaKuznetsov1983 10 місяців тому
Музыка топ, люблю её. Спасибо мэн!
@SergiyAntonyuk_PhD
@SergiyAntonyuk_PhD 10 місяців тому
Тот редкий случай, когда просто, КРАТКО и понятно объяснены довольно сложные вещи. Спасибо автору
@p0n41lk7
@p0n41lk7 Рік тому
Криптография 2 часть!! Мы ждем
@user-ej8em7zt4b
@user-ej8em7zt4b Рік тому
лайк не глядя, гению
@MikhailGoncharov-tl4cr
@MikhailGoncharov-tl4cr Рік тому
невероятно великолепны йобзор
@Altair21817
@Altair21817 Рік тому
Спасибо за видео! Доходчиво и с картинками! :D Кстати, сейчас друг написал, попросил функцию посмотреть (упрощенно - собирает символы по паттерну и печатает их) - показал скриншот из видео, прокомментировав, что у него по памяти получается O(N!) - делал конкатенацию строки. Друг понял и пошел оптимизировать! Скинул ему ссылку на видео) А что за музыка в рекламе на фоне с 2:22 / в конце видео используется?)
@fahrenheit1863
@fahrenheit1863 Рік тому
А как учитывать сложность когда используются функции ЯП, например есть цикл по массиву и происходит проверка на определенное условие на каждой итерации(поиск значения например). Получается O(n**2) ведь метод тоже будет проходить по массиву???
@anotherlevelofselfawareness
@anotherlevelofselfawareness Рік тому
да, n в квадрате
@user-hp2cg6px8c
@user-hp2cg6px8c Рік тому
0:48 - так мы смотрим на количество операций или на время выполнения? Видос топ, конечно, а то другие размазывают инфу.
@user-dq6rk6fl7f
@user-dq6rk6fl7f Рік тому
сложность алгоритмов проходил на первом семестре программной инженерии. препод никакущий, объяснял убого и так, что ничего не понял. сейчас я во втором семаке и Алек выпустил видос по этой теме. не совсем вовремя, но тем не менее, я хоть понял то, что старался объяснить нам препод. спасибо тебе огромное, Алек
@adekakz9794
@adekakz9794 Рік тому
у нас вообще забили на сложность алгоритмов)) а вуз носит название МЕЖДУНАРОДНЫЙ!
@user-cq4kq3nc4u
@user-cq4kq3nc4u 11 місяців тому
тоже прохожу сейчас это в универе, можешь подсказать: сложность О(n+k), когда в программе два цикла, не вложенных, так вот, эта сложность линейная, т.е. аналогична O(n)? или я чего- то не понял
@user-dq6rk6fl7f
@user-dq6rk6fl7f 11 місяців тому
@@user-cq4kq3nc4u вроде да, потому что все около N отбрасывается: О(2N) -> О(N), O(N+3) -> O(N). Не отбрасываются логарифмы и степени на сколько знаю. Тип может быть O(N*logN), оно так и останется , или же O(N²), тоже не изменится
@user-cq4kq3nc4u
@user-cq4kq3nc4u 11 місяців тому
@@user-dq6rk6fl7f благодарю
@amegatron07
@amegatron07 Рік тому
Спасибо за видео! Полезно не забывать об этой теме, хоть в лично в моей практике уже давно достаточно редко приходится "упарываться" в жесткую алгоритмику. Но вот чем мне всегда О-нотация не нравилась, так как раз своей грубостью. Часто знать о двух разных алгоритмах, что они просто O(N) (или любая другая функция) - это ничего не знать. Представьте себе абстрактную ситуацию, что выбираете алгоритм для своей задачи из магазина, и в характеристиках у обоих обозначена сложность O(N). Но один (1) из них выполняет по факту в среднем N/2 операций. А другой (2) всегда выполняет 1000*N. Хоть они оба и O(N), первый будет значительно предпочтительнее второго. Во-первых потому, что N для него - действительно максимум. Во-вторых, что в большой части случаев он будет завершаться, выполнив меньше N операций. Но в чем же заключается дополнительная проблема алгоритма (2), про который известно, что он O(N), но неизвестно, что фактически он всегда выполняет 1000*N операций, помимо того, что он очевидно менее оптимален, чем первый? А проблема как раз в том, что просто сравнение разных сложностей в O-нотации не совсем корректно. Вот теперь представьте, что есть еще алгоритм (3), решающий эту же задачу, но имеющий сложность O(N^2). Он же сложнее, чем O(N), так? Так, да не так. Если просто взглянуть на эти две функции: 1000*N и N^2, легко увидеть, что тот "более быстрый" алгоритм O(N) (который фактически 1000*N, но коэффициент мы пренебрежительно отбросили) будет по факту выполняться дольше, чем N^2 для N < 1000. А теперь представьте, что сама наша исходная задача и не предполагает работать с N, большими 1000. В этом случае нам было бы выгоднее взять этот третий алгоритм, если выбирать только из этих двух. А теперь представьте, что оценка этого третьего алгоритма тоже сделана слишком грубо, и по факту точнее было бы говорить об (N/10)^2 - это по-прежнему O(N^2), но сравнивая его с (2), он будет быстрее уже не только при N < 1000, а при N < 100000 (!).
@kosiak10851
@kosiak10851 10 місяців тому
так эта нотация применяется для оценки при N стремящемся к бесконечности. Эсли у тебя на входе алгоритма не бесконечный размер данных, то и не применяй, не надо.
@TwoRiks
@TwoRiks Рік тому
Не понимаю в программировании и математике ни черта, но автора так интересно слушать😅 очень познавательно, спасибо большое, продолжай 👍
@user-zh4rf2pe2i
@user-zh4rf2pe2i Рік тому
по-любому у автора в загашнике есть информационная мега-бомба. она нам всё объяснит, и м ы решим ка жить дальше. Голос да, действительно такой
@TinDIlintin
@TinDIlintin Рік тому
Дело в том, что никто ни в чём ничего не понимает. Просто некоторые питают иллюзии, что что-то понимают, а у вас такой иллюзии нет )
@TwoRiks
@TwoRiks Рік тому
@@TinDIlintin это очень обнадёживает, надеюсь вы правы, спасибо 👌
@NakaharaDev
@NakaharaDev Рік тому
Я так понимаю, что скорость выхода видео равна O(n²)?
@antaki93
@antaki93 Рік тому
Довольно поспешно и поверхностно. Лучше книжку почитать, что-то вроде "Грокаем алгоритмы" А. Бхаргава
@kosiak10851
@kosiak10851 10 місяців тому
а ещё лучше учебник по дискретке, а не эту упрощённую для аутистов книжку
@antaki93
@antaki93 10 місяців тому
@@kosiak10851 для базового понимания в самый раз
@vovapirotskiy5031
@vovapirotskiy5031 10 місяців тому
очень круто
@asjvchnvh9313
@asjvchnvh9313 Рік тому
Не ну это трендец просто. Просто идеальный канал, ну не к чему придраться
@user-ki1qw8vo1t
@user-ki1qw8vo1t 3 місяці тому
Есть ещё амортизировання сложность, когда в какой-то момент она может вырасти (например в хеш мапах при расширении массива, так как нужно скопировать данные в новый массив из предыдущего), а так же сложность Omega и Theta.
@mipselqq3133
@mipselqq3133 Рік тому
Лучший
@calisthenics2695
@calisthenics2695 Рік тому
🔥🔥🔥🔥🔥
@user-di3er2qo3u
@user-di3er2qo3u Рік тому
0:44 O(N * log N) на графике не выглядит как логарифм, и "загибается" вверх а не вниз На большой дистанции линейно-логарифмическая сложность - хуже линейной, что у вас обозначено С графиком на первой минуте может показаться, что линейно-логарифмическая когда-то догонит линейную, но это не так - эти две функции можно считать полностью расходящимися Так же не полностью раскрыта тема коэффициентов, когда сложность алгоритма не получится оценить "двухмерной" асимптотикой Там сложность оценивается уже "пространственно" Я не знаю работает ли это для памяти, не сталкивался Но не удивлюсь если такие "пространственные" коэффициенты применимы и для памяти
@-hellsbook9599
@-hellsbook9599 3 місяці тому
А откуда брался материал? Пытаюсь найти что то по теме, но практически ничего нет. Автор, поделись источниками пожалуйста
@Alexander_Gordeev
@Alexander_Gordeev 3 місяці тому
В комментариях упоминалась книга "Грокаем алгоритмы"
@fsaed_lost_acc
@fsaed_lost_acc Рік тому
Не поверишь, но буквально на днях сам копался по этой теме в интернете)
@leomysky
@leomysky Рік тому
Очень понятно и наглядно, большое спасибо!
@KENISEG
@KENISEG 11 місяців тому
я не понял, так как оценивать сложность, по коду или по занимаемой памяти?
@RedBallOfLove
@RedBallOfLove 6 місяців тому
а ещё есть проблема в реальном железе. казалось бы поиск в дереве быстрее, чем поиск в неупорядоченном массиве из 100 элементов, но за счет того, что данные хранятся последовательно в памяти и влезают в кеш процессора, то прогнать цикл может оказаться быстрее, чем в дереве.
@user-pt2pl5xk9s
@user-pt2pl5xk9s 9 місяців тому
Я не понимаю, объясните пж. На 1:48 на картинке почему в условии цикла написано i*i≤121 и счетчик i++? Я думал, что в счетчике должно быть i*=i, а в условии просто i≤121. Тогда в таком случаем будет 11 итераций.
@user-jz7zv6jr4x
@user-jz7zv6jr4x 5 місяців тому
Друг, у тебя итерация с i = 1, начинается, так что твой счетчик постоянно на единице будет. Даже если с i = 2 начинать, то это не очень разумно так делать, тк внутри цикла ты допустим перебирать массив хочешь, а у тебя счетчик геометрически возрастает. Лучше сделать, как в примере и не мудрить
@user-mv3on8jd5h
@user-mv3on8jd5h 11 місяців тому
❤❤❤
@payrgames
@payrgames Рік тому
Как бы хотелось бы видео по C# или знает кто подобный канал с подобной подачей по C#?
@alexbook8694
@alexbook8694 Рік тому
Достаточно прогнать на эталонном компе, а сам выбор эталонного компа очевиден: тот что тебе дали на работа в качестве рабочего или целевого.
@Spichka_
@Spichka_ Рік тому
10:38, тот момент когда ты пишешь на питоне и ты можешь умножать строку.
@paitor1024
@paitor1024 Рік тому
Контент топ
@jekapsk
@jekapsk Рік тому
Почему рассматривается только О-большое, и еще надо было упомянуть о сложности в лучшем случае, на примере отсортированного и не отсортированного массива
@grandoula8022
@grandoula8022 Рік тому
очень интересно какой язык програмирование там C или какой
@Vasilev_Nik
@Vasilev_Nik Рік тому
Привет Алексей, подскажи, пожалуйста, язык тетраций(гипероператоры) в каком-то языке уже реализован? Для рассчета гипербольших чисел например, по типу числа Грэма или TREE. Было бы ещё интересно ролик на эту тему увидеть, хоть он и не совсем к программированию относится, но все таки будет полезен тем кто хочет в этой теме разобраться, да и кроме как с помощью компьютеров их не высчитать, так что полезно будет знать тем кто с биг датой работает.
@spuffik9235
@spuffik9235 Рік тому
Для работы с большими числами я юзал самописные алгоритмы. Число хранятся как строка. Для нахождения суммы двух чисел берётся текущая цифра и следующий за ним разряд. Цифры суммируются, и если сумма больше 10, то увеличиваю следующий разряд на +1 (снова вызывается функция сложения, только берётся на вход единица, текущий разряд и следующий). Алгоритм переваривает любые числа с плавающей запятой. Для умножения, возведения в степень и тд расписывать не буду, ибо всё предельно ясно как делать
@DenysHolovin
@DenysHolovin 9 місяців тому
Не за 11 минут а за 10 :) 11 минус реклама. Гениально!
@nbylnov
@nbylnov Рік тому
Видео скорее больше запутывает без формальных определений. Также хотелось бы услышать про тета- и омега- нотации. Советую почитать соответствующую главу книги Томаса Кормена «Алгоритмы. Построение и анализ».
@xmahz
@xmahz Рік тому
При нескольких переменных N и K допустим, скоростью алгоритма является максимальная скорость или худшая, поэтому если N больше K тогда скорость O(N) и наоборот
@GameMorg
@GameMorg 10 місяців тому
Ничего не понял, но очень интересно
@sergeigarbar1896
@sergeigarbar1896 Рік тому
окей гугл, тро есть Алек. Я могу работать с переменными, знаю что есть кортежи, списки, инт 32, инт 64, могу запустить цикл FOR LOOP и do loop, do while. хелло ворд тоже могу вывести. но далше - блин как и куда. дальше сразу до фига и не поятно.как вот из всего этотго запилить свой Redalt 1, railroady tycoon 2, simcity 2?
@razor23Ukraine
@razor23Ukraine Рік тому
попроси ChatGPT
@ilyushechka
@ilyushechka 3 місяці тому
Когда я поступил в университет и на матанализе встретил "О большое", то далеко не сразу понял, что это то самое "big O" в программировании. Сфера настолько перенасытиоась дилетантами, что даже понятия искажают для тех, кто не посещал школьную маоематику с 5 класса
@user-iw5qp8fj9f
@user-iw5qp8fj9f Рік тому
Скоро будет почётней рекламировать скамы и наркомагазы в даркнете, чем сами знаете какие школы...😂
@titsubishi
@titsubishi Рік тому
Мне одному кажется, что видосы у Алека в продакшн с ускоренным воспроизведение выходят? Инфа нужная и полезная, но на такой скорости что-то усвоить не представляется возможным)
@user-ok4wr4zm5i
@user-ok4wr4zm5i Рік тому
you the best teacher
@dd2xy422
@dd2xy422 8 місяців тому
Что-то мозг поплыл
@Orseron
@Orseron Місяць тому
надо будет раза 3 пересмотреть с ручкой и листочком... на 4-й минуте уже потерял нить
@darkflameshadow3120
@darkflameshadow3120 Рік тому
Кайфанул от интеллектуального наслаждения.
@eugenedukatta9355
@eugenedukatta9355 Рік тому
А в чем смысл сложности O(N+K) O(N*K) почему не заменить на O(2N) (и далее просто O(N)) и O(N^2)
@ivansaranchonkau7209
@ivansaranchonkau7209 5 місяців тому
11:00 - совершенно не понимаю, откуда тут могла взяться сложность по памяти О(2^N) и геометрическая прогрессия. Если мы выяснили, что вызов рекурсивной функции даёт сложность О(N) по памяти, а в этом примере мы вызываем её N раз. Итоговая сложность по памяти окажется O(N).
КАК РАБОТАЮТ СОРТИРОВКИ | АЛГОРИТМЫ
23:41
How to calculate the complexity of an algorithm by BIG O | The clearest explanation!
25:44
Front-end Science із Сергієм Пузанковим
Переглядів 117 тис.
The World's Fastest Cleaners
00:35
MrBeast
Переглядів 84 млн
когда одна дома // EVA mash
00:51
EVA mash
Переглядів 5 млн
McDonald’s MCNUGGET PURSE?! #shorts
00:11
Lauren Godwin
Переглядів 22 млн
How To Learn Algorithms? Why? #codonaft
19:22
codonaft
Переглядів 554 тис.
ТЕ САМЫЕ 20% ТЕОРИИ В ПРОГРАММИРОВАНИИ
13:31
ЭТИ КНИГИ СДЕЛАЮТ ИЗ ТЕБЯ ХАКЕРА
16:38
КАК УСТРОЕН ИНТЕРНЕТ. НАЧАЛО
41:58
Alek OS
Переглядів 368 тис.
The World's Fastest Cleaners
00:35
MrBeast
Переглядів 84 млн