Содержание
- 2. Графы Граф задается двумя множествами: вершин и ребер. Каждое ребро соединяет две вершины, т.е. может быть
- 3. Графическое представление Неориентированный Ориентированный f e d f e d a b c a b c
- 4. Матрицы смежности Неориентированный Ориентированный f e d f e d a b c a b c
- 5. Списки смежных вершин Неориентированный Ориентированный f e d f e d a b c a b
- 6. Матрицы инцидентности Неориентированный Ориентированный f e d f e d a b c a b c
- 7. Матрицы весов Неориентированный Ориентированный f e d f e d 3 6 3 3 6 3
- 8. Массивы ребер (дуг) Неориентированный Ориентированный f e d f e d a b c a b
- 9. Массивы ребер (дуг) с весами Неориентированный Ориентированный f e d f e d 3 6 3
- 10. Классы для представления графов Мы будем использовать 3 способа представления графа: матрицей смежности, списками смежных вершин
- 11. Класс MGraph Класс для представления графа с помощью матрицы смежности: class MGraph { bool **mat; //
- 12. Конструктор и деструктор MGraph MGraph::MGraph(int vnum, bool orient) { mat = new bool* [vnum]; for (int
- 13. Ввод ребер (дуг) для MGraph void MGraph::input_edges() { int i, j; for (i = 0; i
- 14. Проверка существования ребра MGraph bool MGraph::is_edge(int a, int b) { if (a = vernum) return false;
- 15. Класс LGraph Класс для представления графа с помощью списков смежных вершин: class LGraph { List *lst;
- 16. Конструктор и деструктор LGraph LGraph::LGraph(int vnum, bool orient) { lst = new List[vnum]; vernum = vnum;
- 17. Ввод ребер (дуг) для LGraph void LGraph::input_edges() { int i, j; for (i = 0; i
- 18. Проверка существования ребра LGraph bool LGraph::is_edge(int a, int b) { if (a = vernum) return false;
- 19. Класс WGraph Класс для представления взвешенного графа с помощью матрицы весов: #define INF 1e30 class WGraph
- 20. Конструктор и деструктор WGraph WGraph::WGraph(int vnum, bool orient) { mat = new double* [vnum]; for (int
- 21. Ввод ребер (дуг) с весами для WGraph void WGraph::input_edges() { int i, j; double w; for
- 23. Скачать презентацию