Java. Очередь и стек.

Поделиться
HTML-код
  • Опубликовано: 7 сен 2024
  • В данном видео содержится обзор таких структур данных как очередь и стек. Разбираем, что такое стек и очередь, их виды, как они работают и как устроены. Так же привожу примеры их использования, для того чтобы составить целостное представление, какую роль играют данные структуры, и в каких областях применяются при разработке программного обеспечения.
    Исходники здесь:
    github.com/Arh...
    Поддержать канал💰:
    yoomoney.ru/to...
    #ArhiTutorialsJava #ityoutubersru

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

  • @d.mertsalov
    @d.mertsalov 4 года назад +35

    Очень хорошо, что в уроке озвучены реальные примеры использования стека и очереди. Спасибо за видео!

  • @essheva
    @essheva 4 года назад +5

    Круто! Взахлёб смотрела видео! Many thanks!

  • @user-vb7od9hh1j
    @user-vb7od9hh1j 3 года назад +2

    Сергей, спасибо большое. Объясняете лучше чем преподаватель. Плюс ко всему графическое пояснение того, что говорите

  • @rusakov66
    @rusakov66 4 года назад +4

    Спасибо большое, у Вас призвание учить.

  • @alexferri4475
    @alexferri4475 3 года назад +5

    Сергей, спасибо за это видео, понятно и доходчиво объясняете, после просмотра хочется еще смотреть ваши видео!

  • @jonnysiamons1351
    @jonnysiamons1351 3 года назад +1

    Спассибо вам большое за подробный разбор данной темы

  • @encode2850
    @encode2850 4 года назад +2

    Awesome Work.

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

    Какое прекрасное объяснение! Еще и с практическими примерами! Очень круто!

  • @lisafox9026
    @lisafox9026 4 года назад +2

    очень доступно и профессионально !!!!

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

    Спасибо за подробное объяснение!
    Захотелось посмотреть и другие ваши видео

  • @Denis_V_S
    @Denis_V_S 4 года назад +1

    Здравствуйте. Мне очень понравилась подача материала) Благодарю.

  • @user-dg8uj7xm8l
    @user-dg8uj7xm8l 4 года назад +3

    Спасибо, очень интересные видео!

  • @lebushe
    @lebushe 3 года назад +1

    Спасибо, помогло в учении

  • @user-mu6lt7kz7b
    @user-mu6lt7kz7b 3 года назад +1

    Отличное объяснение. Большое спасибо!

  • @user-fu4ho1fn5p
    @user-fu4ho1fn5p 10 месяцев назад

    отличный контент

  • @olegliakhovets8224
    @olegliakhovets8224 3 года назад +1

    Спасибо за видео! Очень интересно и понятно объяснено!

  • @SergioUkrAr
    @SergioUkrAr 3 года назад +1

    Супер, спасибо.

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

    Отличный урок, спасибо очень помогло вникнуть в тему

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

    Досмотрел! красавчик! шикарно пояснил все!!!

  • @devil208356
    @devil208356 4 года назад +1

    Крутое объяснение! Спасибо!

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

    Отлично!

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

    Огромное спасибо за уроки! Себе в избранное и другим буду рекомендовать.

  • @user-ve8jb1yw8d
    @user-ve8jb1yw8d 4 года назад +1

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

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

    очень интересно рассказываете! лайк

  • @morakdim5927
    @morakdim5927 3 года назад

    Сергей, прекрасная подача материала. Лайк, подписка однозначно.

  • @andrii_berezhnyi
    @andrii_berezhnyi 3 года назад

    Очень классно обьясняете с примерами. Спасибо

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

    Спасибо!

  • @user-xc8dn1wz7t
    @user-xc8dn1wz7t Год назад

    Просто лучший) спасибо

  • @user-nv1er1md1i
    @user-nv1er1md1i 3 года назад

    Класс! Спасибо вам большое за объяснение.

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

    Круто! очень информативно и интересно)большое спасибо

  • @Andrzej3935
    @Andrzej3935 3 года назад

    Спасибо вам огромное!

  • @CaH4aZzz
    @CaH4aZzz 4 года назад +1

    Топчик!

  • @mehaletz
    @mehaletz 3 года назад

    Очень интересные темы.

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

    Thanks

  • @kirill_mizko
    @kirill_mizko 3 года назад

    Спасибо, очень круто и качественно!)

  • @kirillandreevich5826
    @kirillandreevich5826 3 года назад +4

    Слишком хорошо, чтобы быть правдой. Я сплю или я нашел лучшего учителя.

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

    2022 актуально. Спасибо!

  • @user-jn8sw8cv7s
    @user-jn8sw8cv7s 3 года назад

    Спасибо

  • @user-nc1cr1xe3c
    @user-nc1cr1xe3c 3 года назад

    очень понятно

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

      1:09 На рисунке Очередь. Добавляется элемент в начало, уходит из конца.
      1:24 звучит фраза, что добавляем в конец, а забираем из начала очереди.

  • @user-fc3xo8nb8e
    @user-fc3xo8nb8e Год назад +1

    🤗🤭🤭

  • @apatrisianislav7106
    @apatrisianislav7106 3 года назад +1

    Нормас)

  • @user-un1zt3mj8u
    @user-un1zt3mj8u 2 года назад

    Спасибо большое за материал! Очень все доступно! Только у меня вопрос, не нужно ли в последнем примере останавливать треды?

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

      Сами они не остановятся, надо останавливать. Но это отдельная история, не зря я про это отдельное видео записал:
      ruclips.net/video/K2QOWJp_IQU/видео.html

    • @user-un1zt3mj8u
      @user-un1zt3mj8u 2 года назад

      @@arhitutorials спасибр большое!

  • @user265-32
    @user265-32 10 месяцев назад

    Большое спасибо за вашу работу. Подскажите, не вогоднее ли было использовать LinkedList вместо ArrayList? Т.к. доступ к первому или последнему элементу будет у обех структур за константное время, а вот увеличение емкости массива в ArrayList, при максимальном его заполнении, может ухудшить сложность.

    • @arhitutorials
      @arhitutorials  10 месяцев назад +1

      Теоретически да.

  • @arhitutorials
    @arhitutorials  4 года назад

    Всем привет! Сделал группу в Telegram, для обсуждения канала, вопросов, и прочего:
    t.me/ArhiTutorials
    Кому интересно, добавляйтесь)

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

    Сергей, Вы принимали участие в создании приложения НОГОТОЧКИ????

  • @trypophobia7497
    @trypophobia7497 3 года назад

    Спасибо за урок! Почему веб разработчику не нужно знать про стек ?))) Например какой нить шаблонизатор для сервер сайд рендеринга юзает стек:)) про такую классику как стек и очередь также связанные списки должен знать каждый программист хотяб понимать как это работает :)

    • @arhitutorials
      @arhitutorials  3 года назад

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

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

    Если не секрет, скажите пожалуйста, при помощи чего (каких технологий) вы делаете графическии анимации к этому видео ?

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

      Делаю там же, где и все видео монтирую - в Davinci Resolve. Искал какую-нибудь отдельную программу для создания анимации, но не нашел подходящей. Все либо слишком сложно и надо долго разбираться, либо наоборот, просто но малофункционально.

  • @scc-6
    @scc-6 9 месяцев назад

    Я шарпист, но спасибо

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

    Вопрос скорее философский. Если есть LinkedList который позволяет работать с собой как с очередью, так и со стеком, зачем тогда нужны отдельные интерфейсы?

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

      Иногда нужен стек, а иногда очередь. И то и другое может быть реализовано внутри с помощью LinkedList, а может быть с помощью, например, массива. Для алгоритма, который использует стек, без разницы как стек реализован, ему нужен только соответствующий интерфейс. Стек и очередь - это вполне самостоятельные понятия, которые обозначают в первую очередь дисциплину обслуживания: "первый пришел - последний ушел" или "первый пришел - первый ушел" соответственно.

  • @user-sj1qf8cb7h
    @user-sj1qf8cb7h 4 года назад

    У меня вопрос. При реализации стека элемент добавлялся в начало массива, т.е. с нулевым индексом. И оттуда же брался. Если вставлять его в конец массива, и потом брать тоже с конца, есть какая-то разница по производительности, или и так и так работать будет одинаково?

    • @user-cs7yl8ol9l
      @user-cs7yl8ol9l 4 года назад

      так как ArrayList основан на массиве доступ к элементам проходит за время O(1), поэтому разницы никакой

    • @ascar66
      @ascar66 3 года назад

      скорее всего разница будет, если будет достаточно большое объем данный, так как когда мы забираем из начала все элементы массива смещаются на 1 ячейку влево.
      public class Main {
      public static void main(String[] args) {
      ArrayList list = new ArrayList();
      for (int i = 1; i < 10; i++) {
      list.add(i);
      }
      System.out.println("before remove: " + list);
      list.remove(0);
      System.out.println("after remove: " + list);
      }
      }
      before remove: [1, 2, 3, 4, 5, 6, 7, 8, 9]
      after remove: [2, 3, 4, 5, 6, 7, 8, 9]

  • @nazarmyza7292
    @nazarmyza7292 3 года назад

    Почему ArrayList? LinkedList был былучше по производительности.

    • @arhitutorials
      @arhitutorials  3 года назад

      Для очереди или для стека?

    • @nazarmyza7292
      @nazarmyza7292 3 года назад

      @@arhitutorials Я думаю, что в большей степени для очереди, ведь мы кадый раз копируем весь массив когда удаляем с головы элемент. Но и для стека не помешает, если количество его элементво варьируется в большом диапазоне, тогда опять же происходит пересчёт размера массива, который лежит в основе ArrayList.

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

    Друг, так ты из Украины? Приятно удивлён этому 😊

  • @user-zj2sf4yz5u
    @user-zj2sf4yz5u 3 года назад

    Очень интересно, но ничего не понятно))

  • @Awsder_
    @Awsder_ 4 года назад +1

    Спасибо!