- •Содержание:
- •Диаграммы Венна.
- •Операции над множествами.
- •Свойства теоретико-множественных операций.
- •Представление множеств в эвм
- •Реализация операций над подмножествами заданного универсума в эвм.
- •Многоместные отношения. Композиция отношений. Степень и ядро отношений.
- •Свойства отношений.
- •Представление отношений в эвм.
- •Минимальные элементы. Теорема о существовании минимального элемента.
- •Алгоритм топологической сортировки
- •Операции над бинарными отношениями.
- •Тема 4. Замыкание отношений. Транзитивное замыкание, рефлексивное замыкание. Алгоритм Уоршалла вычисления транзитивного замыкания. Замыкание отношений.
- •Транзитивное замыкание отношений
- •Рефлексивное замыкание отношений
- •Алгоритм Уоршалла.
- •Представление функций в эвм.
- •Операции
- •Свойства бинарных операций:
- •Способы задания операций.
- •Тема 6. Алгебраическая система. Гомоморфизмы. Проверка условия гомоморфизма. Изоморфизмы. Изоморфные алгебры. Изоморфизм модели. Примеры изоморфных алгебр. Алгебраическая система
- •Гомоморфизмы. Проверка условия гомоморфизма. Изоморфизмы. Изоморфные алгебры. Изоморфизм модели. Примеры изоморфных алгебр.
- •Основные характеристики нечетких множеств
- •Примеры нечетких множеств
- •Операции над нечеткими множествами
- •Графическое представление операций
- •Тема 8. Алгебраические операции над нечеткими множествами.
- •Тема 9. Основное определение графов. Смежность. Изоморфизм графов. Элементы графов. Подграфы. Валентность. Теорема Эйлера. Основное определение.
- •Смежность.
- •Изоморфизм графов.
- •Элементы графов. Подграфы. Валентность.
- •Теорема Эйлера.
- •Тема 10. Маршруты в графах. Цепи. Циклы. Расстояние между вершинами. Связность. Виды графов: тривиальные и полные графы, двудольные графы, орграфы и сети. Маршруты в графах. Цепи. Циклы.
- •Расстояние между вершинами.
- •Связность.
- •Виды графов: тривиальные и полные графы, двудольные графы, орграфы и сети.
- •Тема 11. Матрица смежности, матрица инцидентности. Операции над графами. Представление графов в эвм. Матрица смежности. Матрица инцедентности.
- •Операции над графами: Объединение графов.
- •Пересечение графов
- •Композиция графов
- •Декартово произведение графов.
- •Операция произведения графов.
- •Представление графов в эвм
- •V k1 k2
- •Теорема Форда - Фалкерсона. Алгоритм нахождения максимального потока.
- •Тема 14. Кратчайшие пути. Алгоритм Флойда. Алгоритм Дейкстры.
- •Кратчайшие пути
- •Рёбра отрицательного веса
- •Представление кратчайших путей в алгоритме
- •Алгоритм Флойда
- •Алгори́тм Де́йкстры
- •Сложность алгоритма
- •Ориентированные, упорядоченные и бинарные деревья
- •Представление в эвм свободных, ориентированных и упорядоченных деревьев.
- •Тема 16. Применение деревьев в программировании. Ассоциативная память. Выровненные деревья. Сбалансированные деревья. Минимальный каркас. Схема алгоритма построения минимального каркаса.
- •Применение деревьев в программировании. Ассоциативная память. Выровненные деревья. Сбалансированные деревья.
- •Минимальный каркас. Схема алгоритма построения минимальных каркасов.
- •Тема 17. Циклы и коциклы. Эйлеровы циклы. Гамильтоновы циклы. Теорема Дирака. Раскраска графов. Хроматическое число. Планарные графы. Укладка графов. Алгоритм раскрашивания.
- •21. Циклы и коциклы. Эйлеровы циклы. Гамильтоновы циклы. Теорема Дирака.
- •Раскраска графов. Хроматическое число. Планарность. Укладка графов. Алгоритмы раскрашивания.
- •F1(X) – нулевая функция.
- •Дизъюнктивная нормальная форма.
- •Конъюнктивная нормальная форма.
- •Тема 19. Неполностью определенные (частные) пф. Минимизация пф и неполностью определенных пф. Понятие минимизации булевых функций.
- •Метод неопределённых коэффициентов.
- •Метод карт Карно
- •Метод Петрика
- •Теорема Поста
- •Тема 22. Законы алгебры логики в офпс и их следствия. Правило выполнения совместных логических действий, правило склеивания, правило поглощения, правило развертывания.
- •Тема 23. Задача анализа и синтеза логических схем
- •Тема 24. Элементы теории алгоритмов. Цели и задачи теории алгоритмов. Формализация понятия алгоритмов: определение Колмогорова, определение Маркова
Сложность алгоритма
Сложность алгоритма Дейкстры зависит от способа нахождения вершины v, а также способа хранения множества непосещенных вершин и способа обновления меток. Обозначим через n количество вершин, а через m — количество ребер в графе G.
В простейшем случае, когда для поиска вершины с минимальным d[v] просматривается все множество вершин, а для хранения величинd— массив, время работы алгоритма естьO(n2+m). Основной цикл выполняется порядкаnраз, в каждом из них на нахождение минимума тратится порядкаnопераций, плюс количество релаксаций (смен меток), которое не превосходит количества ребер в исходном графе.
Для разреженных графов (то есть таких, для которых m много меньше n²) непосещенные вершины можно хранить в двоичной куче, а в качестве ключа использовать значения d[i], тогда время извлечения вершины из станет logn, при том, что время модификацииd[i] возрастет до logn. Так как цикл выполняется порядка n раз, а количество релаксаций не больше m, скорость работы такой реализацииO(nlogn+mlogn)
Если для хранения непосещенных вершин использовать фибоначчиеву кучу, для которой удаление происходит в среднем за O(logn), а уменьшение значения в среднем заO(1), то время работы алгоритма составитO(nlogn+m). Однако, согласно сайту intuit.ru,
скрытые константы в асимптотических оценках трудоемкости велики и использование фибоначчиевых куч редко оказывается целесообразным: обычные двоичные (d-ичные) кучи на практике эффективнее.
Альтернативами им служат толстые кучи, тонкие кучи и кучи Бродала, обладающие теми же асимптотическими оценками, но меньшими константами.
Тема 15. Свободные деревья. Основные свойства деревьев. Ориентированные, упорядоченные и бинарные деревья. Представление в ЭВМ свободных, ориентированных и упорядоченных деревьев.
Свободные деревья. Основные свойства деревьев.
Деревья заслуживают отдельного и подробного рассмотрения по двум причинам.
Деревья являются в некотором смысле простейшим классом графов. Для них вы-полняются многие свойства, которые не всегда выполняются для графов в общем случае. Применительно к деревьям многие доказательства и рассуждения оказываются намного проще. Выдвигая какие-то гипотезы при решении задач теории графов, целесообразно сначала их проверять на деревьях.
Деревья являются самым распространенным классом графов, применяемых в про-граммировании, причем в самых разных ситуациях. Более половины объема этой главы посвящено рассмотрению конкретных применений деревьев в программировании.
Свободные деревья.Изучение деревьев целесообразно начать с самых общих определений и установления основных свойств. Граф без циклов называетсяациклическим, или лесом. Связный ациклический граф называется (свободным)деревом. Таким образом, компонентами связности леса являются деревья.Замечание:Прилагательное "свободное" употребляется в том случае, когда нужно подчеркнуть отличие деревьев от других объектов, родственных деревьям: ориентированных деревьев, упорядоченных деревьев и т. д.
В связном графе Gвыполняется неравенствоq(G)p(G) – 1. ГрафG,в которомq(G) =p(G) – 1, называетсядревовидным. В ациклическом графеG z(G) = 0 Пустьи, v —несмежные вершины графаG, х= (u,v) E.Если графG + химеет только один простой цикл,z(G + х) =1, то графGназываетсясубциклическим.
Пример:
На рисунке показаны диаграммы всех различных (свободных) деревьев с 5 вершинами.
На рисунке - диаграммы всех различных (свободных) деревьев с 6 вершинами
Основные свойства деревьев.Следующая теорема устанавливает, что два из четырех свойств – связность, ацикличность, древовидность и субцикличность – характеризуют граф как дерево.
Теорема: ПустьG(V,Е) – граф с р вершинами,qребрами,kкомпонентами связности иzпростыми циклами. Пусть далеех– ребро, соединяющее любую пару несмежных вершин в графеG, тогда следующие утверждения эквивалентны:
1. Граф G- дерево, то есть связный граф без цикловk(G) = 1 &z(G) = 0 ;
2. Любые две вершины соединены в G единственной простой цепью: G: u,v ! <u, v>;
3. Граф G - связный граф, и любое ребро есть связный мостG: k(G) = 1 & e Ek(G – e) > 1;
4. Граф G- связный и древовидныйG: k(G) = 1 & q(G) =p(G) – 1;
5. Граф G- ациклический и древовидныйG: z(G) = 0 & q(G) =p(G) – 1;
6. Граф G- ациклический и субциклическийG:z(G) = 0 &z(G+x) = 1;
7. Граф G- связный, субциклический и неполный.
Следствие: В любом нетривиальном дереве имеются по крайней мере две висячие вершины.