J'essaie de trouver un algorithme efficace pour générer un graphique simple que les pénuries liées. Quelque chose comme:
Input: N - size of generated graph S - sparseness (numer of edges actually; from N-1 to N(N-1)/2) Output: simple connected graph G(v,e) with N vertices and S edges Pour chaque nœud qui a besoin d'au moins un sommet.
Commencez par un nœud. A chaque itération, créer un nouveau nœud et un nouveau sommet. Le sommet est de connecter le nouveau nœud à un nœud au hasard parmi l'ensemble des nœuds précédents.
Après que tous les nœuds créés, créer des sommets S aléatoire jusqu'à ce qu'il soit conforme. Veillez à ne pas créer des sommets double (car il peut utiliser un tableau de adjancy).
graphe aléatoire se fait en O (S).
J'ai la même question que vous avez à faire cela dans matlab? Pourriez-vous s'il vous plaît envoyez-moi un code matlab sur elle pour commencer?Mon email: [email protected]
Pour chaque nœud qui a besoin d'au moins un sommet. Commencez par un nœud. A chaque itération, créer un nouveau nœud et un nouveau sommet. Le sommet est de connecter le nouveau nœud à un nœud au hasard parmi l'ensemble des nœuds précédents. Après que tous les nœuds créés, créer des sommets S aléatoire jusqu'à ce qu'il soit conforme. Veillez à ne pas créer des sommets double (car il peut utiliser un tableau de adjancy). graphe aléatoire se fait en O (S).
Il suffit de faire quelque chose comme ça en Java. En outre, il est préférable d'ajouter des nœuds au hasard, tout en créant un minimum graphe connexe. Sinon, vous obtiendrez toujours le seul nœud vertical comprenant passé, pas plus de deux colonnes noeud couverture précédente et ainsi de suite. Alternativement, vous pouvez obtenir un graphe isomorphe généré par les manipulations matrice d'adjacence.
Ce texte a été obtenu à partir de la source originale dans Stackoverflow.com
Date: 2012-10-11