КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Основная часть. ПМ 03: Участие в интеграции программных модулей
Введение. КУРСОВАЯ РАБОТА ПМ 03: Участие в интеграции программных модулей Тема: Модели систем. Графы
Руководитель курсовой работы: Маградзе Т.А. ___________________________ (подпись) «___» ________________201__г Студент(-ка): ПО 3.11 (группа) Савинов А.А. (Ф.И.О.)
Саратов, 2014 г. Содержание Введение…………………………………………………………………...3 1. Основная часть………………………………………………………..4 2. Анализ алгоритма……………………………………………………10 3. Спецификация задачи…………………………………………….….13 3.1 Входные и выходные данные…………………………………13 3.2 Используемые процедуры………………………………….….13 4. Программа на языке Turbo Pascal..……………………………….…14 4.1 Листинг программы…………..………….………………….…14 4.2 Контрольный пример для тестирования №1….……………...25 4.3 Контрольный пример для тестирования №2….……………...26 4.4 Руководство пользователя…………………………………….27 5. Результаты тестирования…………………………………………….28 Заключение…………………………………………………………….…33 Список используемой литературы……………………………………...34 Приложение А…………………………………………………………….35
Термин «граф» впервые появился в работах венгерского математика Д.Кенига в 1936 году, хотя ряд задач по теории графов решался еще Л.Эйлером в XVIII веке. Графы встречаются в сотнях разных задач, и алгоритмы обработки графов очень важны. Существует множество разработанных алгоритмов для решения различных задач из самых разных областей человеческой деятельности. Формулировка задачи описывает, каким требованиям должно удовлетворять решение задачи, а алгоритм, решающий эту задачу, находит объект, этим требованиям удовлетворяющий. В этой работе, не будем давать четкого определения алгоритма, а попытаемся проанализировать и изучить алгоритм поиска в ширину в графе. Поиском по заданному аргументу называется алгоритм, определяющий соответствие ключа с заданным аргументом. Алгоритм поиска в ширину может быть использован для просмотра созданного графа, чтобы узнать состав информационных вершин для последующего поиска. В результате работы алгоритма поиска, заданная вершина может быть найдена или может быть отмечено отсутствие ее в исходных данных. Если заданная информационная вершина найдена, то происходит вывод об успешном окончании поиска, вывод времени поиска и времени поиска ключа. В данной работе: 7 рисунков, 1 программа, 1 приложение, 35 листов. Ключевые слова: граф, алгоритм, поиск, ширина, программа, аргумент, элемент, массив, очередь, память, время, сравнение. Цель работы: Исследовать эффективность алгоритма поиска в графе в ширину. Результат работы программы: количество сравнений элемента с ключом поиска и время, за которое был найден элемент по данному алгоритму поиска. Область применение данного алгоритма может быть разнообразна, например, при построении карт местности: вершины графа – города, связи – дороги.
Очевидно, что наиболее понятный и полезный для человека способ представления графа — изображение графа на плоскости в виде точек и соединяющих их линий — будет совершенно бесполезным, если мы захотим решать с помощью ЭВМ задачи, связанные с графами. Выбор соответствующей структуры данных для представления графов имеет принципиальное влияние на эффективность алгоритмов, поэтому мы подробнее остановимся на этой проблеме. Мы покажем несколько различных способов представления и кратко разберем их основные достоинства и недостатки. Будем рассматривать как ориентированные, так и неориентированные графы. Граф будем всегда обозначать G = (V,E), где V обозначает множество вершин, а Е — множество ребер, причем Е Í V X V для ориентированного графа и ЕÍ{{х,у}: х,у Î V ۸ х¹у} для неориентированного графа. Будем также использовать обозначения |V| = n и |Е| = m. В теории графов классическим способом представления графа служит матрица инциденций. Это матрица А с n строками, соответствующими вершинам, и m столбцами, соответствующими ребрам. Для ориентированного графа столбец, соответствующий дуге <x, y> Î E, содержит —1 в строке, соответствующей вершине х, 1 в строке, соответствующей вершине у, и нули во всех остальных строках (петлю, т. е. дугу вида <x, x>, удобно представлять иным значением в строке х, например, 2). В случае неориентированного графа столбец, соответствующий ребру {х,у}, содержит 1 в строках, соответствующих х и у, и нули в остальных строках. Это проиллюстрировано на рисунке 1. С алгоритмической точки зрения матрица инциденций является, вероятно, самым худшим способом представления графа, который только можно себе представить. Во-первых, он требует nm ячеек памяти, причем большинство этих ячеек вообще занято нулями. Неудобен также доступ к информации. Ответ на элементарные вопросы типа «существует ли дуга <x,y>?», «к каким вершинам ведут ребра из х?» требует в худшем случае перебора всех столбцов матрицы, а, следовательно, m шагов. Лучшим способом представления графа является матрица смежности, определяемая как матрица В = [b•j] размера nхm,
(а) 1 –1 –1 0 0 0 0 0 2 1 0 1 0 0 0 0
Дата добавления: 2015-08-31; Просмотров: 373; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |