Смекни!
smekni.com

Применение теории графов в информатике 2 (стр. 3 из 4)

Для матрицы смежности n(p,q) = O(p2).

Замечание

Матрица смежности неориентированного графа симметрична относительно главной диагонали, поэтому достаточно хранить только верхнюю (или нижнюю) треугольную матрицу.

1.4.3 Матрица инциденций

Представление графа с помощью матрицы H, отражающей инцидентность вершин и ребер, называется матрицей инциденций, где для неориентированного графа

а для орграфа

Для матрицы инциденций n(p,q) = O(pq).

1.4.4 Списки смежности

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

N : record v : 1..p; n :↑ N end record,

называется списком смежности. В случае представления неориентированных графов списками смежности n(p,q) = O(p+2q), а в случае ориентированных графов n(p,q) = O(p+q).

1.4.5 Массив дуг

Представление графа с помощью массива структур

E : array [1..q] of record b,e : 1..p end record,

отражающего список пар смежных вершин, называется массивом ребер (или, для орграфов, массивом дуг). Для массива ребер (или дуг) n(p,q) = O(2q).

1.5 Обзор задач теории графов

Развитие теории графов в основном обязано большому числу всевозможных приложений. По-видимому, из всех математических объектов графы занимают одно из первых мест в качестве формальных моделей реальных систем.[4, стр. 12-15]

Графы нашли применение практически во всех отраслях научных знаний: физике, биологии, химии, математике, истории, лингвистике, социальных науках, технике и т.п. Наибольшей популярностью теоретико-графовые модели используются при исследовании коммуникационных сетей, систем информатики, химических и генетических структур, электрических цепей и других систем сетевой структуры.

Далее перечислим некоторые типовые задачи теории графов и их приложения:

- Задача о кратчайшей цепи

замена оборудования

составление расписания движения транспортных средств

размещение пунктов скорой помощи

размещение телефонных станций

- Задача о максимальном потоке

анализ пропускной способности коммуникационной сети

организация движения в динамической сети

оптимальный подбор интенсивностей выполнения работ

синтез двухполюсной сети с заданной структурной надежностью

задача о распределении работ

- Задача об упаковках и покрытиях

оптимизация структуры ПЗУ

размещение диспетчерских пунктов городской транспортной сети

- Раскраска в графах

распределение памяти в ЭВМ

проектирование сетей телевизионного вещания

- Связность графов и сетей

проектирование кратчайшей коммуникационной сети

синтез структурно-надежной сети циркуляционной связи

анализ надежности стохастических сетей связи

- Изоморфизм графов и сетей

структурный синтез линейных избирательных цепей

автоматизация контроля при проектировании БИС

- Изоморфное вхождение и пересечение графов

локализация неисправности с помощью алгоритмов поиска МИПГ

покрытие схемы заданным набором типовых подсхем

- Автоморфизм графов

конструктивное перечисление структурных изомеров для производных органических соединений

синтез тестов цифровых устройств

Заключение

В работе были рассмотрены задачи из теории графов, которые уже стали классическими. Особенно часто в практическом программировании возникают вопросы о построении кратчайшего остова графа и нахождении максимального паросочетания. Известно также, что задача о нахождении гамильтонова цикла принадлежит к числу NP-полных, т.е. эффективный алгоритм для ее решения не найден. Таким образом, задачи теории графов актуальны, так как могут принести экономию времени и средств на производстве и в быту.

2. Практическая часть

2.1. Общая характеристика задачи

Расмотрим следующую задачу:

1. Построить таблицы по приведенным данным о доходах членов семьи (табл. 1, 2) и о расходах семьи (табл. 3) за квартал.

Доходы Чижовой М. А. за 1 квартал 2006 г., руб.
Наименование доходов Сентябрь Октябрь Ноябрь Декабрь
Зарплата 4000 3000 2200 3200
Прочие поступления - 500 - 1000
Сумма дохода в месяц

Таблица 1 Доходы Чижовой М. А. за квартал

Доходы Чижова А. С. за 1 квартал 2006 г., руб.
Наименование доходов Сентябрь Октябрь Ноябрь Декабрь
Зарплата 7200 7000 7500 7400
Прочие поступления 1200 500 500 1000
Сумма дохода в месяц

Таблица 2 Доходы Чижова А. С. за квартал

Расходы семьи Чижовых за 1 квартал 2006 г., руб.
Наименование расходов Сентябрь Октябрь Ноябрь Декабрь
Коммунальные платежи 630 670 700 800
Оплата электроэнергии 100 100 120 120
Оплата телефонных счетов 195 195 195 195
Расходы на питание 2500 2500 2600 3000
Прочие расходы 1000 1000 1500 2000
Погашение кредита 4000 4000 4000 4000
Суммарный расход в месяц

Таблица 3 Расходы семьи Чижовых за квартал

2. Заполнить таблицу 4 числовыми данными о доходах семьи за квартал, выполнив консалидацию по расположению данных.

Доходы семьи Чижовых за 1 квартал 2006 г., руб.
Наименование доходов Сентябрь Октябрь Ноябрь Декабрь
Зарплата
Прочие поступления
Сумма дохода в месяц

Таблица 4 Доходы семьи Чижовых за квартал

3. Составить таблицу планирования бюджета семьи на квартал (табл. 5).

Бюджет семьи Чижовых за 1 квартал 2006 г., руб.
Наименование Сентябрь Октябрь Ноябрь Декабрь
Суммарный доход в месяц
Суммарный расход в месяц
Остаток

Таблица 5 Бюджет семьи Чижовых за квартал

4. По данным о бюджете семьи на квартал (табл. 5) построить гистограмму.

2.2. Описание алгоритма решения задачи

1. Запустить табличный процессор MS Excel.

2. Создать книгу с именем «Бюджет».

3. Лист 1 переименовать в лист с названием Доходы.

4. На рабочем листе ДоходыMSExcel создать таблицы «Доходы Чижовой М. А. за квартал» и «Доходы Чижова А. С. за квартал».

5. Заполнить таблицы доходов исходными данными (рис. 2.1).

Рисунок 2. 1 Расположение таблиц доходов на рабочем листе Доходы MS Excel

6. Лист 2 переименовать в лист с названием Расходы.

7. На рабочем листе Расходы MS Excel создать таблицу расходов семьи Чижовых за квартал.

8. Заполнить таблицу расходов исходными данными (рис. 2.2)

Рисунок 2. 2 Расположение таблиц расходов на рабочем листе Расходы MS Excel

9. Заполнить строку Сумма дохода в месяц таблиц «Доходы Чижовой М. А. за 1 квартал 2006 г., руб.» и «Доходы Чижова А. С. за 1 квартал 2006 г., руб.», находящихся на листе Доходы следующим образом:

Занести в ячейку С6 формулу:

=С4+С5

Размножить введенную в ячейку С6 формулу для остальных ячеек (с С4 по F4 и с С12 по F12) данных строк.

Таким образом будет автоматически подсчитаны суммы дохода в месяц (рис. 2.3).

Рисунок 2. 3 Автоматический подсчет суммы доходов в месяц

10. Заполнить строку Суммарный расход в месяц таблицы «Расходы семьи Чижовых за 1 квартал 2006 г., руб.», находящейся на листе Расходы следующим образом:

Занести в ячейку С10 формулу:

=СУММ(C4:C9)

Размножить введенную в ячейку С10 формулу для остальных ячеек (с С10 по F10) данной строки.

Таким образом будет автоматически подсчитана сумма расхода в месяц (рис. 2.4).

Рисунок 2. 4 Автоматический подсчет суммы расходов в месяц

11. Лист 3 переименовать в лист с названием Итоги.

12. На рабочем листе Итоги MS Excel создать таблицу «Доходы семьи Чижовых за 1 квартал 2006 г., руб.»

13. Заполнить строки Зарплата, Прочие поступления, Сумма дохода в месяц таблицы «Доходы семьи Чижовых за 1 квартал 2006 г., руб.», находящейся на листе Итоги следующим образом:

Занести в ячейку С4 формулу:

=Доходы!C4+Доходы!C10

Размножить введенную в ячейку С4 формулу для остальных ячеек (с С4 по F6) данной таблицы.

Таким образом будут автоматически подсчитана сумма дохода в месяц (рис. 2.5).

Рисунок 2. 5 Автоматический подсчет суммы доходов в месяц

14. На рабочем листе Итоги MS Excel создать таблицу «Бюджет семьи Чижовых за 1 квартал 2006 г., руб.»