Java. Очередь и стек.
HTML-код
- Опубликовано: 7 сен 2024
- В данном видео содержится обзор таких структур данных как очередь и стек. Разбираем, что такое стек и очередь, их виды, как они работают и как устроены. Так же привожу примеры их использования, для того чтобы составить целостное представление, какую роль играют данные структуры, и в каких областях применяются при разработке программного обеспечения.
Исходники здесь:
github.com/Arh...
Поддержать канал💰:
yoomoney.ru/to...
#ArhiTutorialsJava #ityoutubersru
Очень хорошо, что в уроке озвучены реальные примеры использования стека и очереди. Спасибо за видео!
Круто! Взахлёб смотрела видео! Many thanks!
Сергей, спасибо большое. Объясняете лучше чем преподаватель. Плюс ко всему графическое пояснение того, что говорите
Спасибо большое, у Вас призвание учить.
Сергей, спасибо за это видео, понятно и доходчиво объясняете, после просмотра хочется еще смотреть ваши видео!
Спассибо вам большое за подробный разбор данной темы
Awesome Work.
Какое прекрасное объяснение! Еще и с практическими примерами! Очень круто!
очень доступно и профессионально !!!!
Спасибо за подробное объяснение!
Захотелось посмотреть и другие ваши видео
Здравствуйте. Мне очень понравилась подача материала) Благодарю.
Спасибо, очень интересные видео!
Спасибо, помогло в учении
Отличное объяснение. Большое спасибо!
отличный контент
Спасибо за видео! Очень интересно и понятно объяснено!
Супер, спасибо.
Отличный урок, спасибо очень помогло вникнуть в тему
Досмотрел! красавчик! шикарно пояснил все!!!
Крутое объяснение! Спасибо!
Отлично!
Огромное спасибо за уроки! Себе в избранное и другим буду рекомендовать.
Спасибо за видео)
очень интересно рассказываете! лайк
Сергей, прекрасная подача материала. Лайк, подписка однозначно.
Очень классно обьясняете с примерами. Спасибо
Спасибо!
Просто лучший) спасибо
Класс! Спасибо вам большое за объяснение.
Круто! очень информативно и интересно)большое спасибо
Спасибо вам огромное!
Топчик!
Очень интересные темы.
Thanks
Спасибо, очень круто и качественно!)
Слишком хорошо, чтобы быть правдой. Я сплю или я нашел лучшего учителя.
2022 актуально. Спасибо!
Спасибо
очень понятно
1:09 На рисунке Очередь. Добавляется элемент в начало, уходит из конца.
1:24 звучит фраза, что добавляем в конец, а забираем из начала очереди.
🤗🤭🤭
Нормас)
Спасибо большое за материал! Очень все доступно! Только у меня вопрос, не нужно ли в последнем примере останавливать треды?
Сами они не остановятся, надо останавливать. Но это отдельная история, не зря я про это отдельное видео записал:
ruclips.net/video/K2QOWJp_IQU/видео.html
@@arhitutorials спасибр большое!
Большое спасибо за вашу работу. Подскажите, не вогоднее ли было использовать LinkedList вместо ArrayList? Т.к. доступ к первому или последнему элементу будет у обех структур за константное время, а вот увеличение емкости массива в ArrayList, при максимальном его заполнении, может ухудшить сложность.
Теоретически да.
Всем привет! Сделал группу в Telegram, для обсуждения канала, вопросов, и прочего:
t.me/ArhiTutorials
Кому интересно, добавляйтесь)
Сергей, Вы принимали участие в создании приложения НОГОТОЧКИ????
Спасибо за урок! Почему веб разработчику не нужно знать про стек ?))) Например какой нить шаблонизатор для сервер сайд рендеринга юзает стек:)) про такую классику как стек и очередь также связанные списки должен знать каждый программист хотяб понимать как это работает :)
Я просто видел таких веб разработчиков, которые не знают про стек. И ничего, верстают норм)
Но я конечно согласен, базу каждый должен знать.
Если не секрет, скажите пожалуйста, при помощи чего (каких технологий) вы делаете графическии анимации к этому видео ?
Делаю там же, где и все видео монтирую - в Davinci Resolve. Искал какую-нибудь отдельную программу для создания анимации, но не нашел подходящей. Все либо слишком сложно и надо долго разбираться, либо наоборот, просто но малофункционально.
Я шарпист, но спасибо
Вопрос скорее философский. Если есть LinkedList который позволяет работать с собой как с очередью, так и со стеком, зачем тогда нужны отдельные интерфейсы?
Иногда нужен стек, а иногда очередь. И то и другое может быть реализовано внутри с помощью LinkedList, а может быть с помощью, например, массива. Для алгоритма, который использует стек, без разницы как стек реализован, ему нужен только соответствующий интерфейс. Стек и очередь - это вполне самостоятельные понятия, которые обозначают в первую очередь дисциплину обслуживания: "первый пришел - последний ушел" или "первый пришел - первый ушел" соответственно.
У меня вопрос. При реализации стека элемент добавлялся в начало массива, т.е. с нулевым индексом. И оттуда же брался. Если вставлять его в конец массива, и потом брать тоже с конца, есть какая-то разница по производительности, или и так и так работать будет одинаково?
так как ArrayList основан на массиве доступ к элементам проходит за время O(1), поэтому разницы никакой
скорее всего разница будет, если будет достаточно большое объем данный, так как когда мы забираем из начала все элементы массива смещаются на 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]
Почему ArrayList? LinkedList был былучше по производительности.
Для очереди или для стека?
@@arhitutorials Я думаю, что в большей степени для очереди, ведь мы кадый раз копируем весь массив когда удаляем с головы элемент. Но и для стека не помешает, если количество его элементво варьируется в большом диапазоне, тогда опять же происходит пересчёт размера массива, который лежит в основе ArrayList.
Друг, так ты из Украины? Приятно удивлён этому 😊
Очень интересно, но ничего не понятно))
Спасибо!