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

preview_player
Показать описание
Cамый лучший способ сказать "спасибо" - поставить лайк и и поделиться уроком с друзьями. Это очень мотивирует создавать полезные уроки =)

Очередь как структура данных. Прошлый урок.

✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅
Если вам нравятся мои уроки, вы хотите поддержать меня и развитие канала, то можете сделать это тут!=)

или тут

✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅

Уроки по программированию
Рекомендации по теме
Комментарии
Автор

*Cамый лучший способ сказать "спасибо" - поставить лайк и и поделиться уроком с друзьями. Это очень мотивирует создавать полезные уроки =)*

SimpleCodeIT
Автор

#очередьсприоритетом #кольцеваяочередь #SimpleCode #урокипрограммирования

SimpleCodeIT
Автор

Понятно и наглядно - как обычно. Спасибо за урок, Сергей. Очень хотелось бы послушать и посмотреть о dll. Что как и откуда.

slimbdeful
Автор

Сергей, спасибо Вам за Ваши уроки, досматриваю плейлист "на одном дыхании"! Но позволю себе немного отрицательной обратной связи. В предыдущем видео Вы рассказали, что очередь строится на основе двусвязного списка потому что используются достоинства последнего и "не выстреливают" недостатки. А в этом, внезапно, говорите про упорядочивание элементов в очереди, т.е. двусвязном списке. После просмотра не сформировалось целостной картины. Предполагаю, что решается несколькими очередями (на иллюстрации одна). С уважением!

vladimirpirogov
Автор

Вообще интересно какая реализация очереди с приоритетом наиболее трудоспособная. Я думаю о N-нарном дереве с кольцевой очередью, для каждого приоритета.

NikolayForostiy
Автор

Шикарные уроки! Жаль, что мало( мне си не нужно, а вот такие общин вещи очень интересны

Diadema
Автор

Сама логика понятна, но только не понятно зачем я это узнал 0.0 Спасибо за урок)

odmnnsz
Автор

при выпуске элементов на приоритетном исключении надо бы иметь счетчик вхождения по приоритетам, ведь мы ищем по приоритету M но не знаем сколько еще элементов в N их множестве

если счетчика нет, то придется доходить до конца очереди постоянно

TheDavBag
Автор

Очередь с приоритетом с предварительной сортировкой, конечно же, лучше, т.к. быстрее. При этом начинать поиск последнего элемента с наивысшим приоритетом лучше начиная с начала.

Russian-Stalinist
Автор

Спасибо за видео, не слышал про такую структуру данных (кольцевая очередь с приоритетом). Однако разве не проще иметь N обычных очередей, где N - количество приоритетов. У очереди с приоритетом есть один минус, как мне кажется. Если в очереди есть только элементы с минимальным приоритетом, то нужно сначала пройтись от начала и до конца списка, пытаясь найти элементы с приоритетом 1. Затем опять пройтись сначала, пытаясь найти элементы 2 и только потом обработан мы самый первый элемент списка, так как кроме 3-его приоритета нет ничего. Можно конечно во время прохода пересчитать количество элементов с разными приоритетами. И если нет элементов с 2-ым, то сразу выполнять 3-ий. Однако мне кажется, что это сильно усложняет алгоритм обработки элементов данной структуры. 3 очереди, где в каждой элементы своего приоритета выглядят намного проще.

konstantinsavenkov
Автор

Сергей подскажите пожалуйста, получается в кольцевой очереди у нас всегда строго определенное количество элементов? или мы все же можем вставлять туда элементы? если да, то куда? ну и соответственно наверное удалять их не имеет смысла.

rndziqg
Автор

А как правильно удалять visual studio и его надо скачивать только на диск С?

andykharikhanov
Автор

Добрый день. Не могли бы подсказать? Реализация данной структуры данных на примере библиотеки из C# or Java?

askhat
Автор

при просмотре сразу возникает вопрос к реализацие, почему не сделать 3(количество уровней приоретета) очереди в одном классе, и работать с ними как с обычными, сортируя перед добавлением, и добавляя в нужную очередь, и доставать по логике если пустой то проверять следующий уровень на пустоту и доставать, если пустой то идти дальше

по сути это вектор/просто массив(смотря от задачи, но скорее всего количество уровней приоретета или не будет или очень редко будет меняться) из очередей только ограниченный для пользователя, мне кажется это может быть проще в реализауии, и более эффективно в работе?

skarty
Автор

Не является ли бинарная куча лучшим подходом, чем эти которые вы упомянули?

aleksandaralavantic
Автор

так в предыдущем уроке говорилось, что очередь предполагает доступ к первому и последнему элементу только, как можно выбрать элемент из середины?

forgwent
Автор

Привет, ты говорил что проще изучать программирование делая какой-то проект, можешь ли ты привести примеры таких проектов и посоветовать сборники задач для изучения программирования.

vlsjzov
Автор

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

alder_hev
Автор

Получается, нам нужно перебрать все элементы очереди, чтобы узнать, что элементов с более высоким приоритетом не осталось? То есть пройтись по всей очереди, убедиться, что элементы с приоритетом 1 закончились, только тогда можно браться за элементы с приоритетом - 2.

nika
Автор

Здравствуйте. У меня один вопрос возник, никак не могу найти ответ, можете помочь?
Если у нас есть например односвязный циклический список, то как мы можем узнать первый и последний эелементы, если скажем получили доступ с середины списка ?
Не могу найти ответ, а сам не понимаю ка сделать. Ведь последний элемент будет всегда указывать на первый. Могу определить только цикличен ли список или нет, а вот найти первый и последний не понимаю как
буду очень благодарен за помощь

s.question