Реферат: Графы. Решение практических задач с использованием графов (С++)

if(eiler(graph,n))eiler_path(graph);

else fprintf(fo,"Граф не является эйлеровым.");

return(0);

}

3.Построить остовное дерево минимальной стоимости для связанного взвешенного графа, используя алгоритм Прима.

#include <iostream.h>

#include <stdio.h>

#include <values.h>

FILE* fi = fopen("p_graph.txt","r"); //Входной файл

FILE* fo = fopen("p_ostov.txt","w"); //Выходной файл

struct edge{ // Структура для хранения ребра

int b,e;

int weigh;

};

int **graph; // исходный граф

int p; // количество вершин в графе

edge *SST; // остов

int num_ver=0; // количество ребер в остове

int *S; // вершины, включенные в остов

int num_s=0; //количество вершин в остове

int calc_ver(){ // подсчитывает число ребер в графе

int i=0,j,res=0;

while(i<p){j=i+1; while(j++<p)if(graph[i][j])res+=1; i++;}

return res;

}

bool added(int v){ // проверяет: добавлена вершина v в остов

for(int i=0;i<num_s;i++)if(v==S[i])return 1;

return 0;

}

К-во Просмотров: 805
Бесплатно скачать Реферат: Графы. Решение практических задач с использованием графов (С++)