π 10 Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π³ΡΠ°ΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π½Π°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΠ΄Π΅Ρ
ΠΠ½Π°ΠΊΠΎΠΌΠΈΠΌΡΡ Ρ Π΄Π΅ΡΡΡΡΡ ΠΌΠ°ΡΡ-Ρ ΡΠ² Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π΅ΡΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π³ΡΠ°ΡΠ°ΠΌΠΈ (ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΈΠ»Π°Π³Π°Π΅ΡΡΡ).
ΠΠ°ΡΠ΅ΠΌ Π²ΠΎΠΎΠ±ΡΠ΅ ΠΈΠ·ΡΡΠ°ΡΡ Π³ΡΠ°ΡΠΎΠ²ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ?
ΠΡΠ°ΡΠΎΠ²ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠ°Π³ΠΎΠ² Π΄Π»Ρ ΠΎΠ±Ρ ΠΎΠ΄Π° Π³ΡΠ°ΡΠ° ΡΠ΅ΡΠ΅Π· Π²Π΅ΡΡΠΈΠ½Ρ (ΡΠ·Π»Ρ). ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ·Π»Π° ΠΈΠ»ΠΈ ΠΏΡΡΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ Π·Π°Π΄Π°Π½Π½ΡΠΌΠΈ ΡΠ·Π»Π°ΠΌΠΈ.
ΠΠ°Π½Π½ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π½Π° ΡΠ°ΠΉΡΠ°Ρ ΡΠΎΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠ΅ΡΠ΅ΠΉ, Π² ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ Π΄ΡΡΠ³ΠΈΡ ΡΡΠ΅ΡΠ°Ρ . Π― ΠΏΡΠΈΠ»ΠΎΠΆΠΈΠ» ΡΠ²ΠΎΠΉ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π΄Π»Ρ Π²ΡΠ΅Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ², ΠΏΡΠΎ ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π³ΠΎΠ²ΠΎΡΠΈΡΡ Π½ΠΈΠΆΠ΅.
1. ΠΠΎΠΈΡΠΊ Π² ΡΠΈΡΠΈΠ½Ρ (Breadth First Searching)
ΠΠΎΠΈΡΠΊ Π² ΡΠΈΡΠΈΠ½Ρ β ΡΡΠΎ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΏΠΎΠΈΡΠΊΠ° Π²ΡΠ΅Ρ Π²Π΅ΡΡΠΈΠ½ Π³ΡΠ°ΡΠ° ΠΈΠ»ΠΈ Π΄Π΅ΡΠ΅Π²Π°. ΠΠ±Ρ ΠΎΠ΄ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠ³ΠΎ ΡΠ·Π»Π° ΠΈ Π·Π°ΡΠ΅ΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΈΡΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΡΠ΅ ΡΠΎΡΠ΅Π΄Π½ΠΈΠ΅ ΡΠ·Π»Ρ. ΠΠ°ΡΠ΅ΠΌ Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ Π±Π»ΠΈΠΆΠ°ΠΉΡΠΈΠΉ ΡΠ·Π΅Π» ΠΈ ΠΈΡΡΠ»Π΅Π΄ΡΡΡΡΡ Π²ΡΠ΅ Π½Π΅ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ·Π»Ρ. ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ BFS Π΄Π»Ρ ΠΎΠ±Ρ ΠΎΠ΄Π° Π»ΡΠ±ΠΎΠΉ ΡΠ·Π΅Π» Π³ΡΠ°ΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΈΡΠ°ΡΡ ΠΊΠΎΡΠ½Π΅Π²ΡΠΌ ΡΠ·Π»ΠΎΠΌ.
ΠΡΠΎΡΡΠΎΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π΄Π»Ρ BFS, ΠΊΠΎΡΠΎΡΡΠΉ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΡ:
- ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π½Π° ΡΠΎΡΠ΅Π΄Π½ΡΡ Π½Π΅ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΡΡ Π²Π΅ΡΡΠΈΠ½Ρ. ΠΡΠΌΠ΅ΡΡΡΠ΅ ΠΊΠ°ΠΊ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΡΡ. ΠΡΠΎΠ±ΡΠ°Π·ΠΈΡΠ΅ ΡΡΠΎ. ΠΡΡΠ°Π²ΡΡΠ΅ Π΅Π΅ Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ.
- ΠΡΠ»ΠΈ ΡΠΌΠ΅ΠΆΠ½Π°Ρ Π²Π΅ΡΡΠΈΠ½Π° Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π°, ΡΠ΄Π°Π»ΠΈΡΠ΅ ΠΏΠ΅ΡΠ²ΡΡ Π²Π΅ΡΡΠΈΠ½Ρ ΠΈΠ· ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ.
- ΠΠΎΠ²ΡΠΎΡΡΠΉΡΠ΅ ΡΠ°Π³ 1 ΠΈ ΡΠ°Π³ 2, ΠΏΠΎΠΊΠ° ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π½Π΅ ΡΡΠ°Π½Π΅Ρ ΠΏΡΡΡΠΎΠΉ.
Π‘Ρ Π΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±Ρ ΠΎΠ΄Π° BFS:
Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΠΊΠΎΠ΄: ΠΠΎΠΈΡΠΊ Π² ΡΠΈΡΠΈΠ½Ρ
2. ΠΠΎΠΈΡΠΊ Π² Π³Π»ΡΠ±ΠΈΠ½Ρ (Depth First Searching)
ΠΠΎΠΈΡΠΊ Π² Π³Π»ΡΠ±ΠΈΠ½Ρ ΠΈΠ»ΠΈ ΠΎΠ±Ρ ΠΎΠ΄ Π² Π³Π»ΡΠ±ΠΈΠ½Ρ β ΡΡΠΎ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΏΠΎΠΈΡΠΊΠ° Π²ΡΠ΅Ρ Π²Π΅ΡΡΠΈΠ½ Π³ΡΠ°ΡΠ° ΠΈΠ»ΠΈ Π΄ΡΠ΅Π²ΠΎΠ²ΠΈΠ΄Π½ΠΎΠΉ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ .
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΏΠΎΠΈΡΠΊΠ° Π² Π³Π»ΡΠ±ΠΈΠ½Ρ (DFS) ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅Ρ ΠΏΠΎΠΈΡΠΊ Π²Π³Π»ΡΠ±Ρ Π³ΡΠ°ΡΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΡΠ΅ΠΊ, ΡΡΠΎΠ±Ρ Π½Π΅ Π·Π°Π±ΡΡΡ Β«ΠΏΠΎΠ»ΡΡΠΈΡΡΒ» ΡΠ»Π΅Π΄ΡΡΡΡΡ Π²Π΅ΡΡΠΈΠ½Ρ Π΄Π»Ρ Π½Π°ΡΠ°Π»Π° ΠΏΠΎΠΈΡΠΊΠ°, ΠΊΠΎΠ³Π΄Π° Π½Π° Π»ΡΠ±ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΡΡΠΏΠΈΠΊ.
ΠΡΠΎΡΡΠΎΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΡ, Π΄Π»Ρ DFS:
- ΠΠΎΡΠ΅ΡΠΈΡΠ΅ ΡΠΎΡΠ΅Π΄Π½ΡΡ Π½Π΅ΠΏΠΎΡΠ΅ΡΠ΅Π½Π½ΡΡ Π²Π΅ΡΡΠΈΠ½Ρ. ΠΡΠΌΠ΅ΡΡΡΠ΅ ΠΊΠ°ΠΊ ΠΏΠΎΡΠ΅ΡΠ΅Π½Π½ΡΡ. ΠΡΠΎΠ±ΡΠ°Π·ΠΈΡΠ΅ ΡΡΠΎ. ΠΠΎΠ±Π°Π²ΡΡΠ΅ Π² ΡΡΠ΅ΠΊ.
- ΠΡΠ»ΠΈ ΡΠΌΠ΅ΠΆΠ½Π°Ρ Π²Π΅ΡΡΠΈΠ½Π° Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π°, ΡΠΎ Π²Π΅ΡΡΠΈΠ½Π° Π±Π΅ΡΠ΅ΡΡΡ ΠΈΠ· ΡΡΠ΅ΠΊΠ°. Π‘ΡΠ΅ΠΊ Π²ΡΠ²Π΅Π΄Π΅Ρ Π²ΡΠ΅ Π²Π΅ΡΡΠΈΠ½Ρ, Ρ ΠΊΠΎΡΠΎΡΡΡ Π½Π΅Ρ ΡΠΌΠ΅ΠΆΠ½ΡΡ Π²Π΅ΡΡΠΈΠ½.
- ΠΠΎΠ²ΡΠΎΡΡΠΉΡΠ΅ ΡΠ°Π³ΠΈ 1 ΠΈ 2, ΠΏΠΎΠΊΠ° ΡΡΠ΅ΠΊ Π½Π΅ ΡΡΠ°Π½Π΅Ρ ΠΏΡΡΡΡΠΌ.
Π‘Ρ Π΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±Ρ ΠΎΠ΄Π° DFS:
Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΠΊΠΎΠ΄: ΠΠΎΠΈΡΠΊ Π² Π³Π»ΡΠ±ΠΈΠ½Ρ
ΠΡΠ»ΠΈ Ρ ΠΎΡΠ΅ΡΡ ΠΏΠΎΠ΄ΡΡΠ½ΡΡΡ ΡΠ²ΠΎΠΈ Π·Π½Π°Π½ΠΈΡ ΠΏΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°ΠΌ, Π·Π°Π³Π»ΡΠ½ΠΈ Π½Π° Π½Π°Ρ ΠΊΡΡΡ Β«ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ ΠΈ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ Β», Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΡ:
- ΡΠ³Π»ΡΠ±ΠΈΡΡΡΡ Π² ΡΠ΅ΠΎΡΠΈΡ ΡΡΡΡΠΊΡΡΡ Π΄Π°Π½Π½ΡΡ ;
- Π½Π°ΡΡΠΈΡΡΡΡ ΡΠ΅ΡΠ°ΡΡ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ;
- Π½Π°ΡΡΠΈΡΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΠΈ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ.
3. Π’ΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° (Topological Sorting)
Π’ΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° Π΄Π»Ρ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π°ΡΠΈΠΊΠ»ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π³ΡΠ°ΡΠ° (DAG) β ΡΡΠΎ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ΅ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠΈΠ²Π°Π½ΠΈΠ΅ Π²Π΅ΡΡΠΈΠ½, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΌ Π²Π΅ΡΡΠΈΠ½Π° u
ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²ΡΠ΅Ρ v
Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅Π±ΡΠ° uv
(Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ). Π’ΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° Π΄Π»Ρ Π³ΡΠ°ΡΠ° Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π°, Π΅ΡΠ»ΠΈ Π³ΡΠ°Ρ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ DAG.
ΠΠ»Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π³ΡΠ°ΡΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠΉ ΡΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ.
ΠΡΠΎΡΡΠΎΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΡ, Π΄Π»Ρ ΡΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ:
1. ΠΡΠΌΠ΅ΡΡΡΠ΅ u
ΠΊΠ°ΠΊ ΠΏΠΎΡΠ΅ΡΠ΅Π½Π½ΡΡ
2. ΠΠ»Ρ Π²ΡΠ΅Ρ
Π²Π΅ΡΡΠΈΠ½ v
, ΡΠΌΠ΅ΠΆΠ½ΡΡ
Ρ u
, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅:
2.1. ΠΡΠ»ΠΈ v
Π½Π΅ ΠΏΠΎΡΠ΅ΡΠ΅Π½Π½Π°Ρ, ΡΠΎ:
2.2. ΠΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ TopoSort
(Π½Π΅ Π·Π°Π±ΡΠ²Π°Ρ ΠΏΡΠΎ ΡΡΠ΅ΠΊ)
2.3. Π¦ΠΈΠΊΠ» Π²ΡΠΏΠΎΠ»Π½Π΅Π½
3. ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ u
Π² ΡΡΠ΅ΠΊ
Π‘Ρ Π΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ:
ΠΡΠΈΠΌΠ΅Ρ ΡΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π³ΡΠ°ΡΠ°:
5 β 4 β 2 β 3 β 1 β 0
Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΠΊΠΎΠ΄: Π’ΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ°
4. ΠΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ ΡΠΈΠΊΠ»Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΠ°Π½Π° (Kahn's Algorithm)
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΠ°Π½Π° β ΡΡΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΡΠΈΠΊΠ»ΠΎΠ² Π½Π° Π±Π°Π·Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΡΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ.
Π Π°Π±ΠΎΡΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΡΠ΅ΠΌ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΠ½Ρ Π±Π΅Π· Π²Ρ ΠΎΠ΄ΡΡΠΈΡ Π² Π½Π΅Π΅ ΡΠ΅Π±Π΅Ρ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΠΈΡΡ ΠΎΠ΄ΡΡΠΈΡ ΡΠ΅Π±Π΅Ρ ΠΈΠ· ΡΡΠΎΠΉ Π²Π΅ΡΡΠΈΠ½Ρ.
Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΠΊΠΎΠ΄: ΠΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ ΡΠΈΠΊΠ»Π° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΠ°Π½Π°
5. ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΠ΅ΠΉΠΊΡΡΡΡ (Dijkstra's Algorithm)
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΠ΅ΠΉΠΊΡΡΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΉΡΠΈ ΠΊΡΠ°ΡΡΠ°ΠΉΡΠΈΠΉ ΠΏΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π»ΡΠ±ΡΠΌΠΈ Π΄Π²ΡΠΌΡ Π²Π΅ΡΡΠΈΠ½Π°ΠΌΠΈ Π³ΡΠ°ΡΠ°. ΠΠ½ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΡΡΠΎΠ²Π½ΠΎΠ³ΠΎ Π΄Π΅ΡΠ΅Π²Π° ΡΠ΅ΠΌ, ΡΡΠΎ ΠΊΡΠ°ΡΡΠ°ΠΉΡΠ΅Π΅ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ Π²Π΅ΡΡΠΈΠ½Π°ΠΌΠΈ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π²ΡΠ΅ Π²Π΅ΡΡΠΈΠ½Ρ Π³ΡΠ°ΡΠ°.
ΠΠΈΠΆΠ΅ ΠΏΡΠΎΠΈΠ»Π»ΡΡΡΡΠΈΡΠΎΠ²Π°Π½ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΊΡΠ°ΡΡΠ°ΠΉΡΠ΅Π³ΠΎ ΠΏΡΡΠΈ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠΌ. ΠΠ΄Π΅ΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π½Π°ΠΉΡΠΈ ΠΊΡΠ°ΡΡΠ°ΠΉΡΠΈΠΉ ΠΏΡΡΡ ΠΎΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° ΠΊΠΎ Π²ΡΠ΅ΠΌ ΡΠ·Π»Π°ΠΌ.
ΠΠΎΡΠ»Π΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΠ΅ΠΉΠΊΡΡΡΡ:
Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΠΊΠΎΠ΄: ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΠ΅ΠΉΠΊΡΡΡΡ
6. ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΠ΅Π»Π»ΠΌΠ°Π½Π°-Π€ΠΎΡΠ΄Π° (Bellman Ford's Algorithm)
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΠ΅Π»Π»ΠΌΠ°Π½Π°-Π€ΠΎΡΠ΄Π° ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π½Π°ΠΌ Π½Π°ΠΉΡΠΈ ΠΊΡΠ°ΡΡΠ°ΠΉΡΠΈΠΉ ΠΏΡΡΡ ΠΎΡ Π²Π΅ΡΡΠΈΠ½Ρ ΠΊΠΎ Π²ΡΠ΅ΠΌ Π΄ΡΡΠ³ΠΈΠΌ Π²Π΅ΡΡΠΈΠ½Π°ΠΌ Π²Π·Π²Π΅ΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π³ΡΠ°ΡΠ°. ΠΠ½ ΠΏΠΎΡ ΠΎΠΆ Π½Π° Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΠ΅ΠΉΠΊΡΡΡΡ, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°ΡΡ Π³ΡΠ°ΡΡ, Π² ΠΊΠΎΡΠΎΡΡΡ ΡΠ΅Π±ΡΠ° ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ ΡΠΈΠΊΠ»Ρ Ρ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ Π²Π΅ΡΠΎΠΌ.
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΠ΅ΠΉΠΊΡΡΡΡ (Π½Π΅ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠΈΠΊΠ» Ρ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ Π²Π΅ΡΠΎΠΌ) ΠΌΠΎΠΆΠ΅Ρ Π΄Π°ΡΡ Π½Π΅Π²Π΅ΡΠ½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΏΡΠΎΡ ΠΎΠ΄ ΡΠ΅ΡΠ΅Π· ΡΠΈΠΊΠ» Ρ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ Π²Π΅ΡΠΎΠΌ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ Π΄Π»ΠΈΠ½Ρ ΠΏΡΡΠΈ. ΠΠ΅ΠΉΠΊΡΡΡΠ° Π½Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌ Π΄Π»Ρ Π³ΡΠ°ΡΠΈΠΊΠΎΠ² Ρ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ Π²Π΅ΡΠ°ΠΌΠΈ, Π° ΠΠ΅Π»Π»ΠΌΠ°Π½-Π€ΠΎΡΠ΄, Π½Π°ΠΎΠ±ΠΎΡΠΎΡ, ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌ Π΄Π»Ρ ΡΠ°ΠΊΠΈΡ Π³ΡΠ°ΡΠΈΠΊΠΎΠ². ΠΠ΅Π»Π»ΠΌΠ°Π½-Π€ΠΎΡΠ΄ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΡΠ΅, ΡΠ΅ΠΌ ΠΠ΅ΠΉΠΊΡΡΡΠ° ΠΈ Ρ ΠΎΡΠΎΡΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΡΠΈΡΡΠ΅ΠΌ Ρ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ.
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΠ΅Π»Π»ΠΌΠ°Π½Π°-Π€ΠΎΡΠ΄Π°:
Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΠΊΠΎΠ΄: ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΠ΅Π»Π»ΠΌΠ°Π½Π° Π€ΠΎΡΠ΄Π°
7. ΠΠ»Π³ΠΎΡΠΈΡΠΌ Π€Π»ΠΎΠΉΠ΄Π°-Π£ΠΎΡΡΠ°Π»Π»Π° (Floyd-Warshall Algorithm)
ΠΠ»Π³ΠΎΡΠΈΡΠΌ Π€Π»ΠΎΠΉΠ΄Π°-Π£ΠΎΡΡΠ°Π»Π»Π° β ΡΡΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΏΠΎΠΈΡΠΊΠ° ΠΊΡΠ°ΡΡΠ°ΠΉΡΠ΅Π³ΠΎ ΠΏΡΡΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π²ΡΠ΅ΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠΈ Π²Π΅ΡΡΠΈΠ½ Π²ΠΎ Π²Π·Π²Π΅ΡΠ΅Π½Π½ΠΎΠΌ Π³ΡΠ°ΡΠ΅. ΠΡΠΎΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠ°ΠΊ Π΄Π»Ρ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ , ΡΠ°ΠΊ ΠΈ Π΄Π»Ρ Π½Π΅ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π²Π·Π²Π΅ΡΠ΅Π½Π½ΡΡ Π³ΡΠ°ΡΠΎΠ². ΠΠΎ ΡΡΠΎ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΄Π»Ρ Π³ΡΠ°ΡΠΎΠ² Ρ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΡΠΈΠΊΠ»Π°ΠΌΠΈ (Π³Π΄Π΅ ΡΡΠΌΠΌΠ° ΡΠ΅Π±Π΅Ρ Π² ΡΠΈΠΊΠ»Π΅ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½Π°). ΠΠ΄Π΅ΡΡ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΠ»Π³ΠΎΡΠΈΡΠΌ, Π»Π΅ΠΆΠ°ΡΠΈΠΉ Π² ΠΎΡΠ½ΠΎΠ²Π΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π€Π»ΠΎΠΉΠ΄Π°-Π£ΠΎΡΡΠ°Π»Π»Π°:
Dij(k) β min ( Dij(k-1), Dij(k-1)+Dkj(k-1))
Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΠΊΠΎΠ΄: ΠΠ»Π³ΠΎΡΠΈΡΠΌ Π€Π»ΠΎΠΉΠ΄Π°-Π£ΠΎΡΡΠ°Π»Π»Π°
8. ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΡΠΈΠΌΠ° (Prim's Algorithm)
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΡΠΈΠΌΠ° β ΡΡΠΎ ΠΆΠ°Π΄Π½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΡΡΠΎΠ²Π½ΠΎΠ³ΠΎ Π΄Π΅ΡΠ΅Π²Π° ΠΈΠ· Π³ΡΠ°ΡΠ°. ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΡΠΈΠΌΠ° Π½Π°Ρ ΠΎΠ΄ΠΈΡ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ΅Π±Π΅Ρ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΊΠ°ΠΆΠ΄ΡΡ Π²Π΅ΡΡΠΈΠ½Ρ Π³ΡΠ°ΡΠ°, ΡΠ°ΠΊ ΡΡΠΎ ΡΡΠΌΠΌΠ° Π²Π΅ΡΠΎΠ² ΡΠ΅Π±Π΅Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π°.
ΠΡΠΎΡΡΠΎΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π΄Π»Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΡΠΈΠΌΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΡ:
- ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΡΡΠΎΠ²Π½ΠΎΠ΅ Π΄Π΅ΡΠ΅Π²ΠΎ ΡΠΎ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠ½ΠΎΠΉ.
- ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ Π²ΡΠ΅ ΡΠ΅Π±ΡΠ°, ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡΡΠΈΠ΅ Π΄Π΅ΡΠ΅Π²ΠΎ Ρ Π½ΠΎΠ²ΡΠΌΠΈ Π²Π΅ΡΡΠΈΠ½Π°ΠΌΠΈ, Π½Π°ΠΉΠ΄ΠΈΡΠ΅ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΠΈ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π΅Π³ΠΎ Π² Π΄Π΅ΡΠ΅Π²ΠΎ.
- ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΠΉΡΠ΅ ΠΏΠΎΠ²ΡΠΎΡΡΡΡ ΡΠ°Π³ 2, ΠΏΠΎΠΊΠ° ΠΌΡ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΡΡΠΎΠ²Π½ΠΎΠ΅ Π΄Π΅ΡΠ΅Π²ΠΎ.
ΠΠΎΠ»ΡΡΠΈΠΌ:
Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΠΊΠΎΠ΄: ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΡΠΈΠΌΠ°
9. ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΡΠ°ΡΠΊΠ°Π»Π° (Kruskal's Algorithm)
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΡΠ°ΡΠΊΠ°Π»Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΡΡΠΎΠ²Π½ΠΎΠ³ΠΎ Π΄Π΅ΡΠ΅Π²Π° Π΄Π»Ρ ΡΠ²ΡΠ·Π½ΠΎΠ³ΠΎ Π²Π·Π²Π΅ΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π³ΡΠ°ΡΠ°. ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΡΠ΅Π»Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° β Π½Π°ΠΉΡΠΈ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ΅Π±Π΅Ρ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±ΠΎΠΉΡΠΈ ΠΊΠ°ΠΆΠ΄ΡΡ Π²Π΅ΡΡΠΈΠ½Ρ Π³ΡΠ°ΡΠ°. ΠΠ½ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΆΠ°Π΄Π½ΡΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠΌ, Ρ. ΠΊ. Π½Π°Ρ ΠΎΠ΄ΠΈΡ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΡΠ°ΠΏΠ΅ Π²ΠΌΠ΅ΡΡΠΎ ΠΏΠΎΠΈΡΠΊΠ° Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΏΡΠΈΠΌΡΠΌΠ°.
ΠΡΠΎΡΡΠΎΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΡΠ°ΡΠΊΠ°Π»Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΡ:
- Π‘Π½Π°ΡΠ°Π»Π° ΠΎΡΡΠΎΡΡΠΈΡΡΠΉΡΠ΅ Π²ΡΠ΅ ΡΠ΅Π±ΡΠ° ΠΏΠΎ Π²Π΅ΡΡ (ΠΎΡ Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠ΅Π³ΠΎ ΠΊ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠ΅ΠΌΡ).
- Π’Π΅ΠΏΠ΅ΡΡ Π²ΠΎΠ·ΡΠΌΠΈΡΠ΅ ΡΠ΅Π±ΡΠΎ Ρ Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠΈΠΌ Π²Π΅ΡΠΎΠΌ ΠΈ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π΅Π³ΠΎ Π² ΠΎΡΡΠΎΠ²Π½ΠΎΠ΅ Π΄Π΅ΡΠ΅Π²ΠΎ. ΠΡΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌΠΎΠ΅ ΡΠ΅Π±ΡΠΎ ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΠΈΠΊΠ», Π½Π΅ Π±Π΅ΡΠΈΡΠ΅ ΡΠ°ΠΊΠΎΠ΅ ΡΠ΅Π±ΡΠΎ.
- ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΠΉΡΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΠ΅Π±ΡΠ°, ΠΏΠΎΠΊΠ° Π½Π΅ Π΄ΠΎΡΡΠΈΠ³Π½Π΅ΡΠ΅ Π²ΡΠ΅Ρ Π²Π΅ΡΡΠΈΠ½ ΠΈ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΎ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΡΡΠΎΠ²Π½ΠΎΠ΅ Π΄Π΅ΡΠ΅Π²ΠΎ.
Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΠΊΠΎΠ΄: ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΡΠ°ΡΠΊΠ°Π»Π°
10. ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΠΎΡΠ°ΡΠ°Π΄ΠΆΡ (Kosaraju's Algorithm)
ΠΡΠ»ΠΈ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΡΡΠΈΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π²Π΅ΡΡΠΈΠ½Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΠΈΠ· Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ Π²Π΅ΡΡΠΈΠ½Ρ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°, ΡΠΎ ΠΎΠ½ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠΈΠ»ΡΠ½ΠΎ ΡΠ²ΡΠ·Π°Π½Π½ΡΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠΌ (SCC). ΠΠ΄ΠΈΠ½ΠΎΡΠ½ΡΠΉ ΡΠ·Π΅Π» Π²ΡΠ΅Π³Π΄Π° ΡΠ²Π»ΡΠ΅ΡΡΡ SCC. ΠΠ»Π³ΠΎΡΠΈΡΠΌ Π€Π»ΠΎΠΉΠ΄Π°-Π£ΠΎΡΡΠ°Π»Π»Π° ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π±ΠΎΡΠ°. ΠΠΎ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π½Π°ΠΈΠ»ΡΡΡΠ΅ΠΉ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΠΎΡΠ°ΡΠ°Π΄ΠΆΡ.
ΠΡΠΎΡΡΠΎΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΠΎΡΠ°ΡΠ°Π΄ΠΆΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΡ:
- ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΎΠ±Ρ ΠΎΠ΄ Π³ΡΠ°ΡΠ° DFS. ΠΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ ΡΠ·Π΅Π» Π² ΡΡΠ΅ΠΊ ΠΏΠ΅ΡΠ΅Π΄ Π²ΠΎΠ·Π²ΡΠ°ΡΠΎΠΌ.
- ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ Π³ΡΠ°Ρ ΡΡΠ°Π½ΡΠΏΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠΎΠΌΠ΅Π½ΡΠ² ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΡΠ΅Π±ΡΠ°.
- ΠΠ·Π²Π»Π΅ΠΊΠ°ΠΉΡΠ΅ ΡΠ·Π»Ρ ΠΎΠ΄ΠΈΠ½ Π·Π° Π΄ΡΡΠ³ΠΈΠΌ ΠΈΠ· ΡΡΠ΅ΠΊΠ° ΠΈ ΡΠ½ΠΎΠ²Π° Π² DFS Π½Π° ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ Π³ΡΠ°ΡΠ΅.
ΠΠΎΠ»ΡΡΠΈΠΌ:
Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΠΊΠΎΠ΄: ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΠΎΡΠ°ΡΠ°Π΄ΠΆΡ
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠ»ΠΈΡΡ Ρ ΡΠ°ΠΌΡΠΌΠΈ Π²Π°ΠΆΠ½ΡΠΌΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π½Π°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ Ρ Π³ΡΠ°ΡΠ°ΠΌΠΈ. ΠΡΠ»ΠΈ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠ΄ΡΡΠ½ΡΡΡ ΠΈΠ»ΠΈ ΠΎΡΠ²Π΅ΠΆΠΈΡΡ Π·Π½Π°Π½ΠΈΡ ΠΏΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°ΠΌ ΠΈ ΡΡΡΡΠΊΡΡΡΠ°ΠΌ Π΄Π°Π½Π½ΡΡ , Π·Π°Π³Π»ΡΠ½ΠΈ Π½Π° Π½Π°Ρ ΠΊΡΡΡ Β«ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ ΠΈ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ Β», ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ:
- ΠΆΠΈΠ²ΡΠ΅ Π²Π΅Π±ΠΈΠ½Π°ΡΡ 2 ΡΠ°Π·Π° Π² Π½Π΅Π΄Π΅Π»Ρ;
- 47 Π²ΠΈΠ΄Π΅ΠΎΠ»Π΅ΠΊΡΠΈΠΉ ΠΈ 150 ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ Π·Π°Π΄Π°Π½ΠΈΠΉ;
- ΠΊΠΎΠ½ΡΡΠ»ΡΡΠ°ΡΠΈΠΈ Ρ ΠΏΡΠ΅ΠΏΠΎΠ΄Π°Π²Π°ΡΠ΅Π»ΡΠΌΠΈ ΠΊΡΡΡΠ°.
ΠΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ ΠΏΠΎ ΡΠ΅ΠΌΠ΅
- π³ ΠΠ΅ΡΠ΅Π²ΡΡ ΠΈ Π³ΡΠ°ΡΡ: ΡΡΠΎ ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΈ ΠΏΠΎΡΠ΅ΠΌΡ ΠΈΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π½ΡΠΆΠ½ΠΎ Π·Π½Π°ΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ
- β ΠΠ°ΡΠ΅ΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ Π·Π½Π°ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΠΈ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ
?
- β ΠΡΠΎΠΉΠ΄ΠΈ ΡΠ΅ΡΡ Π½Π° Π·Π½Π°Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΠΈ ΡΡΡΡΠΊΡΡΡ Π΄Π°Π½Π½ΡΡ