#14. Стек типа LIFO (Last-In-First-Out) | Алгоритмы на Python

แชร์
ฝัง
  • เผยแพร่เมื่อ 12 ก.ย. 2024
  • Объясняется, что такое стек типа LIFO (Last-In-First-Out) - последним вошел, первым вышел. Рассматривается пример его использования для проверок записи скобок в строке. Приводится реализация на языке Python.
    algorithm-stack-lifo.py: github.com/sel...

ความคิดเห็น • 28

  • @mrfang5908
    @mrfang5908 2 ปีที่แล้ว +7

    Как всегда супер, спасибо, жаль что на ваших уроках так мало просмотров, в поиске далеко не в первой выдаче

  • @friend1cat
    @friend1cat 3 ปีที่แล้ว +3

    Спасибо, Сергей! Ждём FIFO!

  • @luckytima2315
    @luckytima2315 3 ปีที่แล้ว +2

    Вот да уже интересней )) Я понимаю тут не стол заказов но можно ,задачу о рюкзаке разобрать :)

  • @user-hr2zy3sl3x
    @user-hr2zy3sl3x 2 ปีที่แล้ว +1

    Спасибо за видео

  • @saldi00
    @saldi00 2 ปีที่แล้ว +1

    плюс репутация жестко помог

  • @МаксимНовиков-ь4ц
    @МаксимНовиков-ь4ц 2 ปีที่แล้ว +2

    Отлично, помогло идея)Я стэк реализовал через класс, открытые скобки в один список, закрытые в другой. и сверял по индексу)
    BRACKETS_OPEN = ['(', '[', '{']
    BRACKETS_CLOSED = [')', ']', '}']
    Если индекс закрытой скобки равен индексу открытой скобки в списке, то всё ок.

    • @kirillgolovanov2975
      @kirillgolovanov2975 10 หลายเดือนก่อน

      а в чем ок то? Тебе дана строка '( [ { ) ] }'. По твоей логике, если я правильно понял, получим
      BRACKETS_OPEN = ['(', '[', '{']
      BRACKETS_CLOSED = [')', ']', '}']
      Индексы совпадают, но ответ то будет false

  • @Munchen888
    @Munchen888 8 หลายเดือนก่อน +1

    Сразу подумал о рекурсии: так по идеи можно достроить ‘[{(‘
    базовый случай:
    if len(arr) == 1:
    if arr[0] == ‘{‘ or …:
    return ‘}’

  • @user-bw4xg8tb9r
    @user-bw4xg8tb9r 2 ปีที่แล้ว +1

    Сергей, подскажите пожалуйста, а что означают имена переменных br и lt?

    • @selfedu_rus
      @selfedu_rus  2 ปีที่แล้ว

      упс, да уж и не помню почему так назвал )

    • @user-bw4xg8tb9r
      @user-bw4xg8tb9r 2 ปีที่แล้ว

      @@selfedu_rus br я догадываюсь, что brace, а lt - не могу понять и это мне покоя не даёт 😄

    • @Vladimir-re8xl
      @Vladimir-re8xl 2 ปีที่แล้ว

      @@user-bw4xg8tb9r letter?

    • @hyperyon112
      @hyperyon112 ปีที่แล้ว

      lt - literal наверно

  • @donfedor007
    @donfedor007 2 ปีที่แล้ว +1

    Круто!

  • @alextripchik6860
    @alextripchik6860 3 ปีที่แล้ว +1

    подскажите пожалуйста, есть ли у вас видео с алгоритмом поиска в глубину или в ширину
    а то я не нашёл(

    • @selfedu_rus
      @selfedu_rus  3 ปีที่แล้ว

      Нет, этого не делал.

    • @alextripchik6860
      @alextripchik6860 3 ปีที่แล้ว

      @@selfedu_rus а сколько будет стоить, чтобы вы помогли сделать такое ?

    • @selfedu_rus
      @selfedu_rus  3 ปีที่แล้ว

      @@alextripchik6860 извините, не делаю на заказ

  • @torttortovich7490
    @torttortovich7490 2 ปีที่แล้ว +2

    А разве стек, это структура данных?

    • @selfedu_rus
      @selfedu_rus  2 ปีที่แล้ว

      Здесь ru.wikipedia.org/wiki/Стек написано, что структура. Да и по логике вещей тоже )

  • @antonkratinov4780
    @antonkratinov4780 ปีที่แล้ว +1

    FIFO / LIFO )))

  • @golokwen7622
    @golokwen7622 ปีที่แล้ว +1

    Выходит так, что оператор continue это что-то вроде рекурсии? Только если мы будем делать рекурсию, то что нужно подставить вместо continue?

  • @danilbanan406
    @danilbanan406 ปีที่แล้ว

    А почему если все верно то длина стека равна 0?Мы же все время добавляем элементы(append)в список,но не убираем их методом подобным

    • @selfedu_rus
      @selfedu_rus  ปีที่แล้ว

      там еще есть pop(), который удаляет последний элемент

    • @danilbanan406
      @danilbanan406 ปีที่แล้ว

      @@selfedu_rus Cпасибо!

  • @fisksatra666
    @fisksatra666 3 ปีที่แล้ว +1

    по сссылке нет кода ((

    • @selfedu_rus
      @selfedu_rus  3 ปีที่แล้ว

      теперь есть, спасибо!