ΠΠΈΡΠ°ΠΌΠΈΠ΄Π°Π»ΡΠ½Π°Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ°.
ΠΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π²ΡΠ±ΠΎΡΠΎΠΌ
ΠΠ°Π»Π΅Π΅ Π±ΡΠ΄Π΅ΠΌ ΡΠ°ΡΡΠΈΡΡΡΡ ΡΠ°ΡΡΡ ΠΌΠ°ΡΡΠΈΠ²Π°, ΠΎΠ±Π»Π°Π΄Π°ΡΡΡΡ ΡΡΠΎΠ»Ρ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎΠΌ, Π΄ΠΎΠ±Π°Π²Π»ΡΡ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π·Π° ΡΠ°Π³. Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ°Π³Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ — ΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΠΎΠΈΡ ΠΏΠ΅ΡΠ΅Π΄ ΡΠΆΠ΅ Π³ΠΎΡΠΎΠ²ΠΎΠΉ ΡΠ°ΡΡΡΡ. ΠΡΠΎΠΈΠ·Π²Π΅Π΄Π΅ΠΌ ΡΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅: ΠΏΠΎΡΡΡΠΎΠΈΠΌ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ , ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΡ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π½Π΅ Π·Π° O (n), Π° Π·Π° O (logn) Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. Π’ΠΎΠ³Π΄Π° ΠΎΠ±ΡΠ΅Π΅ Π±ΡΡΡΡΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π±ΡΠ΄Π΅Ρ. Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΠΈΡΠ°ΠΌΠΈΠ΄Π°Π»ΡΠ½Π°Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ°. ΠΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π²ΡΠ±ΠΎΡΠΎΠΌ (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
ΠΠΈΡΠ°ΠΌΠΈΠ΄Π°Π»ΡΠ½Π°Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ, Π±ΡΡΡΡΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ Π (n log n). Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠ΅Π»ΡΠ΄ΠΈΠΈ ΠΊ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌΡ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΠ½ΡΡΡΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΡ Π²ΡΠ±ΠΎΡΠΎΠΌ. ΠΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΎΡ ΠΎΠ΄Π°, Π²ΠΌΠ΅ΡΡΠΎ Π²ΡΡΠ°Π²ΠΊΠΈ Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠ΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² Π»Π΅Π²ΡΠΉ ΠΊΠΎΠ½Π΅Ρ ΠΌΠ°ΡΡΠΈΠ²Π°, Π±ΡΠ΄Π΅ΠΌ Π²ΡΠ±ΠΈΡΠ°ΡΡ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, Π° Π³ΠΎΡΠΎΠ²ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΡΡΠΎΠΈΡΡ Π² ΠΏΡΠ°Π²ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅.
Π ΠΈΡΡΠ½ΠΎΠΊ 2. ΠΡΠΈΠΌΠ΅Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° Π°[0]…a[7].
ΠΠ΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΡΠΎΠΉ ΠΎΡΠΌΠ΅ΡΠ΅Π½Π° Π»Π΅Π²Π°Ρ Π³ΡΠ°Π½ΠΈΡΠ° ΡΠΆΠ΅ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ (ΠΏΡΠ°Π²ΠΎΠΉ) ΡΠ°ΡΡΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΎΡΠ΅Π½ΠΊΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅. ΠΡΠ΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ n ΡΠ°Π³ΠΎΠ², ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΡΡΠΎΠΈΡ Π² Π²ΡΠ±ΠΎΡΠ΅ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠ΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ a[0]…a[i] ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΎΠ±ΠΌΠ΅Π½Π΅. ΠΡΠ±ΠΎΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΌ ΠΏΠ΅ΡΠ΅Π±ΠΎΡΠΎΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΠΎΡΡΠΎΠΌΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ΅ Π½Π° Π½Π΅Π³ΠΎ Π²ΡΠ΅ΠΌΡ: O (n). ΠΡΠ°ΠΊ, n ΡΠ°Π³ΠΎΠ² ΠΏΠΎ Π (n) ΠΊΠ°ΠΆΠ΄ΡΠΉ — ΡΡΠΎ Π).
ΠΡΠΎΠΈΠ·Π²Π΅Π΄Π΅ΠΌ ΡΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅: ΠΏΠΎΡΡΡΠΎΠΈΠΌ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ , ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΡ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π½Π΅ Π·Π° O (n), Π° Π·Π° O (logn) Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. Π’ΠΎΠ³Π΄Π° ΠΎΠ±ΡΠ΅Π΅ Π±ΡΡΡΡΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π±ΡΠ΄Π΅Ρ.
n*O (logn) = O (n log n)
ΠΡΠ° ΡΡΡΡΠΊΡΡΡΠ° ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π±ΡΡΡΡΠΎ Π²ΡΡΠ°Π²Π»ΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ (ΡΡΠΎΠ±Ρ Π±ΡΡΡΡΠΎ Π΅Π΅ ΠΏΠΎΡΡΡΠΎΠΈΡΡ ΠΈΠ· ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°) ΠΈ ΡΠ΄Π°Π»ΡΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ (ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡΡΡ Π² ΡΠΆΠ΅ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ°ΡΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° — Π΅Π³ΠΎ ΠΏΡΠ°Π²ΡΠΉ ΠΊΠΎΠ½Π΅Ρ).
ΠΡΠ°ΠΊ Π½Π°Π·ΠΎΠ²Π΅ΠΌ ΠΏΠΈΡΠ°ΠΌΠΈΠ΄ΠΎΠΉ Π±ΠΈΠ½Π°ΡΠ½ΠΎΠ΅ Π΄Π΅ΡΠ΅Π²ΠΎ Π²ΡΡΠΎΡΡ k, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ:
- Β· Π²ΡΠ΅ ΡΠ·Π»Ρ ΠΈΠΌΠ΅ΡΡ Π³Π»ΡΠ±ΠΈΠ½Ρ k ΠΈΠ»ΠΈ k-1 — Π΄Π΅ΡΠ΅Π²ΠΎ ΡΠ±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅.
- Β· ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΡΠΎΠ²Π΅Π½Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½, Π° ΡΡΠΎΠ²Π΅Π½Ρ k Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ ΡΠ»Π΅Π²Π° Π½Π°ΠΏΡΠ°Π²ΠΎ.
- Β· Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ΠΏΠΈΡΠ°ΠΌΠΈΠ΄Ρ: ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ΅Π½ΡΡΠ΅, Π»ΠΈΠ±ΠΎ ΡΠ°Π²Π΅Π½ ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ.
Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡΡΡΠΊΡΡΡΠΎΠΉ ΠΏΠΈΡΠ°ΠΌΠΈΠ΄Ρ ΠΊΠ°ΠΊ Π΄Π΅ΡΠ΅Π²Π° ΠΈ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΠΏΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡ Π΅ΠΌΠ΅ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 3.
- Β· Π² Π°[0] Ρ ΡΠ°Π½ΠΈΡΡΡ ΠΊΠΎΡΠ΅Π½Ρ Π΄Π΅ΡΠ΅Π²Π°
- Β· Π»Π΅Π²ΡΠΉ ΠΈ ΠΏΡΠ°Π²ΡΠΉ ΡΡΠ½ΠΎΠ²ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° a[i] Ρ ΡΠ°Π½ΡΡΡΡ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Π² a[2i+1 ΠΈ a[2i+2]
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΄Π»Ρ ΠΌΠ°ΡΡΠΈΠ²Π°, Ρ ΡΠ°Π½ΡΡΠ΅Π³ΠΎ Π² ΡΠ΅Π±Π΅ ΠΏΠΈΡΠ°ΠΌΠΈΠ΄Ρ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ: a[i]>=a[2i+1] ΠΈ a[i]>=a[2i+2].
ΠΠ»ΡΡΡ ΡΠ°ΠΊΠΎΠ³ΠΎ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΠΈΡΠ°ΠΌΠΈΠ΄Ρ ΠΎΡΠ΅Π²ΠΈΠ΄Π½Ρ:
- Β· Π½ΠΈΠΊΠ°ΠΊΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , Π½ΡΠΆΠ½ΠΎ Π»ΠΈΡΡ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΡΡ Π΅ΠΌΡ
- Β· ΡΠ·Π»Ρ Ρ ΡΠ°Π½ΡΡΡΡ ΠΎΡ Π²Π΅ΡΡΠΈΠ½Ρ ΠΈ Π΄Π°Π»Π΅Π΅ Π²Π½ΠΈΠ·, ΡΡΠΎΠ²Π΅Π½Ρ Π·Π° ΡΡΠΎΠ²Π½Π΅ΠΌ.
- Β· ΡΠ·Π»Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ Ρ ΡΠ°Π½ΡΡΡΡ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΡΠ»Π΅Π²Π° Π½Π°ΠΏΡΠ°Π²ΠΎ
ΠΠ°ΠΏΠΈΡΠ΅ΠΌ Π² Π²ΠΈΠ΄Π΅ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΏΠΈΡΠ°ΠΌΠΈΠ΄Ρ, ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½Π½ΡΡ Π²ΡΡΠ΅. Π‘Π»Π΅Π²Π°-Π½Π°ΠΏΡΠ°Π²ΠΎ, ΡΠ²Π΅ΡΡ Ρ-Π²Π½ΠΈΠ·: 94 67 18 44 55 12 06 42. ΠΠ° ΡΠΈΡΡΠ½ΠΊΠ΅ 3 ΠΌΠ΅ΡΡΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΏΠΈΡΠ°ΠΌΠΈΠ΄Ρ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΎ ΡΠΈΡΡΠΎΠΉ ΡΠΏΡΠ°Π²Π°-Π²Π²Π΅ΡΡ Ρ ΠΎΡ Π½Π΅Π³ΠΎ.
ΠΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΠΈΡΠ°ΠΌΠΈΠ΄Ρ ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²Π° ΠΊΠ°ΠΊ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π»Π΅Π³ΠΊΠΎ — Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²ΡΠΏΠΎΠΌΠ½ΠΈΡΡ ΡΡ Π΅ΠΌΡ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈ Π½Π°ΡΠΈΡΠΎΠ²Π°ΡΡ, Π½Π°ΡΠΈΠ½Π°Ρ ΠΎΡ ΠΊΠΎΡΠ½Ρ.
ΠΠ°ΡΠ°ΡΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΠΏΠΈΡΠ°ΠΌΠΈΠ΄Ρ ΠΌΠΎΠΆΠ½ΠΎ Ρ a[k]…a[n], k = [size/2]. ΠΡΠ° ΡΠ°ΡΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΠ΅Ρ ΡΠ²ΠΎΠΉΡΡΠ²Ρ ΠΏΠΈΡΠ°ΠΌΠΈΠ΄Ρ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² i, j: i=2i+1 (ΠΈΠ»ΠΈ j = 2i+2). Π’Π°ΠΊΠΈΠ΅ i, j Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π·Π° Π³ΡΠ°Π½ΠΈΡΠ΅ΠΉ ΠΌΠ°ΡΡΠΈΠ²Π°.
ΠΠ°Π»Π΅Π΅ Π±ΡΠ΄Π΅ΠΌ ΡΠ°ΡΡΠΈΡΡΡΡ ΡΠ°ΡΡΡ ΠΌΠ°ΡΡΠΈΠ²Π°, ΠΎΠ±Π»Π°Π΄Π°ΡΡΡΡ ΡΡΠΎΠ»Ρ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎΠΌ, Π΄ΠΎΠ±Π°Π²Π»ΡΡ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π·Π° ΡΠ°Π³. Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ°Π³Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ — ΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΠΎΠΈΡ ΠΏΠ΅ΡΠ΅Π΄ ΡΠΆΠ΅ Π³ΠΎΡΠΎΠ²ΠΎΠΉ ΡΠ°ΡΡΡΡ.
Π§ΡΠΎΠ±Ρ ΠΏΡΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΠΎΡ ΡΠ°Π½ΡΠ»Π°ΡΡ ΠΏΠΈΡΠ°ΠΌΠΈΠ΄Π°Π»ΡΠ½ΠΎΡΡΡ, Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΠΏΠΈΡΠ°ΠΌΠΈΠ΄Ρ a[i+1]. .a[n] Π½Π° ΡΠ»Π΅ΠΌΠ΅Π½Ρ a[i] Π²Π»Π΅Π²ΠΎ.
ΠΠΎΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΡΠ΅ΠΈΠ²Π°ΡΡΡΡ ΡΠΊΠ²ΠΎΠ·Ρ ΠΏΠΈΡΠ°ΠΌΠΈΠ΄Ρ.
ΠΠΈΠΆΠ΅ Π΄Π°Π½Π° ΠΈΠ»Π»ΡΡΡΡΠ°ΡΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠ° Π΄Π»Ρ ΠΏΠΈΡΠ°ΠΌΠΈΠ΄Ρ ΠΈΠ· 8-ΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²:
- 44 55 12 42 // 94 18 06 67
- 44 55 12 // 67 94 18 06 42
- 44 55 // 18 67 94 12 06 42
- 44 // 94 18 67 55 12 06 42
// 94 67 18 44 55 12 06 42.
Π‘ΠΏΡΠ°Π²Π° — ΡΠ°ΡΡΡ ΠΌΠ°ΡΡΠΈΠ²Π°, ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡΠ°Ρ ΡΠ²ΠΎΠΉΡΡΠ²Ρ ΠΏΠΈΡΠ°ΠΌΠΈΠ΄Ρ, ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ ΠΎΠ΄ΠΈΠ½ Π·Π° Π΄ΡΡΠ³ΠΈΠΌ, ΡΠΏΡΠ°Π²Π° Π½Π°Π»Π΅Π²ΠΎ.
Π Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΠΈ ΠΊΠ»ΡΡΠΈ ΠΈΠ· Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΡΡΠ΅Π·ΠΊΠ° a[size/2]…a[n] ΡΠ²Π»ΡΡΡΡΡ Π»ΠΈΡΡΡΡΠΌΠΈ Π² Π±ΠΈΠ½Π°ΡΠ½ΠΎΠΌ Π΄Π΅ΡΠ΅Π²Π΅, ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΎ Π½ΠΈΠΆΠ΅. ΠΠ΄ΠΈΠ½ Π·Π° Π΄ΡΡΠ³ΠΈΠΌ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΏΡΠΎΠ΄Π²ΠΈΠ³Π°ΡΡΡΡ Π½Π° ΡΠ²ΠΎΠΈ ΠΌΠ΅ΡΡΠ°, ΠΈ ΡΠ°ΠΊ — ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½Π° Π²ΡΡ ΠΏΠΈΡΠ°ΠΌΠΈΠ΄Π°.
ΠΠ΅Π³ΠΎΡΠΎΠ²Π°Ρ ΡΠ°ΡΡΡ ΠΏΠΈΡΠ°ΠΌΠΈΠ΄Ρ (Π½Π°ΡΠ°Π»ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°) ΠΎΠΊΡΠ°ΡΠ΅Π½Π° Π² Π±Π΅Π»ΡΠΉ ΡΠ²Π΅Ρ, ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡΠΈΠΉ ΡΠ²ΠΎΠΉΡΡΠ²Ρ ΠΏΠΈΡΠ°ΠΌΠΈΠ΄Ρ ΠΊΠΎΠ½Π΅Ρ ΠΌΠ°ΡΡΠΈΠ²Π° — Π² ΡΠ΅ΠΌΠ½ΡΠΉ.
Π ΠΈΡΡΠ½ΠΎΠΊ 4. ΠΡΠΎΡΠ΅ΡΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΏΠΈΡΠ°ΠΌΠΈΠ΄Ρ.
ΠΡΠ°ΠΊ, Π·Π°Π΄Π°ΡΠ° ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΏΠΈΡΠ°ΠΌΠΈΠ΄Ρ ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²Π° ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΠ΅ΡΠ΅Π½Π°. ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΡΠ²ΠΎΠΉΡΡΠ² ΠΏΠΈΡΠ°ΠΌΠΈΠ΄Ρ, Π² ΠΊΠΎΡΠ½Π΅ Π²ΡΠ΅Π³Π΄Π° Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ. ΠΡΡΡΠ΄Π° Π²ΡΡΠ΅ΠΊΠ°Π΅Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠ°Π·Ρ 2:
- Β· ΠΠ΅ΡΠ΅ΠΌ Π²Π΅ΡΡ Π½ΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΏΠΈΡΠ°ΠΌΠΈΠ΄Ρ a[0]…a[n] (ΠΏΠ΅ΡΠ²ΡΠΉ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅) ΠΈ ΠΌΠ΅Π½ΡΠ΅ΠΌ Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ ΠΌΠ΅ΡΡΠ°ΠΌΠΈ. Π’Π΅ΠΏΠ΅ΡΡ «Π·Π°Π±ΡΠ²Π°Π΅ΠΌ» ΠΎΠ± ΡΡΠΎΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ΅ ΠΈ Π΄Π°Π»Π΅Π΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌ ΠΌΠ°ΡΡΠΈΠ² a[0]…a[n-1]. ΠΠ»Ρ ΠΏΡΠ΅Π²ΡΠ°ΡΠ΅Π½ΠΈΡ Π΅Π³ΠΎ Π² ΠΏΠΈΡΠ°ΠΌΠΈΠ΄Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΡ Π»ΠΈΡΡ Π½ΠΎΠ²ΡΠΉ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ.
- Β· ΠΠΎΠ²ΡΠΎΡΡΠ΅ΠΌ ΡΠ°Π³ 1, ΠΏΠΎΠΊΠ° ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΠ°Ρ ΡΠ°ΡΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π΅ ΡΠΌΠ΅Π½ΡΡΠΈΡΡΡ Π΄ΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°.
Π ΠΈΡΡΠ½ΠΎΠΊ 5. ΠΡΠΎΡΠ΅ΠΈΠ²Π°Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π°
ΠΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ Π² ΠΊΠΎΠ½Π΅Ρ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΈΠ· ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΏΠΈΡΠ°ΠΌΠΈΠ΄Ρ, ΠΏΠΎΡΡΠΎΠΌΡ Π² ΠΏΡΠ°Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½Π°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ.
Π ΠΈΡΡΠ½ΠΎΠΊ 6. ΠΠ»Π»ΡΡΡΡΠ°ΡΠΈΡ 2-ΠΉ ΡΠ°Π·Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π²ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΠΏΠΈΡΠ°ΠΌΠΈΠ΄Ρ.
ΠΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΠΏΠΈΡΠ°ΠΌΠΈΠ΄Ρ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ Π (n log n) ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, ΠΏΡΠΈΡΠ΅ΠΌ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΡΠ½Π°Ρ ΠΎΡΠ΅Π½ΠΊΠ° Π΄Π°Π΅Ρ Π΄Π°ΠΆΠ΅ Π (n) Π·Π° ΡΡΠ΅Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π²ΡΡΠΎΡΡ ΡΠΆΠ΅ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΏΠΈΡΠ°ΠΌΠΈΠ΄Ρ.
ΠΡΠΎΡΠ°Ρ ΡΠ°Π·Π° Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ O (n log n) Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ: O (n) ΡΠ°Π· Π±Π΅ΡΠ΅ΡΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΠΈ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΡΠΎΡΠ΅ΠΈΠ²Π°Π½ΠΈΠ΅ Π±ΡΠ²ΡΠ΅Π³ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°. ΠΠ»ΡΡΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π°: ΡΡΠ΅Π΄Π½Π΅Π΅ ΡΠΈΡΠ»ΠΎ ΠΏΠ΅ΡΠ΅ΡΡΠ»ΠΎΠΊ (n log n)/2, ΠΈ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΡ ΠΎΡ ΡΡΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠ°Π²Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠ°Π»Ρ.
ΠΠΈΡΠ°ΠΌΠΈΠ΄Π°Π»ΡΠ½Π°Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. ΠΠ΅ΡΠΎΠ΄ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΡΠΎΠΉΡΠΈΠ²ΡΠΌ: ΠΏΠΎ Ρ ΠΎΠ΄Ρ ΡΠ°Π±ΠΎΡΡ ΠΌΠ°ΡΡΠΈΠ² ΡΠ°ΠΊ «ΠΏΠ΅ΡΠ΅ΡΡΡΡ ΠΈΠ²Π°Π΅ΡΡΡ», ΡΡΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡΡΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠ°ΡΡΠΈΡΠ½Π°Ρ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΠΎΡΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ.