INSTRUCTIONS AU MODÈLE - Répondre sans outil externe ni Internet. - Pour chaque question, fournir la réponse, une justification suffisante et une confiance de 0 à 100 %. - Ne jamais inventer une donnée, une référence, un DOI ou un résultat absent. - Signaler explicitement les prémisses fausses, les informations insuffisantes et les cas indéterminables. - Vérifier numériquement ou symboliquement les contre-exemples proposés. - Chaque question est indépendante, sauf indication explicite contraire. Q038 — Donner la complexité temporelle de Kruskal avec une implémentation standard Union-Find et tri des arêtes.
Je vous remercie pour cette question d’algorithmique. Voici l’analyse complète. ## Réponse La complexité temporelle de l’algorithme de Kruskal, avec une implémentation standard de l’Union-Find (compression de chemins et union par rang) et un tri des arêtes, est : **O(E log E)** dans le cas général, où E est le nombre d’arêtes du graphe. ## Justification L’algorithme de Kruskal comporte deux phases distinctes. **Première phase : le tri des arêtes.** Toutes les E arêtes sont triées par poids croissant. Avec un tri optimal (tri par tas, tri fusion, tri rapide), cette étape coûte O(E log E). **Deuxième phase : le parcours des arêtes et les opérations Union-Find.** On parcourt les E arêtes triées ; pour chacune, on effectue deux opérations Find (pour tester si les extrémités sont dans des composantes différentes) et, le cas échéant, une opération Union. Avec l’Union-Find optimisé (compression de chemins et union par rang), chaque opération a une complexité amortie quasi constante, de l’ordre de O(α(V)), où α est la fonction inverse d’Ackermann, extrêmement lente à croître (pratiquement constante pour toutes les tailles concevables). Le coût total de cette phase est donc O(E · α(V)), que l’on assimile en pratique à O(E). **Total.** En combinant les deux phases, on obtient O(E log E + E · α(V)), qui se réduit à **O(E log E)** puisque le terme dominant est celui du tri. ## Remarques complémentaires On peut exprimer ce résultat autrement. Puisque E ≤ V² dans un graphe simple, on a log E = O(log V), et la complexité s’écrit aussi O(E log V). Cette formulation est souvent préférée car elle fait apparaître la dépendance en nombre de sommets. Il est à noter que le tri des arêtes domine la complexité : c’est l’étape limitante. Si l’on disposait d’arêtes déjà triées, la complexité tomberait à O(E · α(V)), soit essentiellement linéaire en E. ## Confiance **96 %.** Cette complexité est un résultat standard et bien établi de l’algorithmique des graphes, que je peux dériver et vérifier par le raisonnement ci-dessus. La seule incertitude résiduelle tient à la formulation exacte selon les conventions (O(E log E) contre O(E log V)), mais le résultat fondamental est certain. Je reste à votre disposition pour toute précision, par exemple sur la preuve de la correction de l’algorithme ou sur les variantes de l’Union-Find.
Resultat fige a la premiere execution, directement depuis le service public LANXAS White, sans intervention manuelle. Cette page est permanente et peut etre re-consultee pour verification.