Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Data Structures and Algorithms in C++ 2e (На ру...docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.37 Mб
Скачать

13.6. Минимальные деревья охвата 653

(e) (f)

(g) (h)

(i) (j)

Рисунок 13.22: Чопорный-Jarn'k алгоритм ПО СТАНДАРТНОМУ ГОРНОМУ ВРЕМЕНИ. (Продолженный от рисунка 13.21.) ı

654 Глава 13. Алгоритмы графа

13.7 Упражнения

Для помощи с упражнениями, пожалуйста, посетите веб-сайт, www.wiley.com/college/goodrich. <www.wiley.com/college/goodrich>

Укрепление

R-13.1 Потяните простой ненаправленный граф G, у которого есть 12 вершин, 18 краев, и 3

связанные компоненты. Почему было бы невозможно потянуть G с 3 связанными компонентами, если бы у G было 66 краев?

R-13.2 Потяните список смежности и представление матрицы смежности undi-

граф rected, показанный в рисунке 13.1.

R-13.3 Потяните простой связанный направленный граф с 8 вершинами и 16 краями такой

то, что в степени и-степень каждой вершины равняются 2. Покажите, что есть единственный (непростой) цикл, который включает все края Вашего графа, то есть, Вы можете проследить все края в их соответствующих направлениях, никогда не снимая Ваш карандаш. (Такой цикл называют туром Эйлера.)

R-13.4 Повторите предыдущую проблему и затем удалите один край из графа.

Покажите, что теперь есть единственный (непростой) путь, который включает все края Вашего графа. (Такой путь называют путем Эйлера.)

R-13.5 Боб любит иностранные языки и хочет запланировать его график курса

следующие годы. Он интересуется следующими девятью языковыми курсами: LA15, LA16, LA22, LA31, LA32, LA126, LA127, LA141 и LA169. Предпосылки курса:

LA15: (ни один)

LA16: LA15 LA22: (ни один) LA31: LA15 LA32: LA16, LA31 LA126: LA22, LA32 LA127: LA16 LA141: LA22, LA16 LA169: LA32

Найдите последовательность курсов, которая позволяет Бобу удовлетворять весь prerequi-

места.

R-13.6 предположим мы представляем граф G имеющий n вершины и m края с

структура списка края. Да ведь в этом случае insertVertex функционирует пробег в O (1) время, в то время как eraseVertex функционируют пробеги в O (m) время?

13.7. Упражнения 655

R-13.7 Позвольте G быть графом, вершины которого - целые числа 1 - 8 и позволяют

смежные вершины каждой вершины быть данным столом ниже:

Вершина

12345678

Смежные вершины

(2, 3, 4) (1, 3, 4) (1, 2, 4)

(1, 2, 3, 6)

(6, 7, 8) (4, 5, 7) (5, 6, 8)

(5, 7)

Предположите, что в пересечении G смежные вершины данной вершины возвращены в том же самом заказе, как они перечислены в столе выше.

a. Потяните G. b. Дайте последовательность вершин G, который посещают, используя пересечение DFS

старт в вершине 1.

c. Дайте последовательность вершин, которые посещают, используя пересекающийся старт BFS

в вершине 1.

R-13.8 Пожалуйста используйте структуру списка смежности или матрицу смежности struc-

ture в каждом из следующих случаев? Оправдайте свой выбор.

a. У графа есть 10 000 вершин и 20 000 краев, и это важно

использовать как можно меньше пространство.

b. У графа есть 10 000 вершин и 20 000 000 краев, и это - im-

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

c. Вы должны ответить на вопрос isAdjacentTo максимально быстро, нет

имейте значение, сколько пространства Вы используете.

R-13.9 Объясните, почему пересечение DFS управляет в O (n2) временем на простой n-вершине

граф, который представлен со структурой матрицы смежности. R-13.10 Потяните переходное закрытие направленного графа, показанного в рисунке 13.2. R-13.11, Вычисляют топологический заказ для направленного графа, оттянутого с телом

края в рисунке 13.8 (d). R-13.12 Могут мы использовать очередь вместо стека как вспомогательная структура данных в

топологический алгоритм сортировки, показанный в Кодовом Фрагменте 13.23? Почему или почему нет?

R-13.13 Потяните простой, связанный, взвешенный граф с 8 вершинами и 16 краями,

каждый с уникальными весами края. Идентифицируйте одну вершину как вершину «начала» и иллюстрируйте управление алгоритмом Дейкстры на этом графе.

R-13.14 Покажите, как изменить псевдокодекс для алгоритма Дейкстры для случая

когда граф может содержать параллельные края и самопетли.

656