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

  Рет қаралды 6,083

Сергей Константинов

Сергей Константинов

Жыл бұрын

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

Пікірлер: 12
@Nic13595
@Nic13595 Ай бұрын
Хорошая подача, понятное объяснение, продолжай, успехов.
@user-zt3rs8rc9j
@user-zt3rs8rc9j Жыл бұрын
Посмотрев видео в наглухо забитом автобусе понял, что аналогия с тарелочками больше похожа на автобус. Первый зашёл - последний вышел 😅
@m3th0dmvn65
@m3th0dmvn65 Жыл бұрын
Спасибо за видео, великолепное объяснение! Решил задачки, освежил в памяти такую достаточно важную тему :)
@oktav2222
@oktav2222 2 ай бұрын
Спасибо
@exx-ns4tt
@exx-ns4tt Жыл бұрын
отличное видео! подписка! разбери деревья и рекурсивный обход по этой структуре данных.
@user-te9ci1tx4x
@user-te9ci1tx4x 9 ай бұрын
Хотелось бы увидеть реальные задачи на стеке, хотя 2-3, 🙏
@konstantinov_it
@konstantinov_it 8 ай бұрын
На самом деле стек используется повсеместно. Например, реализация отмены через ctrl + Z в приложениях, как наиболее явный кейс. А так это любое использование массива в качестве сохранения состояния с учетом последовательности
@diggerdog001
@diggerdog001 5 ай бұрын
Привет! Есть совет как быть уверенным в задачках с применением рекурсии? Я могу решить обычные задачи типа Фибоначчи и т.д. но если что-то связанное с массивами или вложенными объектами, то уже ступор. Очевидный ответ будет больше практики, но этот рубикон как перейти в понимании?
@konstantinov_it
@konstantinov_it 5 ай бұрын
Привет! Это очень хороший и в тоже время сложный вопрос. Да, очевидным ответом - больше практики. Но что скрывается под этим? Сами по себе задачи требующие рекурсивного решения чаще всего далеко не самые простые, вроде задач на DFS, BFS и другие обходы деревьев. Конечно, нужно нарешивать от простого к сложному. Также может помочь визуализация с использованием бумаги и карандаша для отслеживания процесса в задаче, в частности рекурсии. Было время, я упарывался в решение задач на динамику, которые отчасти меняют мышление в подходе к решению задач. Попробуй, возможно, что решение сложных задач на динамику помогут развить необходимые навыки для использования рекурсии. По сути рекурсия - не единственный метод, которым можно решить задачу. Чаще всего есть и более линейные варианты (опять отсылка к динамике). Резюме: сложные задачи на то и сложные, и чтобы их научиться решать нужно просто прорешать их все, другого варианта не вижу. Со временем запоминаются определенные паттерны. Нарешивай задачи на одну тему, долгое время это будет тяжело, каждая новая задача будет как совершенно несвязанная с предыдущими на ту же тему, это нормально. Используй бумагу и карандаш для визуализации процесса и не пренебрегай чужими решениями для разбора, если не идет. P.S. Вряд ли я написал что-то новое, но ты и сам сказал, что очевидно только практика. При том долгая и упорная, в несколько заходов. Другого я не знаю.
@kktus
@kktus Жыл бұрын
Отличное видео, а что за микрофон?)
@konstantinov_it
@konstantinov_it Жыл бұрын
Спасибо! Fifine a8
@user-xt5sm6yj6f
@user-xt5sm6yj6f Жыл бұрын
Давай деревья)
Что такое рекурсия. Фундаментальный JavaScript
20:32
Михаил Непомнящий
Рет қаралды 21 М.
it takes two to tango 💃🏻🕺🏻
00:18
Zach King
Рет қаралды 27 МЛН
Рекурсия и стек в JavaScript на примерах: factorial, fibonacci, flatten
29:41
Елена Литвинова — Искусство Веб-разработки 🛸
Рет қаралды 18 М.
Задача из Собеседования на 160,000 Евро в Год
13:27
Саша Лукин
Рет қаралды 1,1 МЛН
Структуры данных в JavaScript | Odessa Frontend Meetup #13
43:08
Odesa Frontend Community
Рет қаралды 23 М.
10 Советов Эффективного Обучения
10:56
Сергей Константинов
Рет қаралды 368
Solving the problem from JS interview - The valid sequence of brackets | LeetCode problems
15:46
Front-end Science із Сергієм Пузанковим
Рет қаралды 37 М.
Что такое промисы в JavaScript. Фундаментальный JavaScript
24:51
Михаил Непомнящий
Рет қаралды 41 М.
it takes two to tango 💃🏻🕺🏻
00:18
Zach King
Рет қаралды 27 МЛН