#14. Стек типа LIFO (Last-In-First-Out) | Алгоритмы на Python
ฝัง
- เผยแพร่เมื่อ 12 ก.ย. 2024
- Объясняется, что такое стек типа LIFO (Last-In-First-Out) - последним вошел, первым вышел. Рассматривается пример его использования для проверок записи скобок в строке. Приводится реализация на языке Python.
algorithm-stack-lifo.py: github.com/sel...
Как всегда супер, спасибо, жаль что на ваших уроках так мало просмотров, в поиске далеко не в первой выдаче
Спасибо, Сергей! Ждём FIFO!
Вот да уже интересней )) Я понимаю тут не стол заказов но можно ,задачу о рюкзаке разобрать :)
Спасибо за видео
плюс репутация жестко помог
Отлично, помогло идея)Я стэк реализовал через класс, открытые скобки в один список, закрытые в другой. и сверял по индексу)
BRACKETS_OPEN = ['(', '[', '{']
BRACKETS_CLOSED = [')', ']', '}']
Если индекс закрытой скобки равен индексу открытой скобки в списке, то всё ок.
а в чем ок то? Тебе дана строка '( [ { ) ] }'. По твоей логике, если я правильно понял, получим
BRACKETS_OPEN = ['(', '[', '{']
BRACKETS_CLOSED = [')', ']', '}']
Индексы совпадают, но ответ то будет false
Сразу подумал о рекурсии: так по идеи можно достроить ‘[{(‘
базовый случай:
if len(arr) == 1:
if arr[0] == ‘{‘ or …:
return ‘}’
Сергей, подскажите пожалуйста, а что означают имена переменных br и lt?
упс, да уж и не помню почему так назвал )
@@selfedu_rus br я догадываюсь, что brace, а lt - не могу понять и это мне покоя не даёт 😄
@@user-bw4xg8tb9r letter?
lt - literal наверно
Круто!
подскажите пожалуйста, есть ли у вас видео с алгоритмом поиска в глубину или в ширину
а то я не нашёл(
Нет, этого не делал.
@@selfedu_rus а сколько будет стоить, чтобы вы помогли сделать такое ?
@@alextripchik6860 извините, не делаю на заказ
А разве стек, это структура данных?
Здесь ru.wikipedia.org/wiki/Стек написано, что структура. Да и по логике вещей тоже )
FIFO / LIFO )))
Выходит так, что оператор continue это что-то вроде рекурсии? Только если мы будем делать рекурсию, то что нужно подставить вместо continue?
А почему если все верно то длина стека равна 0?Мы же все время добавляем элементы(append)в список,но не убираем их методом подобным
там еще есть pop(), который удаляет последний элемент
@@selfedu_rus Cпасибо!
по сссылке нет кода ((
теперь есть, спасибо!