Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование4172 / Лекции / Лекция 20.Графы.doc
Скачиваний:
54
Добавлен:
12.03.2015
Размер:
150.53 Кб
Скачать

Контрольные вопросы и упражнения

1. Что такое граф? Нарисуйте какой-нибудь неориентированный граф. Есть ли в этом графе циклы?

2. Приведите пример орграфа. Определите степень этого орграфа и степень каждой его вершины.

3. Что такое путь между двумя вершинами графа? Какой граф является связным?

4. Какой граф называется размеченным и какой – взвешенным?

5. Нарисуйте матрицу смежности для орграфа на рис. 20.1.в. Как по матрице смежности определить преемников и предшественников заданной вершины?

6. Дан орграф в виде матрицы смежности и количества вершин. Опишите функцию определения степени заданной вершины. Приведите пример вызова этой функции.

7. Дан граф в виде матрицы смежности и количества вершин. Опишите функцию вывода номеров вершин со степенью 4. Приведите пример вызова этой функции.

8. Нарисуйте матрицу инцидентности для графа на рис. 20.1.а. Как по матрице инцидентности определить степень каждой вершины и степень графа?

9. Дан орграф в виде матрицы инцидентности, числа вершин и числа ребер. Опишите функцию вывода номеров вершин, имеющих петли. Приведите пример вызова этой функции.

10. Дан орграф в виде матрицы инцидентности, числа вершин и числа ребер. Опишите функцию вывода числа предшественников каждой вершины. Приведите пример вызова этой функции.

Выполнение контрольных заданий

1. Получите у преподавателя индивидуальное задание.

2. Составьте программу на языке С и подберите тесты для проверки программы на компьютере.

3. Отладьте программу на компьютере.

5. Оформите и сдайте отчет.

Контрольные задания

1. Задан граф в виде количества вершин n<=10 и последовательности ребер (каждое ребро задается парой смежных вершин). Получить матрицу смежности.

а) Напечатать матрицу смежности. Проверить, есть ли в графе петли.

б) Напечатать матрицу смежности. Проверить, есть ли в графе вершины, не смежные с другими.

в) Напечатать для каждой вершины номера смежных вершин.

г) Проверить, есть ли в графе вершина, смежная со всеми другими вершинами.

д) Определить степень каждой вершины графа.

е) Напечатать номера вершин со степенью 1.

ж) Определить степень графа (максимальную степень его вершин).

2. Задан орграф в виде количества вершин n<=10 и последовательности дуг (дуга задается парой “предшественник преемник”).

а) Напечатать номера вершин, имеющих более двух преемников.

б) Напечатать номера вершин, не имеющих предшественников.

в) Для каждой вершины напечатать номера всех предшественников.

г) Проверить, есть ли в графе вершины, имеющие только одного преемника.

3. Задан орграф в виде количества вершин n<=10 и матрицы смежности.

а) Напечатать номера вершин, имеющих и предшественников и преемников.

б) Напечатать список дуг орграфа в виде: v1 –> v2, где v1 – предшественник, v2 – преемник.

в) Напечатать номер вершины, имеющей наибольшее число преемников.

г) Определить число вершин, соединенных дугами в обоих направлениях.

4. Задан граф в виде количества вершин n<=7, количества ребер k<=28 и матрицы инцидентности.

а) Для каждой вершины напечатать список инцидентных ей ребер.

б) Определить степень каждой вершины графа.

в) Проверить, есть ли вершины со степенью 0.

г) Определить число вершин, инцидентных только одному ребру.

д) Определить наибольшее число смежных между собой ребер, инцидентных одной и той же вершине.

е) Проверить, есть ли в графе петли.

210