Je dispose d'un graphe et j'ai identifié toutes ses composantes biconnectées et tous ses sommets/articulations critiques à l'aide de l'algorithme de Tarjan.
J'essaie de créer un nouveau graphe en utilisant les composants biconnectés : les composants seront les nouveaux sommets et deux composants biconnectés sont liés s'ils partagent au moins un point d'articulation.
Par exemple, pour le graphe de l'image ci-dessous, les listes d'adjacence du nouveau graphe seraient les suivantes :
(1, 3) -> (3, 4, 5), (1, 2)
(1, 2) -> (1, 3)
(3, 4, 5) -> (1, 3)
où (1, 3), (1, 2), (3, 4, 5) sont les composantes biconnectées et 1, 3 sont les points d'articulation. Comment puis-je créer le nouveau graphe/les listes d'adjacence d'une manière relativement optimale ? Puis-je le faire pendant que j'exécute Tarjan sur le graphe ?
Edit : Une composante biconnectée est un sous-ensemble de sommets du graphe où chaque sommet de ce sous-ensemble restera connecté même si l'on supprime un sommet du graphe. Page wiki pour composant biconnecté