Как я учил алгоритмы с нуля

Поделиться
HTML-код
  • Опубликовано: 16 дек 2024

Комментарии • 98

  • @ВиталийВиноградов-з4р
    @ВиталийВиноградов-з4р 5 месяцев назад +56

    Коротко о видео «как я выучил алгоритмы». Сидел и учил

  • @Flomasterok
    @Flomasterok 5 месяцев назад +5

    Если вы в чем-то не разбираетесь, начните разбираться и вы разберётесь.

  • @pershin-daniil
    @pershin-daniil 2 года назад +7

    Теперь понятно, почему я LeetCode забросил.
    Подозревал, что нужно больше изучать основы, но теперь в этом уверен 😅
    Видео понравилось, думаю, что так же буду изучать.

  • @nmg_prm
    @nmg_prm 2 года назад +19

    Спасибо за ваши видео! Уже полтора года работаю в разработке на плюсах и не перестаю развиваться, благодаря таким каналам как Ваш!

  • @alexeyfalcon4138
    @alexeyfalcon4138 2 года назад +2

    вот, то что нужно, полезный контент подъехал, требуем такого больше !!!)

  • @ФБез
    @ФБез Год назад +33

    Я изучал всё это в институте. Но могу сказать, что прошло 18 лет (я не соприкасался с этим). И теперь я полный ноль.

    • @vladimir_balun_programming
      @vladimir_balun_programming  Год назад

      Нужно было выбирать работу, где придется со всем этим сталкиваться)

    • @ФБез
      @ФБез Год назад +1

      @@vladimir_balun_programming Именно так. Нужно было работая или стажируясь, получать знания. А так всё впустую.

    • @СтасПеченских
      @СтасПеченских 5 месяцев назад

      @@ФБез у меня примерно так же. Но, не то чтобы я все забыл. Скорее это просто мне не нужно, даже, казалось бы, в таких местах как "Игровые движки".
      Может что-то похожее на какой-то алгоритм или структуру все же реализовывается, но, обычно, это делается спонтанно.

  • @burningheartofgod
    @burningheartofgod 2 года назад +5

    Спасибо большое ! Я на пути обучения и в будущем мечтаю о работе в IT . А к исполнению моей мечты ваши руки тоже приложены . Ещё раз спасибо !

  • @ravilfarhutdinov5470
    @ravilfarhutdinov5470 Месяц назад +1

    1. Осваиваем книгу Грокаем алгоритмы.
    2. Проходим курс по алгоритмам на курсере.
    3. Литкод

  • @corpru2449
    @corpru2449 2 года назад +13

    Спасибо, но все таки в будущем ждем полноценных уроков по алгоритмам))

  • @korprus100
    @korprus100 2 года назад +16

    Пожалуйста продолжайте делать видео, очень приятно смотреть. Вы большой молодец, спасибо вам большое за ваш труд💪👍💪👍

  • @n0stamina
    @n0stamina 5 месяцев назад +36

    Не знаю как для вас, но лично для меня проблема в изучении алгоритмов - их невозможная духота, которая посещает тебя с первой и до последней прочитанной страницы. Невероятно скучно и не особо понятно зачем мне как новичку досконально это знать

    • @blackwoodperegrin1950
      @blackwoodperegrin1950 5 месяцев назад

      Если ты новичок, тогда тебе и не нужно это знать, много джуновских и стажерскиж позиций, да даже и выше есть, где на алгосы вообще похер, но если хочешь дальше двигаться, тогда уже надо алгосам тоже время уделять

    • @n0stamina
      @n0stamina 5 месяцев назад

      @@blackwoodperegrin1950 хз, открываю хх - просят шарить за алгоритмы. Кореша, которые поголовно программисты из самых разных сфер - говорят о том же. Открываешь мок-собесы или реальные на ютубе на джуна - тоже спрашивают.
      Фронтендеру мб и не надо, но я в бэкенд мечу, судя по всему там это необходимо

    • @MathPTU
      @MathPTU 4 месяца назад

      хз, мне лично интересно самому придумывать алгоритмы, смотрю как это нормально можно реализовать, решать задачи и тд, это очень интересно

    • @michaelmushers6368
      @michaelmushers6368 3 месяца назад +1

      @@MathPTU такая же фигня, читаю про алгоритмы и не пойму за чем это может быть нужно? Зачем сортировать числа "пузырьком" если есть sort? Была задача пройти по текстовому файлу и все построчно и внести в БД я сам с нуля придумал свой алгоритм, да может это говнокод но я был счастлив как ребенок. Это меня взбодрило и мозг разогрело.

    • @freizenfarklov268
      @freizenfarklov268 23 дня назад

      ​@@blackwoodperegrin1950 чё то меня на стажерских в финтех только и спрашивают алгоритмы)))

  • @marco.satan6
    @marco.satan6 Месяц назад

    Видео по делу, респект. Я вот тоже сейчас учу алгоритмы, работаю программистом 4 года и тут они мне понадобились)). По поводу того, что читать Кормена для изучения алгоритмов с нуля - это жестко. Книга очень тяжелая для тех, кто не учился в универе на прогера, либо прогуливал вышмат. Я бы порекомендовала вначале "Грокаем Алгоритмы" - очень легкая книга. А потом уже к Кормену переходить. Очень тяжело конечно начинать учить алгоритмы, но с книгами намного легче, сразу перестраиваются мозги)

  • @thedotareview9748
    @thedotareview9748 Год назад +13

    На самом деле пути всегда индивидуальны, и как известно они неисповедимы. Я например такой человек, что не могу долго читать книгу, хотя добирался даже до Кнута, типа читаешь и понимаешь что дядя очень умный и образованный в плане программирования, однако мне надоедает через полчаса-час. А вот когда захожу на leetcode, я будто попадаю в свою стихию, могу за одной задачей просидеть час и мне не наскучит, с тем же успехом могу забросить нерешаемую на данный момент задачку и пойти в раздел решений, разбираю каждое интересное решение этой нерешенной мной лично задачи, а затем каждое из них пошагово реализовываю сам, в общем, ребята, попробуйте разные подходы и делайте то, что вам по душе

    • @Гычпук
      @Гычпук Год назад +1

      Тоже не могу долго книги читать, слишком надоедают. В основном читаю статьи какие-то. Там меньше текста по сравнению с книгами, но полезной инфы тоже можно много почерпнуть

  • @НурсултанКошоев-х8г
    @НурсултанКошоев-х8г 2 года назад +1

    Очень хорошее видео, будущем ждем видео про (как я начал,где работал, проекты т.д)

  • @Illarion.Ivanov
    @Illarion.Ivanov 2 года назад +1

    Владимир, спасибо!

  • @doojonio
    @doojonio Месяц назад

    Владимир, спасибо

  • @СъелКартошку
    @СъелКартошку 2 года назад +5

    Коротко и по делу. Лайк

  • @itaccount1993
    @itaccount1993 7 месяцев назад +2

    01:19 - Грокаем алгоритмы
    01:27 - Кормен

    • @Backs1ashpro
      @Backs1ashpro 5 месяцев назад

      Вообще Грокаем, не всем сразу зайдет. У Кормена есть вступительная книга по алгоритмам, там сразу поняться тянете ли вы это со стороны математики и основ программирования, чтобы с пвездо кода написать самому

  • @TalosDx
    @TalosDx 7 месяцев назад

    коротко, четко, строго по делу. Спасибо как раз такое видео искал.

  • @Greny266
    @Greny266 Год назад

    Спасибо огромное , учу на данный момент алгоритмы но не для программирования а по медицине)

  • @kirillpodroikov6211
    @kirillpodroikov6211 6 месяцев назад

    коротко и по делу. очно программист! Спасибо тебе

  • @MikeGreen-v6t
    @MikeGreen-v6t Год назад

    Тоже так делаю, надо переписывать, лучше понимается, плюс чтение теории, полностью поддерживаю автора

    • @АлександрДанилов-п5с
      @АлександрДанилов-п5с 5 месяцев назад

      А переписывать в каком смысле? Что это значит? Т.е. написать свой класс, который будет делать тоже самое, что и структура данных или в смысле просто лекцию переписать в тетрадь?

  • @АсельАртыкбаева-и1в
    @АсельАртыкбаева-и1в 4 месяца назад

    Благодарю вас!!!

  • @ДмитрийЗабанов-ь2ь

    Привет. Позитивный контент!класс!

  • @Javamaestro
    @Javamaestro 9 месяцев назад +1

    Владимир, хорошее и полезное видео, спасибо!

  • @vasiliypupkin6311
    @vasiliypupkin6311 Год назад +1

    Спасибо за видео! А есть что-то по алгоритмам, от простого к сложному, чтобы было реально решать задачи и качаться.
    Переписывать алгоритмы, при все уважении, сечас то вы точно знаете как лучше выучить и какие инструменты использовать.

  • @v1tbrah
    @v1tbrah 2 года назад +3

    Владимир, будут ли у вас на канале mock-собеседования go junior разработчиков? Мне было бы очень интересно (если я не один такой, поддержите комментарий).

  • @yauhenibut-husaim5822
    @yauhenibut-husaim5822 Месяц назад

    Видно, что Владимир понимает, о чем говорит, имеет широкий кругозор в компьютерных науках. Это касается в том числе и проектирования систем, так и деталей работы с базами данных. Особенно это впечатляет, учитывая, что Владимир самоучка.
    У меня всего один вопрос: Владимир, откуда у вас на все это время? Вы самообразовывались во время работы? Это происходит в рамках выполнения трудовых обязанностей? Или вы использовали рабочее время для самообучения? Если да, то согласовано ли это с работодателем и как?
    Я понимаю если бы вы были студентом, который проводил годы своей жизни в универе отрабатывая сотни академических изучая все это. В ходе учебной программы требовалось собственноручно реализовать hash-table, поэксперементировать с различными подходами к хэшированию и решению коллизий. Это нормально, т.к. универ готовит людей к широкому профилю задач, предполагая, что он будет наращивать более узкую квалификацию необходимую для непосредственного решения задач уже на работе.
    В работе типичного разработчика 30% времени занимает выяснение требований бизнеса, 70% процентов времени уходит на реализацию используя готовые алгоритмы, готовые реализаций структур данных. Так как в процессе работы типичному разработчику просто не нужно держать это в памяти, это постепенно забывается. Все что ему нужно это понимать space / time complexity и то не всегда. Гораздо важнее загрузить в свой мозговой кеш бизнес контекст, структуру конкретной системы, в которой он работает. Далее держать в warm storage предыдущий опыт, т.к. опыт воспринимается ценнее чистого знания. Все это вытесняет подобного рода "знания" в холодное хранилище нашего мозга фиксируя только ключевые слова-ссылки.
    Разработчик будет реализовывать функциональность самым простым линейным способом, так как его основной KPI это количество закрытых задач, удовлетворенность клиента. Оптимизацию производительности будут делать там, где с этим выявилась проблема и только когда она выявилась. Для бизнеса чаще более важно выпустить фичу как можно скорее и проверить гипотезу на узком кругу аудитории, чем ждать, пока разработчики все оптимизируют до максимума и в конечном итоге ресурс потрачен, а эквивалентная польза не получена.
    Поэтому у меня всегда диссонанс: да я согласен, что понимать глубоко алгоритмы может быть нужно, но только в тех случаях, когда это основная работа разработчика - разрабатывать и применять самые подходящие алгоритмы для решения задач и делать это на ежедневной основе. Но большинство задач на рынке просто этого не требует. Никто не будет нанимать на позицию FrontEnd разработчика, который разбирается в тонкостях решения коллизий в хэш таблице, но не понимает, как работает Flex / CSS Grid, JS, React и тд. Секция алгоритмов на интервью имеет место быть в этом случае, но ее вес должен быть меньше, чем секция непосредственного практической задачи. В итоге это приводит к тому, что все просто заучивают алгоритмы, потому что надо пройти собеседования, проходят собеседования, благополучно все забывают как студенты после экзамена и приступают к своей непосредственной работе - перекрашиванию кнопок.

    • @CiganXam
      @CiganXam Месяц назад

      А как ты пройдешь собес не зная алгоритмов ? уже даже на мидл фронта с зп 200к сраных в 2024 году это уже далеко не много требуют алгосы решать и душные задачи. Посмотри запись с собеса озон там 3 этапа тинкоф тоже самое и сбер и тд. Вот и как жить? 3.5 года работал делал страницы приложения на реакт + ант, и понимаю что ппц теперь

  • @ВикторСеменов-н1и
    @ВикторСеменов-н1и 5 месяцев назад

    Возьмите задачи где нужны определенные алгоритмы и реализуйте их

  • @relax1487
    @relax1487 2 года назад +8

    Имхо в целом для решения прикладных задач за исключением крайне нагруженных систем и тонкой специфики или очень ограниченных ресурсов рядовому программисту достаточно в целом знать плюсы/минусы контейнеров стандартной библиотеки своего языка и подбирать все это добро под текущие задачи. Просто потому, что изучение всего лютого многообразия остального не пригодится в подавляющем большинстве случаев. А закрепление практикой всей прочитанной теории = no life. А в целом посыл верный - нужно понимание базовой теории структур данных, в идеале по возможности подкрепленное практикой.

  • @CultureofSpeech
    @CultureofSpeech 6 месяцев назад

    Звучит интересно 🎉❤
    А когда будет продолжение этой темы разговора подробнее 😮

  • @НикитаБуров-ъ6р
    @НикитаБуров-ъ6р 5 месяцев назад +1

    все верно, какой литкод если двусвязный список не можешь развернуть.

  • @Checkmate-p8r
    @Checkmate-p8r 8 месяцев назад

    На сколько же люди были гениальными которые придумали эти алгоритмы

    • @hypnotized4514
      @hypnotized4514 7 месяцев назад

      Базовая задача интеллекта - находить закономерности.

  • @Jake-ku9vh
    @Jake-ku9vh 2 года назад +2

    Отличное видео. Подскажите, стоит ли сейчас изучать C++? Или лучше выбрать что-то другое?

  • @olgafedyanova
    @olgafedyanova 2 года назад

    красавчег!

  • @Ann_Askerova
    @Ann_Askerova 2 года назад +2

    Я тоже сейчас читаю эту книгу ☺️ читается как триллер на одном дыхании) а вот Грокаем алгоритмы не очень понравилась.

  • @jullien191
    @jullien191 Год назад +1

    А сейчас какой ратингь в кодефорцес?

  • @silkcode3178
    @silkcode3178 Год назад

    Под основами что подразумевается?

  • @Lodarev
    @Lodarev 4 месяца назад

    Никогда бы не подумал что фронт-енд разрабу это надо. Я по факту pre-senior, никогда не юзал их в работе но для карьеры как я понял без них никуда.

    • @CiganXam
      @CiganXam Месяц назад

      Посмотри записи с собесов спрашивают задачи с лит кода даже на мидла с 200к зп

  • @Neo-w6q
    @Neo-w6q 10 месяцев назад

    Повторение мать учения

  • @_GyG_
    @_GyG_ Год назад

    что за кресло, на котором сидишь?

  • @remoleg
    @remoleg Год назад

    А можно список рекомендуемой литературы?

  • @WILL-rd2se
    @WILL-rd2se 8 месяцев назад +1

    Владимир устрой на работу

  • @itabout1450
    @itabout1450 2 года назад +1

    Хорошее видео. Там кажется цепочка петличку задевает

  • @pavvelsss
    @pavvelsss 5 месяцев назад +1

    От куда ты переписывал алгоритмы? Где источник?

  • @MrCutmasta
    @MrCutmasta 6 месяцев назад +1

    Что значит переписывал? Делал конспект или тупо код/текст переписывал?

    • @Goshiq
      @Goshiq 6 месяцев назад

      Переписать- создать свою версию класса/библиотеки
      Например, с чистого листа создал класс, допустим, CustomArrayList
      Имплементировал интерфейс List, и пишешь реализацию так, как будто хочешь повторить устройство исходной коллекции (ArrayList в нашем случае -> массив для хранения данных)
      В процессе написания и тестирования сухие фразы об O(n) для вставки в худшем случае (для ArrayList) понимаются на деле

  • @janedoe6182
    @janedoe6182 5 месяцев назад +5

    В чем смысл зубрить алгоритмы наизусть? Для программирования достаточно навыков программирования. Нужен тебе какой-то алгоритм? Прочитал о нем инфу, реализовал, забыл детали, в голове остались только общие принципы. Никто из прикладных программистов, в здравом уме, не пишет быструю сортировку. А всякие маргинальные алгоритмы - они нужны лишь раз или два в жизни. Ради этого не стоит держать в голове их детали.

    • @lalalalalulu4567
      @lalalalalulu4567 5 месяцев назад

      Суть скорее в том, чтобы понять, что в задаче вообще можно алгоритм применить. Условно, знать или уметь увидеть, что задачу можно решить за O(n), а не за O(n^2)

    • @janedoe6182
      @janedoe6182 5 месяцев назад

      @@lalalalalulu4567 Знать такую базу безусловно полезно. Но он же говорит, что переписывал алгоритмы по сто раз до полного запоминания. Это, я считаю, мегаглупость вселенского масштаба.

  • @Mortwake
    @Mortwake 5 месяцев назад

    Хоть раз в работе пригодились, кроме собеседования?

  • @deve1oper
    @deve1oper 5 месяцев назад

    3 минуты 20 секунд воды и 9 секунд по делу - просто читал книжки и перечислил их, всё

  • @nikitakolos4830
    @nikitakolos4830 2 месяца назад

    Вот это советы гуру) Все, побежал учить алгоритмы тупым переписыванием в тетрадь) П.С. Тебе хоть пригодились эти самые алгоритмы на работе?

  • @nichtverstehen2045
    @nichtverstehen2045 5 месяцев назад

    "учил алгоритмы"? жертва егэ!

  • @LonelyRiderStonerBand
    @LonelyRiderStonerBand 3 месяца назад

    А почему бы в 21 веке, когда в тренде AI, не потратить пару дней и разобраться с AI, который за тебя будет эту всю дичь писать за пару секунд, вместо того чтоб тратить несколько лет на изучение и зубрение сложной литературы 😀

    • @vitaly-
      @vitaly- Месяц назад

      Это надо прям быть гением чтобы использовать то, что в тренде, а не то что реально работает. Если оно в тренде, это не значит, что оно работает как нужно. Нейронки не всегда правильно решают алгоритмы, плюс даже если и решают, то зачастую в лоб и с большой сложностью, хотя можно решить намного проще. Хотя какие алгоритмы, они зачастую банальные задачи на верстку сделать не могут.

  • @GrowHobbyRU
    @GrowHobbyRU 5 месяцев назад +1

    пустое бла бла бла

  • @AndriiPetrusha
    @AndriiPetrusha 6 месяцев назад +1

    Зачем?