Алгоритмы на javascript. Стек и рекурсия.

Поділитися
Вставка
  • Опубліковано 8 жов 2024
  • В этом видео мы рассмотрим такую структуру данных, как стек, на примере стека вызовов в компьютере. Научимся решать задачки рекурсивным методом на простом примере и разберём задачку на расчёт факториала.
    Мой телеграм канал: t.me/konstanti...
    Задачи для самостоятельного решения.
    На рекурсию:
    1. Числа фибоначи - leetcode.com/p...
    2. Степень двойки - leetcode.com/p...
    Популярная задачка на стек:
    1. Валидная скобочная последовательность - leetcode.com/p...
    Кстати, алгоритм быстрой сортировки тоже является рекурсивным. Пишите в комментарии, удалось ли решить все задачки

КОМЕНТАРІ • 12

  • @Nic13595
    @Nic13595 6 місяців тому

    Хорошая подача, понятное объяснение, продолжай, успехов.

  • @m3th0dmvn65
    @m3th0dmvn65 Рік тому +2

    Спасибо за видео, великолепное объяснение! Решил задачки, освежил в памяти такую достаточно важную тему :)

  • @ВладБоровков
    @ВладБоровков Рік тому +5

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

  • @oktav2222
    @oktav2222 6 місяців тому

    Спасибо

  • @exx-ns4tt
    @exx-ns4tt Рік тому

    отличное видео! подписка! разбери деревья и рекурсивный обход по этой структуре данных.

  • @ЭзизК
    @ЭзизК Рік тому +2

    Хотелось бы увидеть реальные задачи на стеке, хотя 2-3, 🙏

    • @konstantinov_it
      @konstantinov_it  Рік тому

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

  • @kktus
    @kktus Рік тому +2

    Отличное видео, а что за микрофон?)

  • @diggerdog001
    @diggerdog001 10 місяців тому

    Привет! Есть совет как быть уверенным в задачках с применением рекурсии? Я могу решить обычные задачи типа Фибоначчи и т.д. но если что-то связанное с массивами или вложенными объектами, то уже ступор. Очевидный ответ будет больше практики, но этот рубикон как перейти в понимании?

    • @konstantinov_it
      @konstantinov_it  10 місяців тому +1

      Привет! Это очень хороший и в тоже время сложный вопрос. Да, очевидным ответом - больше практики. Но что скрывается под этим? Сами по себе задачи требующие рекурсивного решения чаще всего далеко не самые простые, вроде задач на DFS, BFS и другие обходы деревьев. Конечно, нужно нарешивать от простого к сложному. Также может помочь визуализация с использованием бумаги и карандаша для отслеживания процесса в задаче, в частности рекурсии. Было время, я упарывался в решение задач на динамику, которые отчасти меняют мышление в подходе к решению задач. Попробуй, возможно, что решение сложных задач на динамику помогут развить необходимые навыки для использования рекурсии. По сути рекурсия - не единственный метод, которым можно решить задачу. Чаще всего есть и более линейные варианты (опять отсылка к динамике).
      Резюме: сложные задачи на то и сложные, и чтобы их научиться решать нужно просто прорешать их все, другого варианта не вижу. Со временем запоминаются определенные паттерны. Нарешивай задачи на одну тему, долгое время это будет тяжело, каждая новая задача будет как совершенно несвязанная с предыдущими на ту же тему, это нормально.
      Используй бумагу и карандаш для визуализации процесса и не пренебрегай чужими решениями для разбора, если не идет.
      P.S. Вряд ли я написал что-то новое, но ты и сам сказал, что очевидно только практика. При том долгая и упорная, в несколько заходов. Другого я не знаю.

  • @АлексейКазаков-р7й

    Давай деревья)