Articles of graphe

Comment créer un sous-graphe de boost avec une liste de sumts setS?

Le code suivant contient des erreurs: AAA.cpp:23:15: required from here …/boost/include/boost/graph/subgraph.hpp:333:5: error: static assertion failed: (!is_same::value) AAA.cpp:27:21: error: no matching function for call to ‘add_vertex(foo(int, char**)::, Graph&)’ AAA.cpp:27:21: note: candidates are: …/boost/include/boost/graph/subgraph.hpp: In instantiation of ‘boost::subgraph::subgraph(boost::subgraph::vertices_size_type, const graph_property_type&) [with Graph = boost::adjacency_list; boost::subgraph::vertices_size_type = long unsigned int; boost::subgraph::graph_property_type = boost::no_property]’: #include #include #include #include #include […]

Comment calculer le diamètre de graphe dirigé en C ++

J’ai un graphe orienté donné par une masortingce et j’ai besoin d’écrire un programme (C ++) qui calcule son diamètre. Je suis vraiment perdu quand il s’agit de cela. Y a-t-il un algorithme connu pour cela? \ Comment je pense que cela devrait aller: convertir en graphe non orienté (pour toute masortingce dirigée [i] [j]! […]

Défaut de segmentation du graphique

J’essaie d’utiliser Boost pour incorporer un graphe planaire à l’aide de l’algorithme Chrobak-Payne. Je peux exécuter l’ exemple avec succès, mais lorsque j’essaie de le modifier et d’utiliser différents graphiques, il ne fonctionne pas correctement. J’essaie d’intégrer le deuxième graphe platonique, mais cela ne fonctionne pas et mon code plante avec “Erreur de segmentation: 11”. […]

Coloration manuelle des graphiques de boost

Je ne parviens pas à essayer de colorer manuellement les sumts d’un graphique à l’aide de boost. J’ai écrit le code ci-dessous mais je ne peux pas comprendre pourquoi le fichier généré n’a aucune couleur. int main(int,char*[]) { typedef property EdgeProperties; typedef property<vertex_name_t, string, property> VertexProperties; typedef adjacency_list Graph; typedef graph_traits::vertex_descriptor Vertex; typedef graph_traits::edge_descriptor Edge; […]

Tableau privé d’adresses de nœuds adjacents en C ++

//// EDIT # 2: Supprimez toutes les informations précédentes et postez simplement le code de travail maintenant. La question précédente est devenue trop longue: #include #include using namespace std; template class Node{ T data; vector<Node*> adjacent; friend class Graph; public: int n; Node(T initData) : data(initData), n(0){} void addAdjacent(Node& other){ adjacent.push_back(&other); n++; } T getData(){ […]

comprendre le comportement de création de vertex

J’essaie de comprendre le comportement de la création de sumt en utilisant la fonction add_edge. Voici un exemple: #include #include #include using namespace boost; typedef adjacency_list Graph; typedef graph_traits::vertex_iterator v_iter; Graph g; add_edge(1,2,g); add_edge(1,4,g); add_edge(2,3,g); add_edge(2,6,g); std::cout << "num edges: " << num_edges(g) << "; num vertices: " << num_vertices(g) << std::endl; for (std::pair vp […]

c ++ supprimer un sumt d’un graphique

3la compilation suivante en utilisant boost.1.46.1 #include struct Node { int id; }; struct Edge { int source; int target; int weight; }; int main() { /* an adjacency_list like we need it */ typedef boost::adjacency_list Graph; typedef boost::graph_traits::vertex_descriptor Vertex; Graph gp1; std::cout << "Number of vertices 1: " << boost::num_vertices(gp1) << std::endl; Vertex v1 […]

Quelques questions sur la bibliothèque de graphes boost C ++

Donc, je poste ceci car je travaille actuellement sur un projet d’algorithme et je vais peut-être utiliser la bibliothèque boost pour construire un graphique à partir d’un fichier texte d’entrée. J’ai donc remarqué qu’il y a un descripteur pour le sumt dans un graphique, mais comme j’ai un très grand graphique à construire, dois-je atsortingbuer […]

Vérifier si un cycle de Hamilton existe dans un graphique dense

Quelques définitions d’abord: Définition 1 Un graphe G = (V, E) est appelé “ dense ” si pour chaque paire de sumts non adjacents u et v, d (u) + d (v)> = n où n = | V | et d (*) indique le degré du sumt * Définition 2 Un “cycle hamiltonien” sur […]

Construction d’un arbre / graphique à partir de points d’image

Je commence à décrire mon problème avec cette image: Sur la photo, on peut voir quelques points (points noirs ). Ce que je veux faire, c’est d’abord stocker tous les points, puis les points de nœud et les points de pointe (points rouges ). De plus, je dois vérifier si ces points rouges peuvent être […]