Очередь с приоритетом | Кольцевая очередь | Динамические структуры данных #6

  Рет қаралды 48,860

#SimpleCode

#SimpleCode

Күн бұрын

Пікірлер: 65
@SimpleCodeIT
@SimpleCodeIT 6 жыл бұрын
*Cамый лучший способ сказать "спасибо" - поставить лайк и и поделиться уроком с друзьями. Это очень мотивирует создавать полезные уроки =)*
@maksimshekhunov4079
@maksimshekhunov4079 6 жыл бұрын
Наверное уже поздно задавать вопросы по этой теме, но всё же: Ты говорил, что нельзя работать с данными внутри очереди, однако тут ты демонстрируешь, как просто берёшь и исключаешь данные из середины очереди, вставляешь туда новые данные. Я не понял этого момента, можешь объяснить?
@konstantinsavenkov353
@konstantinsavenkov353 6 жыл бұрын
Макс Шехунов возможно имелось ввиду, что сами данные (узлы) лучше не менять, а очередь модифицировать можно. Кстати, почему всё-таки узлы нельзя менять для меня вопрос. Например, если список хранит информацию о процессе и какой-то процесс завершает работу в отведенное ему время, но задачу он не решил, то информация о процессе сохраняется в узел. Вот и происходит модификация, ведь мы старые данные о процессе перезаписываем новыми. А потом этот процесс опять отправляется на выполнение, но теперь он полностью завершает работу и просит ОС завершить данный процесс. И одно из действий по завершению процесса будет удаление его из данной очереди выполняющихся процессов. Вот и модификация самой очереди. Может быть он оговорился, что нельзя модифицировать очередь?
@SimpleCodeIT
@SimpleCodeIT 6 жыл бұрын
#очередьсприоритетом #кольцеваяочередь #SimpleCode #урокипрограммирования
@alexeygrigorev4317
@alexeygrigorev4317 6 жыл бұрын
Пробел после шарпа убери, а то хештег не засчитает, миллиарды зрителей и не узнают о тебе))
@veter4699
@veter4699 6 жыл бұрын
СПАСИБО ЗА ТРУД!!! ♥♥♥
@vladimirpirogov1336
@vladimirpirogov1336 2 жыл бұрын
Сергей, спасибо Вам за Ваши уроки, досматриваю плейлист "на одном дыхании"! Но позволю себе немного отрицательной обратной связи. В предыдущем видео Вы рассказали, что очередь строится на основе двусвязного списка потому что используются достоинства последнего и "не выстреливают" недостатки. А в этом, внезапно, говорите про упорядочивание элементов в очереди, т.е. двусвязном списке. После просмотра не сформировалось целостной картины. Предполагаю, что решается несколькими очередями (на иллюстрации одна). С уважением!
@KurpatovInstagram
@KurpatovInstagram 6 жыл бұрын
Спасибо!
@Ermine882
@Ermine882 6 жыл бұрын
Спасибо за урок.
@slimbdeful
@slimbdeful 6 жыл бұрын
Понятно и наглядно - как обычно. Спасибо за урок, Сергей. Очень хотелось бы послушать и посмотреть о dll. Что как и откуда.
@moonrider8697
@moonrider8697 6 жыл бұрын
Спасибо за урок
@SimpleCodeIT
@SimpleCodeIT 6 жыл бұрын
Пожалуйста!
@overdoses1794
@overdoses1794 6 жыл бұрын
Спасибо за старания!
@АлександрКиселев-е2г
@АлександрКиселев-е2г 4 жыл бұрын
Большое спасибо )
@NikolayForostiy
@NikolayForostiy 5 жыл бұрын
Вообще интересно какая реализация очереди с приоритетом наиболее трудоспособная. Я думаю о N-нарном дереве с кольцевой очередью, для каждого приоритета.
@ПавелБойко-ь2д
@ПавелБойко-ь2д 3 жыл бұрын
Сама логика понятна , но только не понятно зачем я это узнал 0.0 Спасибо за урок)
@Diadema566
@Diadema566 2 жыл бұрын
А зачем ты это смотрел?🤔
@stensej6841
@stensej6841 4 жыл бұрын
Спасибо Сергей !
@HugoBossKosta
@HugoBossKosta 2 жыл бұрын
спасибо за интересные доп уроки)
@ИринаИрина-ш5ы7р
@ИринаИрина-ш5ы7р Жыл бұрын
Всё понятно!
@Diadema566
@Diadema566 2 жыл бұрын
Шикарные уроки! Жаль, что мало( мне си не нужно, а вот такие общин вещи очень интересны
@TheDavBag
@TheDavBag Жыл бұрын
при выпуске элементов на приоритетном исключении надо бы иметь счетчик вхождения по приоритетам, ведь мы ищем по приоритету M но не знаем сколько еще элементов в N их множестве если счетчика нет, то придется доходить до конца очереди постоянно
@АртемПольщак
@АртемПольщак 3 жыл бұрын
Видео зачет, очень помогло)
@MD-999_1
@MD-999_1 11 күн бұрын
Пример для новичка получился немного запутанным с приоритетами потому что ранее говорилось что доступ в очереди есть только к началу и к концу, а в иллюстрации в самой структуре очереди вы вытаскиваете элементы очереди в середине для исключения)) немного запутался
@whoami-iamred
@whoami-iamred 5 жыл бұрын
Очередь с приоритетом с предварительной сортировкой, конечно же, лучше, т.к. быстрее. При этом начинать поиск последнего элемента с наивысшим приоритетом лучше начиная с начала.
@Kokurorokuko
@Kokurorokuko 2 жыл бұрын
Почему быстрее? Просто в разных местах проверка происходит.
@temuriyali252
@temuriyali252 6 жыл бұрын
Krasavchik
@konstantinsavenkov353
@konstantinsavenkov353 6 жыл бұрын
Спасибо за видео, не слышал про такую структуру данных (кольцевая очередь с приоритетом). Однако разве не проще иметь N обычных очередей, где N - количество приоритетов. У очереди с приоритетом есть один минус, как мне кажется. Если в очереди есть только элементы с минимальным приоритетом, то нужно сначала пройтись от начала и до конца списка, пытаясь найти элементы с приоритетом 1. Затем опять пройтись сначала, пытаясь найти элементы 2 и только потом обработан мы самый первый элемент списка, так как кроме 3-его приоритета нет ничего. Можно конечно во время прохода пересчитать количество элементов с разными приоритетами. И если нет элементов с 2-ым, то сразу выполнять 3-ий. Однако мне кажется, что это сильно усложняет алгоритм обработки элементов данной структуры. 3 очереди, где в каждой элементы своего приоритета выглядят намного проще.
@АндрейКузнецов-ц9д
@АндрейКузнецов-ц9д 6 жыл бұрын
Но почему бы вам не завести счетчики элементов для каждого приоритета и исходя из их текущих значений принимать решение о поиске
@konstantinsavenkov353
@konstantinsavenkov353 6 жыл бұрын
Андрей Кузнецов эту информацию нужно ведь где-то хранить. Допустим, что мы будем хранить эту информацию в структуре. Исходя из того, что очередь вся состоит из одного типа Node, где переменная-указатель хранит адрес другого такого Node, то хранить эту информацию в самой структуре не имеет смысла, так как будет дублирование информации. Получается, что нужна какая-то дополнительная структура PriorityQueue которая будет иметь поля дополнительной информации и собственно сам список. В принципе данные будут собраны в одном месте и логика тоже. Возможно это дело вкуса. В каких-то задачах лучше все данные хранить в одном таком списке, а в каких-то в разных.
@АндрейКузнецов-ц9д
@АндрейКузнецов-ц9д 6 жыл бұрын
Ну если проводить аналогию с реализацией односвязного списка, мы хранили количество элементов Size в самом классе List, Node у нас был приватным классом в классе List, соответственно (проводя аналогию с односвязным списком) мы заводим дополнительно 3 поля класса List priority1, priority2 и priority3 и там храним количество элементов каждого приоритета ну и при поиске смотрим в эти поля и определяемся где нам надо искать (если допустим priority1 = 0, priority2 = 0 то можно сразу начинать с 3 приоритета не тратя время на остальное)
@АндрейКузнецов-ц9д
@АндрейКузнецов-ц9д 6 жыл бұрын
Сергей подскажите пожалуйста, получается в кольцевой очереди у нас всегда строго определенное количество элементов? или мы все же можем вставлять туда элементы? если да, то куда? ну и соответственно наверное удалять их не имеет смысла.
@mykhailomorhal2181
@mykhailomorhal2181 6 жыл бұрын
Спасибо
@Vlad_Ofitserov
@Vlad_Ofitserov Жыл бұрын
Дякую!
@forgwent
@forgwent 5 жыл бұрын
так в предыдущем уроке говорилось,что очередь предполагает доступ к первому и последнему элементу только,как можно выбрать элемент из середины?
@stepanbazrov6330
@stepanbazrov6330 4 жыл бұрын
Это абстракция для программиста видимо. Так как внутри двусвязный список, то можно
@skarty7672
@skarty7672 5 ай бұрын
при просмотре сразу возникает вопрос к реализацие, почему не сделать 3(количество уровней приоретета) очереди в одном классе, и работать с ними как с обычными, сортируя перед добавлением, и добавляя в нужную очередь, и доставать по логике если пустой то проверять следующий уровень на пустоту и доставать, если пустой то идти дальше по сути это вектор/просто массив(смотря от задачи, но скорее всего количество уровней приоретета или не будет или очень редко будет меняться) из очередей только ограниченный для пользователя, мне кажется это может быть проще в реализауии, и более эффективно в работе?
@aleksandaralavantic181
@aleksandaralavantic181 6 жыл бұрын
Не является ли бинарная куча лучшим подходом, чем эти которые вы упомянули?
@ПавелКостюченко-з1ц
@ПавелКостюченко-з1ц 6 жыл бұрын
Привет, ты говорил что проще изучать программирование делая какой-то проект, можешь ли ты привести примеры таких проектов и посоветовать сборники задач для изучения программирования.
@konstantinsavenkov353
@konstantinsavenkov353 6 жыл бұрын
Павел Костюченко собственно проект может абсолютно каким угодно. Хоть тетрис, хоть домашний менеджер файлов, напоминалка, архиватор, программа по выкачиванию фильмов, да хоть ОС какая-нибудь. Проект может быть каким угодно, главное чтобы он был интересен разработчику.
@askhat1654
@askhat1654 5 жыл бұрын
Добрый день. Не могли бы подсказать? Реализация данной структуры данных на примере библиотеки из C# or Java?
@andykharikhanov7325
@andykharikhanov7325 6 жыл бұрын
А как правильно удалять visual studio и его надо скачивать только на диск С?
@alexshyshkov3919
@alexshyshkov3919 6 жыл бұрын
а будут видео по STL???)
@SimpleCodeIT
@SimpleCodeIT 6 жыл бұрын
+Alex Shyshkov будут
@bossmusa9075
@bossmusa9075 4 жыл бұрын
7:30
@alder_hev
@alder_hev Жыл бұрын
схемы конечно понятные, но хорошо было бы и на код посмотреть. как задавать этот приоритет например
@nika7149
@nika7149 2 жыл бұрын
Получается, нам нужно перебрать все элементы очереди, чтобы узнать, что элементов с более высоким приоритетом не осталось? То есть пройтись по всей очереди, убедиться, что элементы с приоритетом 1 закончились, только тогда можно браться за элементы с приоритетом - 2.
@lightseeker745
@lightseeker745 Жыл бұрын
получается так)
@nikitasuyazov2060
@nikitasuyazov2060 5 ай бұрын
То есть по сути есть 3 очереди, каждая из которых по приоритету стоит в одной большой очереди? Сначала очередь с элементами "1", потом "2" и т.д.
@justfullscale
@justfullscale 6 жыл бұрын
Зеленые - инвалиды, синие - беременные, красные - обычные люди :)
@tapirskiy
@tapirskiy 5 жыл бұрын
зеленые чисто за сижками пришли
@kaynsolo
@kaynsolo 6 жыл бұрын
Like!
@asankod8549
@asankod8549 3 жыл бұрын
1 это Бабка 2 это Я только спрошу 3 это Злой Я XD
@lebedead
@lebedead 3 жыл бұрын
мне одному показалось что голос Сергея похож на голос ValeraGhost который обзоры игр делает?
@s.question2012
@s.question2012 6 жыл бұрын
Здравствуйте. У меня один вопрос возник, никак не могу найти ответ, можете помочь? Если у нас есть например односвязный циклический список, то как мы можем узнать первый и последний эелементы, если скажем получили доступ с середины списка ? Не могу найти ответ, а сам не понимаю ка сделать. Ведь последний элемент будет всегда указывать на первый. Могу определить только цикличен ли список или нет, а вот найти первый и последний не понимаю как буду очень благодарен за помощь
@МаксимБеликов-ы8г
@МаксимБеликов-ы8г 6 жыл бұрын
Не очень понял, что вы хотите, я думаю надо создать два указателя, на первый и последний элементы
@memorylearn8566
@memorylearn8566 4 жыл бұрын
+
@OleksandraShubovych
@OleksandraShubovych 3 жыл бұрын
кто эти люди которые ставят дизлайки?
@alexandraneverova4228
@alexandraneverova4228 3 жыл бұрын
Австралийцы, они так лайки ставят просто
@izvarzone
@izvarzone 2 жыл бұрын
я не знал, что в фотошопе есть Line Tool.
@yrikfirex_zxv1664
@yrikfirex_zxv1664 4 жыл бұрын
топпппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппп
@andreifokin311
@andreifokin311 2 жыл бұрын
Музыка на заднем плане (хоть и хорошая) очень сильно отвлекает
@Никита-с9г
@Никита-с9г 8 ай бұрын
Иди нах.уй единственное хорошее что есть в его видео музыка
@DD0S2
@DD0S2 3 жыл бұрын
спасибо
@ВітяКоміссаров
@ВітяКоміссаров 2 жыл бұрын
спасибо
Лекция 8. Приоритетные очереди
1:12:58
Computer Science Center
Рет қаралды 2,1 М.
It’s all not real
00:15
V.A. show / Магика
Рет қаралды 20 МЛН
REAL or FAKE? #beatbox #tiktok
01:03
BeatboxJCOP
Рет қаралды 18 МЛН
小丑教训坏蛋 #小丑 #天使 #shorts
00:49
好人小丑
Рет қаралды 54 МЛН
Бесплатный Курс: Математика машинного обучения. Тензоры
25:25
Обучающие ресурсы для айти, гайды, разбор кода.
Рет қаралды 327
C# Стек и Куча | Stack and Heap | Часть 1
11:02
Структуры данных в JavaScript | Odessa Frontend Meetup #13
43:08
Odesa Frontend Community
Рет қаралды 24 М.
Очередь с приоритетами: реализация на двоичной куче
16:21
Олимпиадное программирование в УлГТУ
Рет қаралды 4,7 М.
C# Delegates Делегаты
18:14
codaza
Рет қаралды 92 М.
It’s all not real
00:15
V.A. show / Магика
Рет қаралды 20 МЛН