Реализация основных операций над графами, представленных в виде матриц смежностей

Автор: Пользователь скрыл имя, 03 Апреля 2011 в 18:46, курсовая работа

Описание работы

Первая работа по теории графов, принадлежащая известному швейцарскому математику Л. Эйлеру, появилась в 1736 г. Толчок к развитию теория графов получила на рубеже ХIX и ХХ столетий, когда резко возросло число работ в области топологии и комбинаторики, с которыми ее связывают самые тесные узы родства. Графы стали использоваться при построении схем электрических цепей и молекулярных схем. Как отдельная математическая дисциплина теория графов была впервые представлена в работе венгерского математика Кенига в 30-е годы ХХ столетия.

Содержание

ЗАДАНИЯ. - 2 -
РЕФЕРАТ - 3 -
СОДЕРЖАНИЕ. - 4 -
ВВЕДЕНИЕ - 5 -
1 РАЗРАБОТКА ПРОГРАММЫ ДЛЯ РЕАЛИЗАЦИИ ГРАФА. - 6 -
1.1 АНАЛИЗ МАТЕМАТИЧЕСКИХ ТРЕБОВАНИЙ. - 8 -
1.2 КОДИРОВАНИЕ. - 18 -
1.3 ТЕСТИРОВАНИЕ. - 19 -
ЗАКЛЮЧЕНИЕ. - 21 -
ПРИЛОЖЕНИЕ А. - 22 -
ПРИЛОЖЕНИЕ Б. - 23 -
ПРИЛОЖЕНИЕ В. - 28 -
СПИСОК ЛИТЕРАТУРЫ: - 32 -

Работа содержит 1 файл

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ.doc

— 1.53 Мб (Скачать)

            cout<<"// 5.Добавить вершину в матрицу А.  //\n";

            cout<<"// 6.Удалить вершину из матрицы A.   //\n";

            cout<<"// 7.Вывод объединения А и B.        //\n";

            cout<<"// 8.Вывод дополнения  А.            //\n";

            cout<<"// 9.Выход...                        //\n";

            cout<<"///////////////////////////////////////\n";

            cin>>n;

            switch(n)

            {

            case 1:cout<<"Ведите вершины.\n";

                  cin>>from>>to;

                  from--;to--;

                  a.addArc(from,to);

                  a.PrintMatrix();break; 

            case 2:cout<<"Ведите вершины.\n";

                  cin>>from>>to;

                  from--;to--;

                  a.deleteArc(from,to);

                  a.PrintMatrix();break;

            case 3:cout<<"Ведите вершины.\n";

                  cin>>from>>to;

                  from--;to--;

                  b.addArc(from,to);

                  b.PrintMatrix();break;

            case 4:

                  cout<<"Ведите вершины.\n";

                  cin>>from>>to;

                  from--;to--;

                  b.deleteArc(from,to);

                  b.PrintMatrix();break;

            case 5:cout<<"Ведите вершину.\n";

                  cin>>vertex;

                  //vertex--;

                  a.addNode(vertex);

                  a.PrintMatrix();break;

            case 6:cout<<"Ведите вершину.\n";

                  cin>>vertex;

                  vertex--;

                  a.deleteNode(vertex,true);

                  a.PrintMatrix();break;

            case 7:a.ShowUnion(b);break;

            case 8:a.ComplementGraph();

                  a.PrintMatrix();

            case 9:cout<<"Выход...\n";break;

            default: cout<<"Попробуйте еще\n";

            }

      }while(n!=9);

}

      ПРИЛОЖЕНИЕ  В.

Результаты тестирования. 
 
 
 
 
 
 
 
 
 
 
 

     Рисунок B5–Вывод матрицы А , B и операций над графами.

       
 
 
 
 
 
 
 
 
 
 
 

     Рисунок B6–Вывод выполнение операции добавление дуги. 
 
 

  
 
 
 
 
 
 
 
 
 
 

     а) б)

     

  
 
 
 
 
 
 
 
 
 
 

      с) 

     Рисунок B7–Вывод выполнение операции удаление и добавление вершины матрицы.

 

  
 
 
 
 
 
 
 
 
 
 
 

     Рисунок B8–Вывод выполнение операции объединение А и В.  

  
 
 
 
 
 
 
 
 
 
 
 
 

           Рисунок B9–Вывод выполнение операции дополнение А . 
 

 

 
 
 
 
 
 
 
 
 
 
 
 
 

     Рисунок B10–Вывод выполнение операции удаление дуги.

       
 
 
 
 
 
 
 
 
 
 
 

           Рисунок В11– Выход из меню.

      Список  литературы:

 

      1. Лафоре Р. Oобъектно-ориентированное программирование в С++. Классика Computer Science. 4-ое изд. /Р.Лафоре–СПб.: Питер, 2004.-924с.:ил.

      2. Герберт Шилдт. С++ руководство  для начинающих. 2-ое издание. / Пер.  с англ. — М. : Издатель-ский дом  "Вильяме", 2005. — 672 с. : ил. —  Парал. тит. англ.

      3. Герберт Шилдт. Полный справочник по С++, 4-е издание. . Пер. с англ. — М. : Издательский дом "Вильяме", 2006. — 800 с. : ил. — Парал. тит. англ.

      15ВЫ 5-8459-0489-7 (рус.)

     4.Кормен, Т.Лейзерсон, Ч.Ривест, Р.Штайн, К. Алгоритмы: построение и анализ = Introduction to Algorithms / Под ред. И. В. Красикова. — 2-е изд. — М.: Вильямс, 2005. — 1296 с. — ISBN 5-8459-0857-4

Информация о работе Реализация основных операций над графами, представленных в виде матриц смежностей