![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Упражнения. > 22.116.Вычислите максимальный поток с ассоциированным с ним допустимым остов ным деревом для транспортной сети
> 22.116. Вычислите максимальный поток с ассоциированным с ним допустимым остов > 22.117. Реализуйте функцию dfsR для программы 22.14. о 22.118. Реализуйте функцию, которая удаляет циклы из частично заполненных деревьев из заданного сетевого потока и строит допустимое остовное дерево для итогового потока, как показано на рис. 22.44. Упакуйте созданную функцию таким образом, чтобы ее можно было использовать для построения исходного дерева в программе 22.14 или в программе 22.15. 22.119. В примере, представленном на рис. 22.46, покажите, как отразится на таблицах потенциалов смена на обратную ориентации ребра, соединяющего вершины 6и 5. о 22.120. Постройте транспортную сеть и покажите такую последовательность аугментальных ребер, что общий сетевой симплексный алгоритм не останавливается. > 22.121. Покажите в стиле рис. 22.47 процесс вычисления потенциалов дерева с кор ИЛИ, Покажите в стиле рис. 22.50 процесс вычисления максимального потока минимальной стоимости в транспортной сети, изображенной на рис. 22.10, отправляясь от базового максимального потока и связанного с ним базового остовного дерева, о котором шла речь в упражнении 22.116. о 22.123. Предположим, что все недревесные ребра пусты. Напишите функцию, которая вычисляет потоки в древесных ребрах, помещая поток в ребре, соединяющем вершину v с ее родителем в дереве, в v-й элемент вектора flow. о 22.124. Выполните упражнение 22.123 для случая, когда некоторые недревесные ребра могут оказаться заполненными. 22.125. Воспользуйтесь программой 22.12 в качестве основы для построения алгоритма 22.126. Опишите, какие изменения потребуется внести в программу 22.15, чтобы она 22.127. Модифицируйте полученное вами решение в упражнении 22.126 таким обра 22.128. Внесите в приватные функции-элементы из данного раздела такие изменения, Глава 22. Потоки в сетях
о 22.129. Внесите в приватные функции-элементы из данного раздела такие изменения, которые, в дополнение к базовому вектору дерева родительских связей, позволили бы поддерживать два других вектора, индексированные именами вершин: один из них содержит расстояние каждой вершины до корня, а другой вектор — потомка каждой вершины при поиске в глубину (DFS). Используемые вами функции, обеспечивающие наращивание потока в циклах и подстановку подходящего ребра вместо древесного ребра, должны выполняться за время, пропорциональное продолжительности цикла наращивания потока, а функции, вычисляющие потенциалы, должны выполняться за время, пропорциональное размеру меньшего из двух поддеревьев, которые образуются в результате удаления древесного ребра. • 22.130. Проведите исследование идеи использования обобщенной очереди подходя • 22.131. Выполните эмпирические исследования с целью определить число итераций, • 22.132. Напишите клиентскую программу, которая выполняет графическую анимацию
|