ΠΡΠ΅ΠΌ ΠΏΡΠΈΠ²Π΅Ρ.
Π ΡΡΠΎΠΉ Π·Π°ΠΌΠ΅ΡΠΊΠ΅ Ρ ΡΠ΅ΡΠΈΠ» ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ , ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΠ΅ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π³ΡΠ°ΡΠΎΠ² Π² ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΊΠ΅, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΠΎ Π΅ΡΠ΅ ΠΏΠ°ΡΠ΅ ΡΠ°ΠΊΠΈΡ ΡΡΡΡΠΊΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΠΌΠ΅Π½Ρ ΠΊΠ°ΠΊ-ΡΠΎ ΡΠ°ΠΌΠΎ ΡΠΎΠ±ΠΎΠΉ Β«Π²ΡΠΊΡΠΈΡΡΠ°Π»Π»ΠΈΠ·ΠΎΠ²Π°Π»ΠΈΡΡΒ».
ΠΡΠ°ΠΊ, Π½Π°ΡΠ½Π΅ΠΌ. ΠΠΎ Π½Π΅ Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ Π½Π°ΡΠ°Π»Π° β Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π³ΡΠ°Ρ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±ΡΠ²Π°ΡΡ (ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅, Π½Π΅ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅, Π²Π·Π²Π΅ΡΠ΅Π½Π½ΡΠ΅, Π½Π΅Π²Π·Π²Π΅ΡΠ΅Π½Π½ΡΠ΅, Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌΠΈ ΡΠ΅Π±ΡΠ°ΠΌΠΈ ΠΈ ΠΏΠ΅ΡΠ»ΡΠΌΠΈ ΠΈΠ»ΠΈ Π±Π΅Π· Π½ΠΈΡ ), ΠΌΡ Π²ΡΠ΅ ΡΠΆΠ΅ Π·Π½Π°Π΅ΠΌ.
ΠΡΠ°ΠΊ, ΠΏΠΎΠ΅Ρ
Π°Π»ΠΈ. ΠΠ°ΠΊΠΈΠ΅ ΠΆΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ ΡΡΡΡΠΊΡΡΡ Π΄Π°Π½Π½ΡΡ
Π΄Π»Ρ Β«Π³ΡΠ°ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΡΒ» ΠΌΡ ΠΈΠΌΠ΅Π΅ΠΌ.
1. ΠΠ°ΡΡΠΈΡΠ½ΡΠ΅ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ
1.1 ΠΠ°ΡΡΠΈΡΠ° ΡΠΌΠ΅ΠΆΠ½ΠΎΡΡΠΈ. ΠΠ°ΡΡΠΈΡΠ° ΡΠΌΠ΅ΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ· ΡΠ΅Π±Ρ ΠΌΠ°ΡΡΠΈΡΡ, Π³Π΄Π΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ ΡΡΡΠΎΠΊ ΠΈ ΡΡΠΎΠ»Π±ΡΠΎΠ² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ Π½ΠΎΠΌΠ΅ΡΠ°ΠΌ Π²Π΅ΡΡΠΈΠ½ Π³ΡΠ°ΡΠ°, Π° ΡΠ°ΠΌΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π΅Π΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° a(i,j) ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ΠΌ ΠΈΠ»ΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ΠΌ ΡΠ΅Π±Π΅Ρ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π΅ΡΡΠΈΠ½Π°ΠΌΠΈ i ΠΈ j (ΡΡΠ½ΠΎ-ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ Π΄Π»Ρ Π½Π΅ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π³ΡΠ°ΡΠ° ΡΠ°ΠΊΠ°Ρ ΠΌΠ°ΡΡΠΈΡΠ° Π±ΡΠ΄Π΅Ρ ΡΠΈΠΌΠΌΠ΅ΡΡΠΈΡΠ½Π°, Π½Ρ ΠΈΠ»ΠΈ ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠΈΡΡΡΡ, ΡΡΠΎ Π²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΌΡ Ρ ΡΠ°Π½ΠΈΠΌ Π»ΠΈΡΡ Π²ΡΡΠ΅ Π³Π»Π°Π²Π½ΠΎΠΉ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ). ΠΠ»Ρ Π½Π΅Π²Π·Π²Π΅ΡΠ΅Π½Π½ΡΡ Π³ΡΠ°ΡΠΎΠ² a(i,j) ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΠ΅Π±Π΅Ρ ΠΈΠ· i Π² j (Π΅ΡΠ»ΠΈ Π½Π΅Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠ΅Π±ΡΠ°, ΡΠΎ a(i,j)= 0), Π° Π΄Π»Ρ Π²Π·Π²Π΅ΡΠ΅Π½Π½ΡΡ ΡΠ°ΠΊΠΆΠ΅ β Π²Π΅ΡΠΎΠΌ (ΡΡΠΌΠΌΠ°ΡΠ½ΡΠΌ Π²Π΅ΡΠΎΠΌ) ΡΠΏΠΎΠΌΡΠ½ΡΡΡΡ ΡΠ΅Π±Π΅Ρ.
1.2 ΠΠ°ΡΡΠΈΡΠ° ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠ½ΠΎΡΡΠΈ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π°Ρ Π³ΡΠ°Ρ ΡΠ°ΠΊΠΆΠ΅ Ρ ΡΠ°Π½ΠΈΡΡΡ Π² ΡΠ°Π±Π»ΠΈΡΠ΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π½ΠΎΠΌΠ΅ΡΠ°ΠΌ ΡΡΡΠΎΠΊ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ Π½ΠΎΠΌΠ΅ΡΠ° Π΅Π³ΠΎ Π²Π΅ΡΡΠΈΠ½, Π° Π½ΠΎΠΌΠ΅ΡΠ°ΠΌ ΡΡΠΎΠ»Π±ΡΠΎΠ² β ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π·Π°Π½ΡΠΌΠ΅ΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ΅Π±ΡΠ°. ΠΡΠ»ΠΈ Π²Π΅ΡΡΠΈΠ½Π° ΠΈ ΡΠ΅Π±ΡΠΎ ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠ½Ρ Π΄ΡΡΠ³ Π΄ΡΡΠ³Ρ, ΡΠΎ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΡΡΠ΅ΠΉΠΊΠ΅ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π½Π΅Π½ΡΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ (Π΄Π»Ρ Π½Π΅ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π³ΡΠ°ΡΠΎΠ² Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ 1 Π² ΡΠ»ΡΡΠ°Π΅ ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠ½ΠΎΡΡΠΈ Π²Π΅ΡΡΠΈΠ½Ρ ΠΈ ΡΠ΅Π±ΡΠ°, Π΄Π»Ρ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ β Β«1Β», Π΅ΡΠ»ΠΈ ΡΠ΅Π±ΡΠΎ Β«Π²ΡΡ ΠΎΠ΄ΠΈΡΒ» ΠΈΠ· Π²Π΅ΡΡΠΈΠ½Ρ ΠΈ Β«-1Β», Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΎ Π² Π½Π΅Π΅ Β«Π²Ρ ΠΎΠ΄ΠΈΡΒ» (Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ, Π²Π΅Π΄Ρ Π·Π½Π°ΠΊ Β«ΠΌΠΈΠ½ΡΡΒ» ΡΠΎΠΆΠ΅ ΠΊΠ°ΠΊ Π±Ρ Β«Π²Ρ ΠΎΠ΄ΠΈΡΒ» Π² ΡΠΈΡΠ»ΠΎ Β«-1Β»)). ΠΠ»Ρ Π²Π·Π²Π΅ΡΠ΅Π½Π½ΡΡ ΠΆΠ΅ Π³ΡΠ°ΡΠΎΠ² ΠΎΠΏΡΡΡ ΠΆΠ΅ Π²ΠΌΠ΅ΡΡΠΎ 1 ΠΈ -1 ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΡΠΌΠΌΠ°ΡΠ½ΡΠΉ Π²Π΅Ρ ΡΠ΅Π±ΡΠ°.
2. ΠΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ
2.1 Π‘ΠΏΠΈΡΠΎΠΊ ΡΠΌΠ΅ΠΆΠ½ΠΎΡΡΠΈ. ΠΡ ΡΡΡ, Π²ΡΠΎΠ΄Π΅ Π±Ρ, Π²ΡΠ΅ ΠΏΡΠΎΡΡΠΎ. ΠΠ°ΠΆΠ΄ΠΎΠΉ Π²Π΅ΡΡΠΈΠ½Π΅ Π³ΡΠ°ΡΠ° ΠΌΠΎΠΆΠ½ΠΎ, Π² ΠΎΠ±ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Π»ΡΠ±ΡΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΡΡΡΠΊΡΡΡΡ (ΡΠΏΠΈΡΠΎΠΊ, Π²Π΅ΠΊΡΠΎΡ, ΠΌΠ°ΡΡΠΈΠ², β¦), Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΡΠ΄ΡΡ Ρ ΡΠ°Π½ΠΈΡΡΡΡ Π½ΠΎΠΌΠ΅ΡΠ° Π²ΡΠ΅Ρ Π²Π΅ΡΡΠΈΠ½, ΡΠΌΠ΅ΠΆΠ½ΠΎΠΉ Π΄Π°Π½Π½ΠΎΠΉ. ΠΠ»Ρ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π³ΡΠ°ΡΠΎΠ² Π±ΡΠ΄Π΅ΠΌ Π·Π°Π½ΠΎΡΠΈΡΡ Π² ΡΠ°ΠΊΠΎΠΉ ΡΠΏΠΈΡΠΎΠΊ Π»ΠΈΡΡ ΡΠ΅ Π²Π΅ΡΡΠΈΠ½Ρ, Π² ΠΊΠΎΡΠΎΡΡΠ΅ Π΅ΡΡΡ Β«Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΠΎΠ΅Β» ΡΠ΅Π±ΡΠΎ ΠΈΠ· Π²Π΅ΡΡΠΈΠ½Ρ-ΠΏΡΠΈΠ·Π½Π°ΠΊΠ°. ΠΠ»Ρ Π²Π·Π²Π΅ΡΠ΅Π½Π½ΡΡ Π³ΡΠ°ΡΠΎΠ² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π±ΡΠ΄Π΅Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ.
2.2 Π‘ΠΏΠΈΡΠΎΠΊ ΡΠ΅Π±Π΅Ρ. ΠΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΠΎΠΏΡΠ»ΡΡΠ½Π°Ρ ΡΡΡΡΠΊΡΡΡΠ° Π΄Π°Π½Π½ΡΡ . Π‘ΠΏΠΈΡΠΎΠΊ ΡΠ΅Π±Π΅Ρ, ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π°ΠΌ ΠΠ°ΠΏΠΈΡΠ°Π½ ΠΡΠ΅Π²ΠΈΠ΄Π½ΠΎΡΡΡ, ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅Π±Π΅Ρ Π³ΡΠ°ΡΠ°, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ Π·Π°Π΄Π°Π΅ΡΡΡ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠ½ΠΎΠΉ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠ½ΠΎΠΉ (Π΄Π»Ρ Π½Π΅ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π³ΡΠ°ΡΠΎΠ² Π·Π΄Π΅ΡΡ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ Π²Π°ΠΆΠ΅Π½, Ρ ΠΎΡΡ Π΄Π»Ρ ΡΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π²Π΅ΡΡΠΈΠ½Ρ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅ Π²ΠΎΠ·ΡΠ°ΡΡΠ°Π½ΠΈΡ) ΠΈ Π²Π΅ΡΠΎΠΌ (ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π²Π·Π²Π΅ΡΠ΅Π½Π½ΡΡ Π³ΡΠ°ΡΠΎΠ²).
ΠΡΠΎ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ Π²ΡΡΠ΅ ΡΠΏΠΈΡΠΊΠΈ-ΠΌΠ°ΡΡΠΈΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ (ΠΈ Ρ ΠΈΠ»Π»ΡΡΡΡΠ°ΡΠΈΡΠΌΠΈ) ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
2.3 ΠΠ°ΡΡΠΈΠ² ΡΠΌΠ΅ΠΆΠ½ΠΎΡΡΠΈ. ΠΠ΅ ΡΠ°ΠΌΠ°Ρ ΡΠ°ΡΡΠΎ Π²ΡΡΡΠ΅ΡΠ°ΡΡΠ°ΡΡΡ ΡΡΡΡΠΊΡΡΡΠ°. ΠΠΎ ΡΠ²ΠΎΠ΅ΠΉ ΡΡΡΠΈ, ΠΎΠ½ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠΎΡΠΌΡ Β«ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈΒ» ΡΠΏΠΈΡΠΊΠΎΠ² ΡΠΌΠ΅ΠΆΠ½ΠΎΡΡΠΈ Π² ΠΎΠ΄Π½Ρ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΡΡΡΠΊΡΡΡΡ (ΠΌΠ°ΡΡΠΈΠ², Π²Π΅ΠΊΡΠΎΡ). ΠΠ΅ΡΠ²ΡΠ΅ n (ΠΏΠΎ ΡΠΈΡΠ»Ρ Π²Π΅ΡΡΠΈΠ½ Π³ΡΠ°ΡΠ°) ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΡΡΠ°ΡΡΠΎΠ²ΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΆΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π°, Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΠΊΠΎΡΠΎΡΡΡ Π² Π½Π΅ΠΌ ΠΏΠΎΠ΄ΡΡΠ΄ Π·Π°ΠΏΠΈΡΠ°Π½Ρ Π²ΡΠ΅ Π²Π΅ΡΡΠΈΠ½Ρ, ΡΠΌΠ΅ΠΆΠ½ΡΠ΅ Π΄Π°Π½Π½ΠΎΠΉ.
ΠΠΎΡ Π·Π΄Π΅ΡΡ Ρ Π½Π°ΡΠ΅Π» ΡΠ°ΠΌΠΎΠ΅ ΠΏΠΎΠ½ΡΡΠ½ΠΎΠ΅ (Π΄Π»Ρ ΡΠ΅Π±Ρ) ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅:
3. ΠΠ΅ΠΊΡΠΎΡ ΡΠΌΠ΅ΠΆΠ½ΠΎΡΡΠΈ ΠΈ ΠΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΡΠΌΠ΅ΠΆΠ½ΠΎΡΡΠΈ
ΠΠ½ΠΎ ΡΠ°ΠΊ Π²ΡΡΠ»ΠΎ, ΡΡΠΎ Π°Π²ΡΠΎΡ ΡΡΠΈΡ ΡΡΡΠΎΠΊ, Π½Π΅ ΡΠ²Π»ΡΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠΌ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠΌΠ΅Π²ΡΠΈΠΉ Π΄Π΅Π»ΠΎ Ρ Π³ΡΠ°ΡΠ°ΠΌΠΈ, ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΈΠΌΠ΅Π» Π΄Π΅Π»ΠΎ ΡΠΎ ΡΠΏΠΈΡΠΊΠ°ΠΌΠΈ ΡΠ΅Π±Π΅Ρ. ΠΠ΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ, ΡΠ΄ΠΎΠ±Π½ΠΎ, Π΅ΡΠ»ΠΈ Π² Π³ΡΠ°ΡΠ΅ Π΅ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΏΠ΅ΡΠ»ΠΈ ΠΈ ΡΠ΅Π±ΡΠ°. Π Π²ΠΎΡ, Π² ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΏΠΈΡΠΊΠΎΠ² ΡΠ΅Π±Π΅Ρ, ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ ΡΠ΄Π΅Π»ΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΈ ΠΈΡ Β«ΡΠ°Π·Π²ΠΈΡΠΈΡ/ ΠΎΡΠ²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ/ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ/ ΠΌΡΡΠ°ΡΠΈΠΈΒ», Π° ΠΈΠΌΠ΅Π½Π½ΠΎ: Π²Π΅ΠΊΡΠΎΡΡ ΡΠΌΠ΅ΠΆΠ½ΠΎΡΡΠΈ ΠΈ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΠΎΠΌΡ ΠΌΠ°ΡΡΠΈΠ²Ρ ΡΠΌΠ΅ΠΆΠ½ΠΎΡΡΠΈ.
3.1 ΠΠ΅ΠΊΡΠΎΡ ΡΠΌΠ΅ΠΆΠ½ΠΎΡΡΠΈ
Π‘Π»ΡΡΠ°ΠΉ (Π°1): Π½Π΅Π²Π·Π²Π΅ΡΠ΅Π½Π½ΡΠΉ Π³ΡΠ°Ρ
ΠΡΠ΄Π΅ΠΌ Π½Π°Π·ΡΠ²Π°ΡΡ Π²Π΅ΠΊΡΠΎΡΠΎΠΌ ΡΠΌΠ΅ΠΆΠ½ΠΎΡΡΠΈ Π΄Π»Ρ Π½Π΅Π²Π·Π²Π΅ΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π³ΡΠ°ΡΠ° ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΡΠΉ Π½Π°Π±ΠΎΡ ΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠ΅Π»ΡΡ
ΡΠΈΡΠ΅Π» (Π°[2i], a[2i+1],…, Π³Π΄Π΅ i Π½ΡΠΌΠ΅ΡΡΠ΅ΡΡΡ c 0), Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΏΠ°ΡΠ° ΡΠΈΡΠ΅Π» Π°[2i], a[2i+1] Π·Π°Π΄Π°Π΅Ρ ΡΠ΅Π±ΡΠΎ Π³ΡΠ°ΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ Π²Π΅ΡΡΠΈΠ½Π°ΠΌΠΈ Π°[2i] ΠΈ a[2i+1] ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.
ΠΠ°Π½Π½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ Π·Π°ΠΏΠΈΡΠΈ Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΉ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ Π³ΡΠ°Ρ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ ΠΎΠ±Π° Π²Π°ΡΠΈΠ°Π½ΡΠ°). ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠΎΡΠΌΠ°ΡΠ° Π΄Π»Ρ ΠΎΡΠ³ΡΠ°ΡΠ° ΡΡΠΈΡΠ°Π΅ΡΡΡ, ΡΡΠΎ ΡΠ΅Π±ΡΠΎ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΎ ΠΈΠ· Π°[2i] Π² a[2i+1]. ΠΠ΄Π΅ΡΡ ΠΈ Π΄Π°Π»Π΅Π΅: Π΄Π»Ρ Π½Π΅ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
Π³ΡΠ°ΡΠΎΠ², ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ, ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΠΏΠΎΡΡΠ΄ΠΊΡ Π·Π°ΠΏΠΈΡΠΈ Π²Π΅ΡΡΠΈΠ½ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΠ»Π° Π²Π΅ΡΡΠΈΠ½Π° Ρ ΠΌΠ΅Π½ΡΡΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ Π΅ΠΉ Π½ΠΎΠΌΠ΅ΡΠ°).
Π C++ Π²Π΅ΠΊΡΠΎΡ ΡΠΌΠ΅ΠΆΠ½ΠΎΡΡΠΈ ΡΠ΅Π»Π΅ΡΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎ Π·Π°Π΄Π°Π²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ std::vector, ΠΎΡΡΡΠ΄Π° ΠΈ Π±ΡΠ»ΠΎ Π²ΡΠ±ΡΠ°Π½ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠΉ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ .
Π‘Π»ΡΡΠ°ΠΉ (Π°2): Π½Π΅Π²Π·Π²Π΅ΡΠ΅Π½Π½ΡΠΉ Π³ΡΠ°Ρ, Π²Π΅ΡΠ° ΡΠ΅Π±Π΅Ρ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅
ΠΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ ΡΠΎ ΡΠ»ΡΡΠ°Π΅ΠΌ (Π°1) Π½Π°Π·ΠΎΠ²Π΅ΠΌ Π²Π΅ΠΊΡΠΎΡΠΎΠΌ ΡΠΌΠ΅ΠΆΠ½ΠΎΡΡΠΈ Π΄Π»Ρ Π²Π·Π²Π΅ΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π³ΡΠ°ΡΠ° Ρ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΌΠΈ Π²Π΅ΡΠ°ΠΌΠΈ ΡΠ΅Π±Π΅Ρ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΡΠΉ Π½Π°Π±ΠΎΡ (Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ°ΡΡΠΈΠ²) ΡΠΈΡΠ΅Π» (Π°[3i], a[3i+1], a[3i+2],…, Π³Π΄Π΅ i Π½ΡΠΌΠ΅ΡΡΠ΅ΡΡΡ c 0), Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ Β«ΡΡΠΈΠΏΠ»Π΅ΡΒ» ΡΠΈΡΠ΅Π» Π°[3i], a[3i+1], a[3i+2] Π·Π°Π΄Π°Π΅Ρ ΡΠ΅Π±ΡΠΎ Π³ΡΠ°ΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ Π²Π΅ΡΡΠΈΠ½Π°ΠΌΠΈ ΠΏΠΎΠ΄ Π½ΠΎΠΌΠ΅ΡΠ°ΠΌΠΈ Π°[3i] ΠΈ a[3i+1] ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ a[3i+2] Π΅ΡΡΡ Π²Π΅Ρ ΡΡΠΎΠ³ΠΎ ΡΠ΅Π±ΡΠ°. Π’Π°ΠΊΠΎΠΉ Π³ΡΠ°Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΊΠ°ΠΊ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ, ΡΠ°ΠΊ ΠΈ Π½Π΅Ρ.
Π‘Π»ΡΡΠ°ΠΉ (Π±): Π½Π΅Π²Π·Π²Π΅ΡΠ΅Π½Π½ΡΠΉ Π³ΡΠ°Ρ, Π²Π΅ΡΠ° ΡΠ΅Π±Π΅Ρ Π½Π΅ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅
ΠΠΈΠ΄Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅ (Π²Π΅ΠΊΡΠΎΡΠ΅) Π½Π΅Π»ΡΠ·Ρ Ρ ΡΠ°Π½ΠΈΡΡ ΡΠ°Π·Π½ΠΎΡΠΎΠ΄Π½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, ΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ. ΠΡΠ°Ρ Ρ ΡΠ°Π½ΠΈΡΡΡ Π² ΠΏΠ°ΡΠ΅ Π²Π΅ΠΊΡΠΎΡΠΎΠ², Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π΅ΠΊΡΠΎΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π΅ΠΊΡΠΎΡΠΎΠΌ ΡΠΌΠ΅ΠΆΠ½ΠΎΡΡΠΈ Π³ΡΠ°ΡΠ° Π±Π΅Π· ΡΠΊΠ°Π·Π°Π½ΠΈΡ Π²Π΅ΡΠΎΠ², Π° Π²ΡΠΎΡΠΎΠΉ Π²Π΅ΠΊΡΠΎΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ Π²Π΅ΡΠ° (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π΄Π»Ρ C++: std::pair<std::vector, std::vector>). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΄Π»Ρ ΡΠ΅Π±ΡΠ°, Π·Π°Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠ°ΡΠΎΠΉ Π²Π΅ΡΡΠΈΠ½ ΠΏΠΎΠ΄ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΠΌΠΈ 2i, 2i+1 ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π²Π΅ΠΊΡΠΎΡΠ°, Π²Π΅Ρ Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π΅Π½ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΏΠΎΠ΄ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ i Π²ΡΠΎΡΠΎΠ³ΠΎ Π²Π΅ΠΊΡΠΎΡΠ°.
ΠΡ Π° Π·Π°ΡΠ΅ΠΌ ΡΡΠΎ Π½Π°Π΄ΠΎ?
ΠΡ, Π°Π²ΡΠΎΡΡ ΡΡΠΈΡ ΡΡΡΠΎΠΊ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠ΄Π° Π·Π°Π΄Π°Ρ ΡΡΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ. ΠΡ Π° Ρ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ, ΡΡΡ Π±ΡΠ΄ΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°:
- ΠΠ΅ΠΊΡΠΎΡ ΡΠΌΠ΅ΠΆΠ½ΠΎΡΡΠΈ, ΠΊΠ°ΠΊ ΠΈ Π»ΡΠ±Π°Ρ Π΄ΡΡΠ³Π°Ρ Β«ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½Π°ΡΒ» ΡΡΡΡΠΊΡΡΡΠ°, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½Π°, Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΌΠ΅Π½ΡΡΠ΅ ΠΏΠ°ΠΌΡΡΠΈ, ΡΠ΅ΠΌ ΠΌΠ°ΡΡΠΈΡΠ° ΡΠΌΠ΅ΠΆΠ½ΠΎΡΡΠΈ (Π΄Π»Ρ ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΡΡ Π³ΡΠ°ΡΠΎΠ²), ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ.
- ΠΠ΅ΡΡΠΈΠ½Ρ Π³ΡΠ°ΡΠ°, Π² ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅, ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΡΠΎΠΌΠ°ΡΠΊΠΈΡΠΎΠ²Π°Π½Ρ ΠΈ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΡΠΈΡΠ»Π°ΠΌΠΈ. ΠΠ΄ΡΡΠ³ Π΄Π° ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΈ ΡΠ°ΠΊΠΎΠΉ Β«ΠΈΠ·Π²ΡΠ°ΡΒ».
- ΠΡΠ°ΡΡ ΠΌΠΎΠ³ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΠ΅Π±ΡΠ° ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΏΠ΅ΡΠ»ΠΈ, ΠΏΡΠΈΡΠ΅ΠΌ Ρ ΡΠ°Π·Π½ΡΠΌΠΈ Π²Π΅ΡΠ°ΠΌΠΈ (ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠ΅, ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅, Π΄Π°ΠΆΠ΅ Π½ΡΠ»Π΅Π²ΡΠ΅). ΠΠΈΠΊΠ°ΠΊΠΈΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ ΡΡΡ Π½Π΅Ρ.
- Π Π΅ΡΠ΅ ΡΠ΅Π±ΡΠ°ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°ΡΡ ΡΠ°Π·Π½ΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° β Π½ΠΎ ΠΎΠ± ΡΡΠΎΠΌ ΡΠΌ. ΠΏ. 4.
ΠΠ΄Π½Π°ΠΊΠΎ, Π½Π°Π΄ΠΎ ΠΏΡΠΈΠ·Π½Π°ΡΡ, Π±ΡΡΡΡΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ΅Π±ΡΡ Π΄Π°Π½Π½Π°Ρ Β«ΡΠΏΠΈΡΠΊΠΎΡΠ°Β» Π½Π΅ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅Ρ. Π Π·Π΄Π΅ΡΡ Π½Π° ΠΏΠΎΠΌΠΎΡΡ ΡΠΏΠ΅ΡΠΈΡ ΠΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΡΠΌΠ΅ΠΆΠ½ΠΎΡΡΠΈ, ΠΎ ΡΠ΅ΠΌ β Π½ΠΈΠΆΠ΅.
3.2 ΠΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΡΠΌΠ΅ΠΆΠ½ΠΎΡΡΠΈ
ΠΡΠ°ΠΊ, Π΅ΡΠ»ΠΈ Π΄Π»Ρ Π½Π°Ρ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌΡ ΡΠ΅Π±ΡΡ, Π΅Π³ΠΎ Π²Π΅ΡΡ ΠΈ ΠΈΠ½ΡΠΌ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΡΠΈΡΠΈΡΠ½ΡΠΌ, Π° ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΠΏΠ°ΠΌΡΡΠΈ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ°ΡΡΠΈΡΡ ΡΠΌΠ΅ΠΆΠ½ΠΎΡΡΠΈ, ΡΠΎ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠ΄ΡΠΌΠ°Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π²Π΅ΠΊΡΠΎΡ ΡΠΌΠ΅ΠΆΠ½ΠΎΡΡΠΈ, ΡΡΠΎΠ±Ρ ΡΠ΅ΡΠΈΡΡ Π΄Π°Π½Π½ΡΡ Π·Π°Π΄Π°ΡΡ. ΠΡΠ°ΠΊ, ΠΊΠ»ΡΡΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅Π±ΡΠΎ Π³ΡΠ°ΡΠ°, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ Π² Π²ΠΈΠ΄Π΅ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΠΎΠΉ ΠΏΠ°ΡΡ ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π». ΠΠ° ΡΡΠΎ ΠΆΠ΅ ΡΡΠΎ ΠΏΠΎΡ ΠΎΠΆΠ΅? Π£ΠΆ Π½Π΅ Π½Π° ΠΊΠ»ΡΡ Π»ΠΈ Π² Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅? Π, Π΅ΡΠ»ΠΈ ΡΠ°ΠΊ, ΠΏΠΎΡΠ΅ΠΌΡ Π±Ρ Π½Π°ΠΌ ΡΡΠΎ ΠΈ Π½Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ? ΠΡΡΡΡ Ρ Π½Π°Ρ ΠΏΠΎΡΠ²ΠΈΡΡΡ ΡΠ°ΠΊΠΎΠΉ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ², Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΠΊΠ»ΡΡΡ β ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΠΎΠΉ ΠΏΠ°ΡΠ΅ ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π» β Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΎ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ β ΡΠ΅Π»ΠΎΠ΅ ΠΈΠ»ΠΈ Π²Π΅ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, Π·Π°Π΄Π°ΡΡΠ΅Π΅ Π²Π΅Ρ ΡΠ΅Π±ΡΠ°. Π C++ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΡ ΡΡΡΡΠΊΡΡΡΡ ΡΠ΅Π»Π΅ΡΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎ Π½Π° Π±Π°Π·Π΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° std::map (std::map <std::pair < int, int>, int> ΠΈΠ»ΠΈ std::map <std::pair < int, int>, double>), Π»ΠΈΠ±ΠΎ std::multimap, Π΅ΡΠ»ΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΠ΅Π±ΡΠ°. ΠΡ ΠΈ Π²ΠΎΡ, ΠΈ Ρ Π½Π°Ρ ΠΏΠΎΠ»ΡΡΠΈΠ»Π°ΡΡ ΡΡΡΡΠΊΡΡΡΠ° Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π³ΡΠ°ΡΠΎΠ², ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΌΠ΅Π½ΡΡΠ΅ ΠΏΠ°ΠΌΡΡΠΈ, Π½Π΅ΠΆΠ΅Π»ΠΈ Β«ΠΌΠ°ΡΡΠΈΡΠ½ΡΠ΅Β» ΡΡΡΡΠΊΡΡΡΡ, ΠΌΠΎΠΆΠ΅Ρ Π·Π°Π΄Π°Π²Π°ΡΡ Π³ΡΠ°ΡΡ ΡΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌΠΈ ΠΏΠ΅ΡΠ»ΡΠΌΠΈ ΠΈ ΡΠ΅Π±ΡΠ°ΠΌΠΈ ΠΈ Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΈΠΌΠ΅ΡΡΠ°Ρ ΠΆΠ΅ΡΡΠΊΠΈΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ Π½Π΅ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π½ΠΎΠΌΠ΅ΡΠΎΠ² Π²Π΅ΡΡΠΈΠ½ (Π½Π΅ Π·Π½Π°Ρ, ΠΊΠΎΠΌΡ ΡΡΠΎ Π½Π°Π΄ΠΎ, Π½ΠΎ Π²ΡΠ΅ ΠΆΠ΅).
4. Π‘ΡΡΡΠΊΡΡΡ Π΄Π°Π½Π½ΡΡ Ρ ΠΎΡΡ Β«Π·Π°Π»Π΅ΠΉΡΡΒ», Π° ΡΠ΅Π³ΠΎ-ΡΠΎ Π½Π΅ Ρ Π²Π°ΡΠ°Π΅Ρ
Π ΠΏΡΠ°Π²Π΄Π° ΠΆΠ΅: ΠΏΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΡΡΠ΄Π° Π·Π°Π΄Π°Ρ Ρ Π½Π°Ρ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π² ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΠΈ ΡΠ΅Π±ΡΠ°ΠΌ Π³ΡΠ°ΡΠ° ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ ΠΏΡΠΈΠ·Π½Π°ΠΊΠΎΠ² ΠΈ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Π² ΠΈΡ Ρ ΡΠ°Π½Π΅Π½ΠΈΠΈ. ΠΡΠ»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎ ΡΠ²Π΅ΡΡΠΈ ΡΡΠΈ ΠΏΡΠΈΠ·Π½Π°ΠΊΠΈ ΠΊ ΡΠ΅Π»ΡΠΌ ΡΠΈΡΠ»Π°ΠΌ, ΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ ΡΠ°Π½ΠΈΡΡ ΡΠ°ΠΊΠΈΠ΅ Β«Π³ΡΠ°ΡΡ Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΠΏΡΠΈΠ·Π½Π°ΠΊΠ°ΠΌΠΈΒ» ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Π²Π΅ΠΊΡΠΎΡΠ° ΡΠΌΠ΅ΠΆΠ½ΠΎΡΡΠΈ ΠΈ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠΌΠ΅ΠΆΠ½ΠΎΡΡΠΈ.
ΠΡΠ°ΠΊ, ΠΏΡΡΡΡ Ρ Π½Π°Ρ ΠΈΠΌΠ΅Π΅ΡΡΡ Π½Π΅Π²Π·Π²Π΅ΡΠ΅Π½Π½ΡΠΉ Π³ΡΠ°Ρ, Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ΅Π±ΡΠ° ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Ρ ΡΠ°Π½ΠΈΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, 2 Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΡΠΈΠ·Π½Π°ΠΊΠ°, Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡΡ ΡΠ΅Π»ΡΠΌΠΈ ΡΠΈΡΠ»Π°ΠΌΠΈ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ Π΅Π³ΠΎ Π²Π΅ΠΊΡΠΎΡ ΡΠΌΠ΅ΠΆΠ½ΠΎΡΡΠΈ ΠΊΠ°ΠΊ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΡΠΉ Π½Π°Π±ΠΎΡ Π½Π΅ Β«ΠΏΠ°ΡΒ», Π° Β«ΠΊΠ²Π°ΡΡΠ΅ΡΠΎΠ²Β» ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π» (Π°[2i], a[2i+1], a[2i+2], a[2i+3]…), Π³Π΄Π΅ a[2i+2] ΠΈ a[2i+3] ΠΈ Π±ΡΠ΄ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΏΡΠΈΠ·Π½Π°ΠΊΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΡΠ΅Π±ΡΠ°. ΠΠ»Ρ Π³ΡΠ°ΡΠ° ΠΆΠ΅ Ρ ΡΠ΅Π»ΡΠΌΠΈ Π²Π΅ΡΠ°ΠΌΠΈ ΡΠ΅Π±Π΅Ρ ΠΏΠΎΡΡΠ΄ΠΎΠΊ, Π² ΡΠ΅Π»ΠΎΠΌ, Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ΅Π½ (ΠΎΡΠ»ΠΈΡΠΈΠ΅ΠΌ Π±ΡΠ΄Π΅Ρ ΡΠ²Π»ΡΡΡΡΡ Π»ΠΈΡΡ ΡΠΎ ΠΎΠ±ΡΡΠΎΡΡΠ΅Π»ΡΡΡΠ²ΠΎ, ΡΡΠΎ ΠΏΡΠΈΠ·Π½Π°ΠΊΠΈ Π±ΡΠ΄ΡΡ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΠΏΠΎΡΠ»Π΅ Π²Π΅ΡΠ° ΡΠ΅Π±ΡΠ° ΠΈ Π·Π°Π΄Π°Π²Π°ΡΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ a[2i+3] ΠΈ a[2i+4], Π° ΡΠ°ΠΌΠΎ ΡΠ΅Π±ΡΠΎ Π±ΡΠ΄Π΅Ρ Π·Π°Π΄Π°Π²Π°ΡΡΡΡ Π½Π΅ 4-ΠΌΡ, Π° 5-Ρ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΡΠΌΠΈ ΡΠΈΡΠ»Π°ΠΌΠΈ). Π Π΄Π»Ρ Π³ΡΠ°ΡΠ° Ρ Π½Π΅ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΌΠΈ Π²Π΅ΡΠ°ΠΌΠΈ ΡΠ΅Π±Π΅Ρ ΠΏΡΠΈΠ·Π½Π°ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π² Π΅Π³ΠΎ Π½Π΅Π²Π·Π²Π΅ΡΠ΅Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ.
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠΌΠ΅ΠΆΠ½ΠΎΡΡΠΈ Π΄Π»Ρ Π³ΡΠ°ΡΠΎΠ² Ρ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΌΠΈ Π²Π΅ΡΠ°ΠΌΠΈ ΡΠ΅Π±Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Π²Π°ΡΡ Π½Π΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, Π° ΠΌΠ°ΡΡΠΈΠ² (Π²Π΅ΠΊΡΠΎΡ) ΡΠΈΡΠ΅Π», Π·Π°Π΄Π°ΡΡΠΈΡ , ΠΏΠΎΠΌΠΈΠΌΠΎ Π²Π΅ΡΠ° ΡΠ΅Π±ΡΠ°, Π²ΡΠ΅ Π΅Π³ΠΎ ΠΏΡΠΎΡΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΏΡΠΈΠ·Π½Π°ΠΊΠΈ. ΠΡΠΈ ΡΡΠΎΠΌ Π½Π΅ΡΠ΄ΠΎΠ±ΡΡΠ²ΠΎΠΌ Π΄Π»Ρ ΡΠ»ΡΡΠ°Ρ Π½Π΅ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΡ Π²Π΅ΡΠΎΠ² Π±ΡΠ΄Π΅Ρ ΡΠ²Π»ΡΡΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π·Π°Π΄Π°Π½ΠΈΡ ΠΏΡΠΈΠ·Π½Π°ΠΊΠ° ΡΠΈΡΠ»ΠΎΠΌ Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΡΠΎΠΉ (Π΄Π°, ΡΡΠΎ Π½Π΅ΡΠ΄ΠΎΠ±ΡΡΠ²ΠΎ, Π½ΠΎ Π΅ΡΠ»ΠΈ ΡΠ°ΠΊΠΈΡ ΠΏΡΠΈΠ·Π½Π°ΠΊΠΎΠ² Π½Π΅ ΡΠ°ΠΊ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ, ΠΈ Π΅ΡΠ»ΠΈ Π½Π΅ Π·Π°Π΄Π°Π²Π°ΡΡ ΠΈΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ Β«Ρ ΠΈΡΡΡΠΌΠΈΒ» double, ΡΠΎ ΠΎΠ½ΠΎ, ΠΌΠΎΠΆΠ΅Ρ, ΠΈ Π½ΠΈΡΠ΅Π³ΠΎ). Π Π·Π½Π°ΡΠΈΡ, Π² C++ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠ΅ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ ΡΠΌΠ΅ΠΆΠ½ΠΎΡΡΠΈ ΠΌΠΎΠ³ΡΡ Π·Π°Π΄Π°Π²Π°ΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ: std::map <std::pair < int, int>, std::vector> ΠΈΠ»ΠΈ std::map <std::pair < int, int>, std::vector, ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΏΠ΅ΡΠ²ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ Π² Β«Π²Π΅ΠΊΡΠΎΡΠ΅-Π·Π½Π°ΡΠ΅Π½ΠΈΠΈ-ΠΏΠΎ-ΠΊΠ»ΡΡΡΒ» Π±ΡΠ΄Π΅Ρ Π²Π΅Ρ ΡΠ΅Π±ΡΠ°, Π° Π΄Π°Π»Π΅Π΅ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ Π΅Π³ΠΎ ΠΏΡΠΈΠ·Π½Π°ΠΊΠΎΠ².
ΠΠΈΡΠ΅ΡΠ°ΡΡΡΠ°:
ΠΡΠΎ Π³ΡΠ°ΡΡ ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ Π²ΠΎΠΎΠ±ΡΠ΅:
1. ΠΠΎΡΠΌΠ΅Π½, Π’ΠΎΠΌΠ°Ρ Π₯., ΠΠ΅ΠΉΠ·Π΅ΡΡΠΎΠ½, Π§Π°ΡΠ»ΡΠ· Π., Π ΠΈΠ²Π΅ΡΡ, Π ΠΎΠ½Π°Π»ΡΠ΄ Π., Π¨ΡΠ°ΠΉΠ½, ΠΠ»ΠΈΡΡΠΎΡΠ΄. ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ: ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΠΈ Π°Π½Π°Π»ΠΈΠ·, 2-Π΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅: ΠΠ΅Ρ. Ρ Π°Π½Π³Π». β Π.: ΠΠ·Π΄Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ Π΄ΠΎΠΌ Β«ΠΠΈΠ»ΡΡΠΌΡΒ», 2011.
2. Π₯Π°ΡΠ°ΡΠΈ Π€ΡΡΠ½ΠΊ. Π’Π΅ΠΎΡΠΈΡ Π³ΡΠ°ΡΠΎΠ². Π.: ΠΠΈΡ, 1973.
ΠΠΎΠΊΠ»Π°Π΄ Π°Π²ΡΠΎΡΠ° ΠΏΡΠΎ ΡΡΠΈ ΡΠ°ΠΌΡΠ΅ Π²Π΅ΠΊΡΠΎΡ ΠΈ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΡΠΌΠ΅ΠΆΠ½ΠΎΡΡΠΈ:
3. Π§Π΅ΡΠ½ΠΎΡΡ
ΠΎΠ² Π‘.Π. ΠΠ΅ΠΊΡΠΎΡ ΡΠΌΠ΅ΠΆΠ½ΠΎΡΡΠΈ ΠΈ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΡΠΌΠ΅ΠΆΠ½ΠΎΡΡΠΈ ΠΊΠ°ΠΊ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ Π³ΡΠ°ΡΠΎΠ² / S.A. Chernouhov. Adjacency vector and adjacency map as data structures to represent a graph // Π‘Π±ΠΎΡΠ½ΠΈΠΊ ΡΡΠ°ΡΠ΅ΠΉ ΠΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΠΎΠΉ Π½Π°ΡΡΠ½ΠΎ-ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ Β«ΠΡΠΎΠ±Π»Π΅ΠΌΡ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΈΠ½Π½ΠΎΠ²Π°ΡΠΈΠΎΠ½Π½ΡΡ
ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΎΠΊ ΠΈ ΠΏΡΡΠΈ ΠΈΡ
ΡΠ΅ΡΠ΅Π½ΠΈΡΒ» (Π‘Π°ΡΠ°ΡΠΎΠ², 14.09.2019 Π³.). β Π‘ΡΠ΅ΡΠ»ΠΈΡΠ°ΠΌΠ°ΠΊ: ΠΠΠ, 2019, Ρ. 65-69
ΠΠΎΠ»Π΅Π·Π½ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ-ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΈ ΠΏΠΎ ΡΠ΅ΠΌΠ΅:
4.
5.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com