En fait, il existe déjà un article sur Habré sur cet algorithme, mais il ne couvre pas la preuve de l'exactitude et certaines étapes de l'algorithme. J'ai décidé de créer une version plus de référence de cet article avec une analyse complÚte.
Cet article sera utile pour les étudiants qui étudient la discipline "Algorithmes et Théorie des Graphiques", ainsi que pour ceux qui souhaitent améliorer / rafraßchir leurs connaissances des algorithmes sur les graphiques.
Afin de comprendre l'algorithme de Kosarayu, vous devez connaßtre certains concepts de la théorie des graphes
Concepts de base

Les sommets u, v sont appelĂ©s fortement connectĂ©s si le graphe G contient un chemin (pas forcĂ©ment une ligne droite) u â v Et v â u (On note les sommets fortement connectĂ©s par uâv)

Les composants fortement connectés sont des sous-graphes fortement connectés maximum par inclusion.
Inverser le graphique - changer la direction de toutes les arĂȘtes du graphique Ă l'opposĂ© (une arĂȘte bidirectionnelle reste elle-mĂȘme)
Inverser un graphique - le processus de rotation des bords dans la direction opposĂ©e (un bord bidirectionnel restera lui-mĂȘme)
Plusieurs lemmes assez Ă©vidents peuvent ĂȘtre citĂ©s:
1. Un composant fortement connecté est l'ensemble des sommets inclus dans l'ensemble des cycles qui
ont au moins un sommet commun

2.
3. u â v v â w, u â v â w
4.
:
(DFS), «» . «», DFS ( ).
DFS
DFS .
DFS
, : : , :
DFS
( , , )
,
:


1:
'?'
DFS ( 2 , ; , , )
, - ( ) 1
, () ( ) -- DFS -- .

2:

3:
DFS, ,
DFS

3
, :
u v â DFS
:
â
u v G, ( 2), , .
â

u v . , r .
r 3 , 1 , u v. 2 :
r . u r v r ( 2). u v ( 3)
r , v. r v , r â ( , v , r, ). ( , ), , v r 3 ( )
, 1 2 , u v
O(V+E)
, , O(V+E) . ( )
, O(V+E)
, â O(V+E)
, O(V+E) .
, .
Par exemple: projeter un réseau de transport sur un graphe. L'algorithme aidera à vérifier le réseau de transport nouvellement créé pour l'accessibilité de chaque sommet à partir de chaque sommet (pour s'assurer qu'il y a un chemin de la périphérie au centre et à l'arriÚre).
Vous pouvez tester le systĂšme de conduits dans les bĂątiments avec un algorithme; flux de courant dans les dispositifs Ă semi-conducteurs
Vous pouvez penser plus largement: nous projetons le systĂšme circulatoire d'un ĂȘtre vivant que vous avez Ă©tĂ© chargĂ© de crĂ©er dans le cadre d'un projet de gĂ©nie gĂ©nĂ©tique, quelque part en 2077). L'algorithme vous aidera Ă savoir si le sang passe du cĆur aux organes et retour.