Grafo

320 palavras 2 páginas
TRABALHO DE GRAFOS PROFESSOR: ROBERTO ARAÚJO ALUNO: WESLEY DE OLIVEIRA BARBOSA MATRICULA:10100001501 Linguagem: C++ Biblioteca: Boost Graph Library A Boost Graph Library é uma biblioteca para C++ que como base de aplicação os seguintes algoritmos: * Busca em profundidade (depth-first search) * Busca em amplitude ou largura (breadth-first search) * Busca de custo uniforme (uniform-cost search) O algoritmo abaixo mostra a implementação de uma lista de arestas que tem como saída os caminhos mais curtos entre 2 vértices.
Examplo: Aplicação do algoritmo de Bellman-Ford para uma edge_list. enum { u, v, x, y, z, N }; char name[] = { 'u', 'v', 'x', 'y', 'z' }; typedef std::pair<int,int> E; E edges[] = { E(u,y), E(u,x), E(u,v), E(v,u), E(x,y), E(x,v), E(y,v), E(y,z), E(z,u), E(z,x) }; int weight[] = { -4, 8, 5, -2, 9, -3, 7, 2, 6, 7 }; typedef boost::edge_list<E*> Graph; Graph g(edges, edges + sizeof(edges) / sizeof(E)); std::vector<int> distance(N, std::numeric_limits<short>::max()); std::vector<int> parent(N,-1); distance[z] = 0; parent[z] = z; bool r = boost::bellman_ford_shortest_paths(g, int(N), weight, distance.begin(), parent.begin()); if (r) for (int i = 0; i < N; ++i) std::cout << name[i] << ": "

Relacionados

  • Grafos
    272 palavras | 2 páginas
  • Grafos
    4071 palavras | 17 páginas
  • grafos
    819 palavras | 4 páginas
  • Grafos
    626 palavras | 3 páginas
  • Grafos
    2074 palavras | 9 páginas
  • Grafos
    2681 palavras | 11 páginas
  • Grafos
    534 palavras | 3 páginas
  • Grafos
    2345 palavras | 10 páginas
  • Grafos
    989 palavras | 4 páginas
  • Grafos
    4295 palavras | 18 páginas