|
0 / 0 / 0
Регистрация: 07.11.2012
Сообщений: 17
|
|
Приоритетная очередь22.12.2013, 13:20. Показов 4818. Ответов 4
Метки нет (Все метки)
Добрый день друзья. Нужна ваша помощь в решении одной проблемы.
Суть проблемы в том что я в програмировании еще новичок но задача тяжелая для моего уровня программирования. Поэтому прошу вашей помощи в решении этой задачи ... Нужно построить приоритетную очередь в С + + (консоли ) , чтобы когда мы добавляли или удаляли элементы в очередь ( из очереди ) мы указывали приоритет элемента. И чтобы была возможность вывода информациии об очереди, всмысле обо всех элементах в ней ... ----------------------------------------------------------------------------------------------------------------------- P.S Вот кстати полное условие этой задачи но она как на меня слишком умна ... Большое спасибо за любую указанную помощь ... Приоритетная очередь - это очередь , в которой важно не то , кто стал последним (порядок перемещения в ней не играет роли) , а кто главнее. Более точно , при помещении в очередь указывается приоритет объекта помещается ( будем считать приоритеты целыми числами) , а при получении из очереди выбирается элемент с наибольшим приоритетом ( или один из таких элементов) . Реализовать приоритетную очередь так , чтобы помещение и получения элемента требовали логарифмического числа действий (от размера очереди) . Указания к решению . Согласно алгоритма сортировки деревом (в его окончательном варианте ) , будем размещать элементы очереди в массиве x [ 1 ] .. x [ k ] , поддерживая такое свойство : x [i] старше ( имеет больший приоритет) своих сыновей x [ 2 и ] и x [ 2 и +1 ] , если таковые существуют - и , следовательно , всякий элемент старше своих потомков. (Ведомости о приоритетах также хранятся в массиве , так что мы имеем дело с массивом пар ( элемент , приоритет) . ) Удаление элемента с сохранением этого свойства описано в алгоритме сортировки. Надо еще уметь восстанавливать свойство после добавления элемента в конец . Это делается так : ****t = номер добавленного элемента ****{ инвариант : в дереве любой предок приоритетнее потомка , ********если этот потомок - не t } ****while t - не корень и t старше своего отца do begin ****| Поменять t с его отцом ****end ; Если очередь образуют граждане , стоящие в вершинах дерева , т.е. за каждым стоит двое , а перед каждым (кроме первого) - один , то смысл этого алгоритма ясен: встав в конец , приоритетный гражданин начинает пробираться к началу , вытесняя тех , кто стоит перед ним - пока не встретит более приоритетного . Замечания. Приоритетное очередь естественно использовать при моделировании процессов , протекающих во времени . При этом элементы очереди - это ожидаемые события , а их приоритет определяется временем , когда они произойдут.
0
|
|
| 22.12.2013, 13:20 | |
|
Ответы с готовыми решениями:
4
Приоритетная очередь и конструктор копии
|
|
118 / 110 / 78
Регистрация: 30.01.2013
Сообщений: 297
|
|
| 22.12.2013, 13:35 | |
|
Вам нужен heapsort (сортировка кучей) - это одна из разновидностей древовидной сортировки
1
|
|
|
0 / 0 / 0
Регистрация: 07.11.2012
Сообщений: 17
|
|
| 22.12.2013, 17:56 [ТС] | |
|
0
|
|
| 22.12.2013, 18:07 | |
|
1
|
|
|
0 / 0 / 0
Регистрация: 07.11.2012
Сообщений: 17
|
|
| 22.12.2013, 18:16 [ТС] | |
|
0
|
|
| 22.12.2013, 18:16 | |
|
Помогаю со студенческими работами здесь
5
Сформировать очередь по файлу целых чисел. Промоделировать очередь в супермаркете Очередь (сделать очередь, чтобы добавляло, удаляло, читало. Не STL.) Дана очередь с вещественными числами, упорядоченными по убыванию. Добавить в очередь среднее арифметическое элементов Задача на очередь (вывод сообщения, что очередь пуста) Очередь, теория. Очередь на шести стеках Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|
Фото: Daniel Greenwood
kumehtar 13.11.2025
|