Sélection dynamique de l'algorithme d'agencement

Si le développeur ne sait rien au sujet des graphes que l'application doit agencer, il peut écrire une routine qui sélectionne automatiquement l'algorithme d'agencement lors de la phase d'exécution. Les règles simples suivantes peuvent être appliquées :
  1. Si les noeuds du graphe ne peuvent pas être déplacés (ils sont géopositionnés), utilisez un agencement de liens.
  2. Si le graphe est une arborescence, utilisez l'agencement arborescent.
  3. Sinon, utilisez l'un des algorithmes d'agencement qui sont les moins restrictifs pour une catégorie de graphe donnée, notamment l'agencement Force-directed. (La longueur préférée des liens peut également être calculée par rapport à la taille des noeuds.)
  4. Si le graphe est trop volumineux, appliquez une stratégie de type "Diviser pour conquérir". Découpez le graphe en plusieurs sous-graphes et appliquez l'agencement séparément à chacun de ces derniers. Si le graphe est déconnecté, vous pouvez utiliser la prise en charge intégrée fournie par la bibliothèque d'agencement pour effectuer cette tâche automatiquement. (Voir Agencement des composants connectés.)