ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ сортировки массивов

Π Π΅Ρ„Π΅Ρ€Π°Ρ‚ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π‘ΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹Π΅ элСмСнты ΠΎΠ±ΠΎΠΈΡ… массивов. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ с ΠΌΠ΅Π½ΡŒΡˆΠΈΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ пСрСносим Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ массив. Π‘Π½ΠΎΠ²Π° смотрим Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹Π΅ элСмСнты Π² ΠΎΠ±ΠΎΠΈΡ… массивах ΠΈ ΡΠ½ΠΎΠ²Π° пСрСносим Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ массив элСмСнт с ΠΌΠ΅Π½ΡŒΡˆΠΈΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ, удаляя Π΅Π³ΠΎ ΠΈΠ· ΠΈΡΡ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ массива. описанный процСсс продолТаСтся Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ ΠΈΡΡ‡Ρ‘Ρ€ΠΏΡ‹Π²Π°ΡŽΡ‚ΡΡ элСмСнты ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΠΈΡΡ…ΠΎΠ΄Π½Ρ‹Ρ… массивов. ПослС этого Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ массив… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ сортировки массивов (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

1. Алгоритмы устойчивой сортировки (самыС ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ сортировки, ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΠ΅ ΠΊ ΠΊΠ»Π°ΡΡΡƒ О (n2)):

ΠŸΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠ²Π°Ρ сортировка (ΠΌΠ΅Ρ‚ΠΎΠ΄ простых ΠΎΠ±ΠΌΠ΅Π½ΠΎΠ²).

Π¨Π΅ΠΉΠΊΠ΅Ρ€-сортировка.

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π²Ρ‹Π±ΠΎΡ€Π° (ΠΌΠ΅Ρ‚ΠΎΠ΄ простого Π²Ρ‹Π±ΠΎΡ€Π°).

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ вставок.

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΏΠ°Ρ€Π½Ρ‹ΠΌ (Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΌ) Π΄Π΅Ρ€Π΅Π²ΠΎΠΌ.

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° слияниСм.

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠ²ΠΎΠΉ сортировки, ΡˆΠ΅ΠΉΠΊΠ΅Ρ€-сортировки, сортировки Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ ΠΈ ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠΈ вставок с Ρ†Π΅Π»ΡŒΡŽ упрощСния понимания Π±ΡƒΠ΄ΡƒΡ‚ описаны Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ сортировки ΠΊΠΎΠ»ΠΎΠ΄Ρ‹ ΠΊΠ°Ρ€Ρ‚. Для этого Π²Ρ‹Π±Π΅Ρ€Π΅ΠΌ всС ΠΊΠ°Ρ€Ρ‚Ρ‹ ΠΎΠ΄Π½ΠΎΠΉ масти ΠΈΠ· ΠΊΠΎΠ»ΠΎΠ΄Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‡Π΅Ρ€Π²ΠΈ, ΠΈ ΠΏΠ΅Ρ€Π΅Ρ‚асуСм ΠΈΡ… (ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 13 ΠΊΠ°Ρ€Ρ‚Π°ΠΌΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ Π½Π°ΡˆΡƒ Ρ€Π°Π±ΠΎΡ‚Ρƒ, сдСлав Π΅Ρ‘ Π±ΠΎΠ»Π΅Π΅ наглядной). Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ΠΎ Π² ΠΊΠ½ΠΈΠ³Π΅ Π”ΠΆΡƒΠ»ΠΈΠ°Π½ М. Π‘Π°ΠΊΠ½Π΅Π»Π»Π°: «Π€ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΈ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² Delphi».

ΠŸΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠ²Π°Ρ сортировка (ΠΌΠ΅Ρ‚ΠΎΠ΄ простых ΠΎΠ±ΠΌΠ΅Π½ΠΎΠ²).

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ всС программисты ΠΏΡ€ΠΈ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠΈ Π°Π·ΠΎΠ² программирования, — это ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠ²Π°Ρ сортировка (bubble sort).

Π”Π°Π½Π½Ρ‹ΠΉ Π²ΠΈΠ΄ сортировки ΠΈΠ· Π²ΡΠ΅Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² являСтся самым ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΌ. Π₯отя, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΅Π³ΠΎ Π»Π΅Π³Ρ‡Π΅ Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Π΅ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ сортировки (хотя ΠΈ Π½Π΅ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ).

Π’Π°Π±Π». 1.

НоминальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°Ρ€Ρ‚Ρ‹.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π’Π°Π»Π΅Ρ‚.

Π’ΡƒΠ·.

Π”Π°ΠΌΠ°.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π’Π°Π»Π΅Ρ‚.

Π’ΡƒΠ·.

Π”Π°ΠΌΠ°.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π’Π°Π»Π΅Ρ‚.

Π’ΡƒΠ·.

Π”Π°ΠΌΠ°.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π’Π°Π»Π΅Ρ‚.

Π’ΡƒΠ·.

Π”Π°ΠΌΠ°.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π’Π°Π»Π΅Ρ‚.

Π’ΡƒΠ·.

Π”Π°ΠΌΠ°.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π’Π°Π»Π΅Ρ‚.

Π’ΡƒΠ·.

Π”Π°ΠΌΠ°.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π’Π°Π»Π΅Ρ‚.

Π’ΡƒΠ·.

Π”Π°ΠΌΠ°.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π’Π°Π»Π΅Ρ‚.

Π’ΡƒΠ·.

Π”Π°ΠΌΠ°.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π’ΡƒΠ·.

Π’Π°Π»Π΅Ρ‚.

Π”Π°ΠΌΠ°.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π’ΡƒΠ·.

Π’Π°Π»Π΅Ρ‚.

Π”Π°ΠΌΠ°.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π’ΡƒΠ·.

Π’Π°Π»Π΅Ρ‚.

Π”Π°ΠΌΠ°.

Π’ΡƒΠ·.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π’Π°Π»Π΅Ρ‚.

Π”Π°ΠΌΠ°.

Π’ΡƒΠ·.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π’Π°Π»Π΅Ρ‚.

Π”Π°ΠΌΠ°.

ΠŸΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠ²Π°Ρ сортировка Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. Π Π°Π·Π»ΠΎΠΆΠΈΡ‚Π΅ ваши ΠΊΠ°Ρ€Ρ‚Ρ‹ (ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅, ΠΈΡ… Π²ΡΠ΅Π³ΠΎ 13). ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Π½Π° Π΄Π²Π΅Π½Π°Π΄Ρ†Π°Ρ‚ΡƒΡŽ ΠΈ Ρ‚Ρ€ΠΈΠ½Π°Π΄Ρ†Π°Ρ‚ΡƒΡŽ ΠΊΠ°Ρ€Ρ‚Ρƒ. Если двСнадцатая ΠΊΠ°Ρ€Ρ‚Π° ΡΡ‚Π°Ρ€ΡˆΠ΅ Ρ‚Ρ€ΠΈΠ½Π°Π΄Ρ†Π°Ρ‚ΠΎΠΉ, помСняйтС ΠΈΡ… ΠΌΠ΅ΡΡ‚Π°ΠΌΠΈ. Π’ΠΎ ΠΆΠ΅ ΡΠ΄Π΅Π»Π°ΠΉΡ‚Π΅ ΠΈ Π΄Π»Ρ ΠΏΠ°Ρ€ (10, 11), (9, 10), ΠΈ Ρ‚. Π΄., ΠΏΠΎΠΊΠ° Π½Π΅ Π΄ΠΎΠΉΠ΄Π΅Ρ‚Ρ‘ Π΄ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΊΠ°Ρ€Ρ‚Ρ‹. ПослС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ…ΠΎΠ΄Π° ΠΏΠΎ Π²ΡΠ΅ΠΉ ΠΊΠΎΠ»ΠΎΠ΄Π΅ Ρ‚ΡƒΠ· окаТСтся Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ. ЀактичСски ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ «Π·Π°Ρ†Π΅ΠΏΠΈΠ»ΠΈΡΡŒ» Π·Π° Ρ‚ΡƒΠ· ΠΎΠ½ «Π²Ρ‹ΠΏΠ»Ρ‹Π»» Π½Π° ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 1. ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΠΉΡ‚Π΅ процСсс сортировки, ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Ρ с ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ Π½ΠΎΠ²Ρ‹ΠΌ Ρ†ΠΈΠΊΠ»ΠΎΠΌ количСство просматриваСмых ΠΊΠ°Ρ€Ρ‚ ΠΈ ΠΏΠΎΡΡ‚упая Ρ‚Π°ΠΊ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° вся ΠΊΠΎΠ»ΠΎΠ΄Π° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ отсортирована.

ИдСя ΠΌΠ΅Ρ‚ΠΎΠ΄Π°: Π’Π΅ΡΡŒ массив рассматриваСтся нСсколько Ρ€Π°Π·, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ рассмотрСнии ΡΡ€Π°Π²Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ значСния 2-Ρ… сосСдних элСмСнтов. Если ΠΎΠ½ΠΈ стоят Π² Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ порядкС, Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ся ΠΈΡ… ΠΏΠ΅Ρ€Π΅ΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ°. Π’Π°ΠΊ происходит Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΉ пСрСстановки. ΠœΠ΅Ρ‚ΠΎΠ΄ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠ²ΠΎΠΉ сортировкой, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ мСньшиС значСния элСмСнтов постСпСнно «Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‚», ΠΊΠ°ΠΊ ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΈ Π²ΠΎΠ·Π΄ΡƒΡ…Π° Π² Π²ΠΎΠ΄Π΅, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°ΡΡΡŒ Π² Π½Π°Ρ‡Π°Π»ΠΎ массива, Π° «Ρ‚яТСлыС» элСмСнты «ΠΎΡΠ΅Π΄Π°ΡŽΡ‚ Π½Π° Π΄Π½ΠΎ» .

Полагаю, Π²Ρ‹ ΡΠΎΠ³Π»Π°ΡΠΈΡ‚Π΅ΡΡŒ с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ сортировка Π±Ρ‹Π»Π° довольно ΡƒΡ‚ΠΎΠΌΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ. ΠŸΡ€ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Паскаль «ΡƒΡ‚ΠΎΠΌΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ» выраТаСтся ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠΉ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρ‹. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, сущСствуСт ΠΎΠ΄ΠΈΠ½ простой ΠΌΠ΅Ρ‚ΠΎΠ΄ описания ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠ²ΠΎΠΉ сортировки: Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ…ΠΎΠ΄Π° Π½Π΅ Π±Ρ‹Π»ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΉ пСрСстановки, Π·Π½Π°Ρ‡ΠΈΡ‚, ΠΊΠ°Ρ€Ρ‚Ρ‹ ΡƒΠΆΠ΅ отсортированы Π² Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠΌ порядкС.

ΠŸΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠ²Π°Ρ сортировка ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ ΠΊ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌ класса О (n2). Как Π²ΠΈΠ΄ΠΈΡ‚Π΅ Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π΄Π²Π° Ρ†ΠΈΠΊΠ»Π°: внСшний ΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ. ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° зависит ΠΎΡ‚ ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²Π° элСмСнтов Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ — n. ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΎ n-1 сравнСний, ΠΏΡ€ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠΌ n-2, ΠΏΡ€ΠΈ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΌ n-3 ΠΈ Ρ‚. Π΄. ВсСго Π±ΡƒΠ΄Π΅Ρ‚ n-1 Ρ‚Π°ΠΊΠΈΡ… Ρ†ΠΈΠΊΠ»ΠΎΠ², Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΎΠ±Ρ‰Π΅Π΅ количСство сравнСний составит:

(n-1) + (n-2) + … + 1.

ΠŸΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½ΡƒΡŽ сумму ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ Π΄ΠΎ n (n-1)/2 ΠΈΠ»ΠΈ (n2- n)/2. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ О (n2). ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ пСрСстановок Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ нСсколько слоТнСС, Π½ΠΎ Π² Ρ…ΡƒΠ΄ΡˆΠ΅ΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅ (Ссли элСмСнты Π² ΠΈΡΡ…ΠΎΠ΄Π½ΠΎΠΌ Π½Π°Π±ΠΎΡ€Π΅ Π±Ρ‹Π»ΠΈ отсортированы Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядкС) количСство пСрСстановок Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π½ΠΎ количСству сравнСний, Ρ‚. Π΅. ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ О (n2).

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, связанная с ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠ²ΠΎΠΉ сортировкой, состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ сосСдниС элСмСнты массива. Если элСмСнт с Π½Π°ΠΈΠΌΠ΅Π½ΡŒΡˆΠΈΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ оказываСтся Π² ΡΠ°ΠΌΠΎΠΌ ΠΊΠΎΠ½Ρ†Π΅ массива, ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ с ΡΠΎΡΠ΅Π΄Π½ΠΈΠΌΠΈ элСмСнтами Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ Π΄ΠΎΡΡ‚ΠΈΠ³Π½Π΅Ρ‚ ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ.

ΠŸΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠ²Π°Ρ сортировка относится ΠΊ Π½Π΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΈΠ· Π΄Π²ΡƒΡ… элСмСнтов с Ρ€Π°Π²Π½Ρ‹ΠΌΠΈ значСниями ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Π² ΠΎΡ‚сортированном спискС Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚ΠΎΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ находился Π² ΠΈΡΡ…ΠΎΠ΄Π½ΠΎΠΌ массивС дальшС ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π°. Если ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ сравнСния Π½Π° «ΠΌΠ΅Π½ΡŒΡˆΠ΅ Ρ‡Π΅ΠΌ» ΠΈΠ»ΠΈ «Ρ€Π°Π²Π΅Π½», Π° Π½Π΅ ΠΏΡ€ΠΎΡΡ‚ΠΎ «ΠΌΠ΅Π½ΡŒΡˆΠ΅», Ρ‚ΠΎΠ³Π΄Π° ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠ²Π°Ρ сортировка станСт устойчивой, Π½ΠΎ ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ пСрСстановок элСмСнтов массива увСличится, поэтому данная оптимизация Π½Π΅ Π΄Π°ΡΡ‚ Π²Ρ‹ΠΈΠ³Ρ€Ρ‹ΡˆΠ° Π² ΡΠΊΠΎΡ€ΠΎΡΡ‚ΠΈ.

Π¨Π΅ΠΉΠΊΠ΅Ρ€-сортировка ΠŸΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠ²Π°Ρ сортировка ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ΄Π½Ρƒ Π²Π°Ρ€ΠΈΠ°Ρ†ΠΈΡŽ, которая Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ Π΄Π°Ρ‘Ρ‚ Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ скорости, — это Ρ‚Π°ΠΊ называСмая ΡˆΠ΅ΠΉΠΊΠ΅Ρ€-сортировка (shake sort).

ВСрнёмся ΠΊ ΠΊΠ°Ρ€Ρ‚Π°ΠΌ. Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ согласно Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ сортировки, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² Ρ‚Π°Π±Π». 2. Π’ΡƒΠ· ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Π½Π° ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ.

Π’Π°Π±Π». 2.

НоминальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°Ρ€Ρ‚Ρ‹.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π’Π°Π»Π΅Ρ‚.

Π’ΡƒΠ·.

Π”Π°ΠΌΠ°.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π’Π°Π»Π΅Ρ‚.

Π’ΡƒΠ·.

Π”Π°ΠΌΠ°.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π’Π°Π»Π΅Ρ‚.

Π’ΡƒΠ·.

Π”Π°ΠΌΠ°.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π’Π°Π»Π΅Ρ‚.

Π’ΡƒΠ·.

Π”Π°ΠΌΠ°.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π’Π°Π»Π΅Ρ‚.

Π’ΡƒΠ·.

Π”Π°ΠΌΠ°.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π’Π°Π»Π΅Ρ‚.

Π’ΡƒΠ·.

Π”Π°ΠΌΠ°.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π’Π°Π»Π΅Ρ‚.

Π’ΡƒΠ·.

Π”Π°ΠΌΠ°.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π’Π°Π»Π΅Ρ‚.

Π’ΡƒΠ·.

Π”Π°ΠΌΠ°.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π’ΡƒΠ·.

Π’Π°Π»Π΅Ρ‚.

Π”Π°ΠΌΠ°.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π’ΡƒΠ·.

Π’Π°Π»Π΅Ρ‚.

Π”Π°ΠΌΠ°.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π’ΡƒΠ·.

Π’Π°Π»Π΅Ρ‚.

Π”Π°ΠΌΠ°.

Π’ΡƒΠ·.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π’Π°Π»Π΅Ρ‚.

Π”Π°ΠΌΠ°.

Π’ΡƒΠ·.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π’Π°Π»Π΅Ρ‚.

Π”Π°ΠΌΠ°.

Π’Π°Π±Π». 3.

НоминальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°Ρ€Ρ‚Ρ‹.

Π’ΡƒΠ·.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π’Π°Π»Π΅Ρ‚.

Π”Π°ΠΌΠ°.

Π’ΡƒΠ·.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π’Π°Π»Π΅Ρ‚.

Π”Π°ΠΌΠ°.

Π’ΡƒΠ·.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π’Π°Π»Π΅Ρ‚.

Π”Π°ΠΌΠ°.

Π’ΡƒΠ·.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π’Π°Π»Π΅Ρ‚.

Π”Π°ΠΌΠ°.

Π’ΡƒΠ·.

Π’Π°Π»Π΅Ρ‚.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π”Π°ΠΌΠ°.

Π’ΡƒΠ·.

Π’Π°Π»Π΅Ρ‚.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π”Π°ΠΌΠ°.

Π’ΡƒΠ·.

Π’Π°Π»Π΅Ρ‚.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π”Π°ΠΌΠ°.

Π’ΡƒΠ·.

Π’Π°Π»Π΅Ρ‚.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π”Π°ΠΌΠ°.

Π’ΡƒΠ·.

Π’Π°Π»Π΅Ρ‚.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π”Π°ΠΌΠ°.

Π’ΡƒΠ·.

Π’Π°Π»Π΅Ρ‚.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π”Π°ΠΌΠ°.

Π’ΡƒΠ·.

Π’Π°Π»Π΅Ρ‚.

Π”Π°ΠΌΠ°.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π’ΡƒΠ·.

Π’Π°Π»Π΅Ρ‚.

Π”Π°ΠΌΠ°.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, вмСсто ΠΏΡ€ΠΎΡ…ΠΎΠ΄Π° ΠΊΠΎΠ»ΠΎΠ΄Ρ‹ ΠΊΠ°Ρ€Ρ‚ справа Π½Π°Π»Π΅Π²ΠΎ, ΠΏΡ€ΠΎΠΉΠ΄ΠΈΡ‚Π΅ слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ: сравнитС Π²Ρ‚ΠΎΡ€ΡƒΡŽ ΠΈ Ρ‚Ρ€Π΅Ρ‚ΡŒΡŽ ΠΊΠ°Ρ€Ρ‚Ρ‹ ΠΈ ΡΡ‚Π°Ρ€ΡˆΡƒΡŽ ΠΊΠ°Ρ€Ρ‚Ρƒ помСститС Π½Π° Ρ‚Ρ€Π΅Ρ‚ΡŒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ. Π‘Ρ€Π°Π²Π½ΠΈΡ‚Π΅ Ρ‚Ρ€Π΅Ρ‚ΡŒΡŽ ΠΈ Ρ‡Π΅Ρ‚Π²Ρ‘Ρ€Ρ‚ΡƒΡŽ ΠΊΠ°Ρ€Ρ‚Ρ‹, ΠΈ ΠΏΡ€ΠΈ нСобходимости помСняйтС ΠΈΡ… ΠΌΠ΅ΡΡ‚Π°ΠΌΠΈ. ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΠΉΡ‚Π΅ сравнСния Π²ΠΏΠ»ΠΎΡ‚ΡŒ Π΄ΠΎ Π΄ΠΎΡΡ‚иТСния ΠΏΠ°Ρ€Ρ‹ (12, 13). По ΠΏΡƒΡ‚ΠΈ ΠΊ ΠΏΡ€Π°Π²ΠΎΠΌΡƒ ΠΊΡ€Π°ΡŽ ΠΊΠΎΠ»ΠΎΠ΄Ρ‹ Π²Ρ‹ «Π·Π°Ρ…Π²Π°Ρ‚ΠΈΠ»ΠΈ» короля ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΠ»ΠΈ Π΅Π³ΠΎ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΡŽΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ.

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ снова ΠΏΡ€ΠΎΠΉΠ΄ΠΈΡ‚Π΅ ΠΊΠΎΠ»ΠΎΠ΄Ρƒ справа Π½Π°Π»Π΅Π²ΠΎ Π΄ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΊΠ°Ρ€Ρ‚Ρ‹. Π’ΠΎ Π²Ρ‚ΠΎΡ€ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ ΠΏΠΎΠΏΠ°Π΄Ρ‘Ρ‚ Π΄Π²ΠΎΠΉΠΊΠ°. ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΠΉΡ‚Π΅ Ρ‡Π΅Ρ€Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ направлСния ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΎΠ² Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ отсортирована вся ΠΊΠΎΠ»ΠΎΠ΄Π°.

НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΡˆΠ΅ΠΉΠΊΠ΅Ρ€-сортировка ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ ΠΊ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌ класса О (n2), врСмя Π΅Ρ‘ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ мСньшС, Ρ‡Π΅ΠΌ для ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠ²ΠΎΠΉ сортировки. ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π½Π°Π·Π²Π°Π½ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡˆΠ΅ΠΉΠΊΠ΅Ρ€-сортировкой, состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ элСмСнты Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΠΊΠΎΠ»Π΅Π±Π»ΡŽΡ‚ΡΡ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ своих ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° массив Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ отсортирован.

Как ΠΈ ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠ²Π°Ρ сортировка, ΡˆΠ΅ΠΉΠΊΠ΅Ρ€-сортировка относится ΠΊ Π½Π΅ΡƒΡΡ‚ΠΎΠΉΡ‡ΠΈΠ²Ρ‹ΠΌ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌ.

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π²Ρ‹Π±ΠΎΡ€Π° (ΠΌΠ΅Ρ‚ΠΎΠ΄ простого Π²Ρ‹Π±ΠΎΡ€Π°) Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π²Ρ‹Π±ΠΎΡ€Π° (selection sort).

Π’Π°Π±Π». 4.

НоминальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°Ρ€Ρ‚Ρ‹.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π’Π°Π»Π΅Ρ‚.

Π’ΡƒΠ·.

Π”Π°ΠΌΠ°.

Π’ΡƒΠ·.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π’Π°Π»Π΅Ρ‚.

Π”Π°ΠΌΠ°.

Π’ΡƒΠ·.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π’Π°Π»Π΅Ρ‚.

Π”Π°ΠΌΠ°.

Π’ΡƒΠ·.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π’Π°Π»Π΅Ρ‚.

Π”Π°ΠΌΠ°.

Π’ΡƒΠ·.

Π’Π°Π»Π΅Ρ‚.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π”Π°ΠΌΠ°.

Π’ΡƒΠ·.

Π’Π°Π»Π΅Ρ‚.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π”Π°ΠΌΠ°.

Π’ΡƒΠ·.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π”Π°ΠΌΠ°.

Π’Π°Π»Π΅Ρ‚.

Π’ΡƒΠ·.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π”Π°ΠΌΠ°.

Π’Π°Π»Π΅Ρ‚.

Π’ΡƒΠ·.

Π”Π°ΠΌΠ°.

Π’Π°Π»Π΅Ρ‚.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π’ΡƒΠ·.

Π’Π°Π»Π΅Ρ‚.

Π”Π°ΠΌΠ°.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Начиная с ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ края ΠΊΠΎΠ»ΠΎΠ΄Ρ‹, просмотритС всС ΠΊΠ°Ρ€Ρ‚Ρ‹ ΠΈ Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ ΡΠ°ΠΌΡƒΡŽ ΠΌΠ»Π°Π΄ΡˆΡƒΡŽ (ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, это Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚ΡƒΠ·). ΠŸΠΎΠΌΠ΅Π½ΡΠΉΡ‚Π΅ мСстами Ρ‚ΡƒΠ· с ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΊΠ°Ρ€Ρ‚ΠΎΠΉ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ, игнорируя ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΊΠ°Ρ€Ρ‚Ρƒ, снова просмотритС всю ΠΊΠΎΠ»ΠΎΠ΄Ρƒ справа Π½Π°Π»Π΅Π²ΠΎ Π² ΠΏΠΎΠΈΡΠΊΠ°Ρ… самой младшСй ΠΊΠ°Ρ€Ρ‚Ρ‹. ΠŸΠΎΠΌΠ΅Π½ΡΠΉΡ‚Π΅ мСстами ΠΌΠ»Π°Π΄ΡˆΡƒΡŽ ΠΊΠ°Ρ€Ρ‚Ρƒ со Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΊΠ°Ρ€Ρ‚ΠΎΠΉ. Π”Π°Π»Π΅Π΅, игнорируя Π΄Π²Π΅ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ ΠΊΠ°Ρ€Ρ‚Ρ‹, просмотритС всю ΠΊΠΎΠ»ΠΎΠ΄Ρƒ справа Π½Π°Π»Π΅Π²ΠΎ Π² ΠΏΠΎΠΈΡΠΊΠ°Ρ… самой младшСй ΠΊΠ°Ρ€Ρ‚Ρ‹ ΠΈ ΠΏΠΎΠΌΠ΅Π½ΡΠΉΡ‚Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π½ΡƒΡŽ ΠΊΠ°Ρ€Ρ‚Ρƒ с Ρ‚Ρ€Π΅Ρ‚Π΅ΠΉ ΠΊΠ°Ρ€Ρ‚ΠΎΠΉ. ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΠΉΡ‚Π΅ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° вся ΠΊΠΎΠ»ΠΎΠ΄Π° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ отсортирована, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 3. ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ΄ΠΈΠ½Π½Π°Π΄Ρ†Π°Ρ‚Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» Π½Π΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ся, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ°Ρ€Ρ‚ΠΎΠΉ, которая ΠΊ Ρ‚ΠΎΠΌΡƒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ.

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π²Ρ‹Π±ΠΎΡ€Π° относится ΠΊ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌ класса О (n2). ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ выполняСмых сравнСний для ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ…ΠΎΠ΄Π° Ρ€Π°Π²Π½ΠΎ n, для Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ n-1 ΠΈ Ρ‚. Π΄. ΠΎΠ±Ρ‰Π΅Π΅ количСство сравнСний Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π½ΠΎ n (n+1)/2−1, Ρ‚. Π΅. сортировка ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ ΠΊ ΠΊΠ»Π°ΡΡΡƒ О (n2). Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, количСство пСрСстановок Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ мСньшС: ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ внСшнСго Ρ†ΠΈΠΊΠ»Π° производится всСго ΠΎΠ΄Π½Π° пСрСстановка. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΎΠ±Ρ‰Π΅Π΅ количСство пСрСстановок (n-1), Ρ‚. Π΅. О (n). Π§Ρ‚ΠΎ это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅? Если врСмя ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹Π΅ рСсурсы пСрСстановки элСмСнтов массива Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ большС, Ρ‡Π΅ΠΌ врСмя сравнСния, Ρ‚ΠΎ ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π²Ρ‹Π±ΠΎΡ€Π° оказываСтся достаточно эффСктивной.

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π²Ρ‹Π±ΠΎΡ€Π° относится ΠΊ Π³Ρ€ΡƒΠΏΠΏΠ΅ устойчивых Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ². Поиск наимСньшСго значСния Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π² ΡΠΏΠΈΡΠΊΠ΅ наимСньшСС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ…ΡΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ€ΠΎΠ²Π½Ρ‹Π΅ значСния Π±ΡƒΠ΄ΡƒΡ‚ находится Π² ΠΎΡ‚сортированном спискС Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ порядкС, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ Π² ΠΈΡΡ…ΠΎΠ΄Π½ΠΎΠΌ спискС.

ИдСя ΠΌΠ΅Ρ‚ΠΎΠ΄Π°: вСсь массив просматриваСтся нСсколько Ρ€Π°Π· ΠΈ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ шагС ищСтся ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт ΠΈ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ся Π΅Π³ΠΎ порядковый Π½ΠΎΠΌΠ΅Ρ€. Π—Π°Ρ‚Π΅ΠΌ Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹ΠΉ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт мСняСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ с ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ, Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ, Ρ‚Ρ€Π΅Ρ‚ΡŒΠΈΠΌ ΠΈ Ρ‚. Π΄. прСдпослСдним элСмСнтом массива ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ся ΠΈΠ· Ρ€Π°ΡΡΠΌΠΎΡ‚рСния.

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ вставок Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ вставок ΠΈΠ»ΠΈ сортировка простыми вставками (insertion sort). Рассмотрим ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ дСйствия Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π½Π° Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΊΠΎΠ»ΠΎΠ΄Π΅ ΠΊΠ°Ρ€Ρ‚.

Π’Π°Π±Π». 5.

НоминальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°Ρ€Ρ‚Ρ‹.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π’Π°Π»Π΅Ρ‚.

Π’ΡƒΠ·.

Π”Π°ΠΌΠ°.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π’Π°Π»Π΅Ρ‚.

Π’ΡƒΠ·.

Π”Π°ΠΌΠ°.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π’Π°Π»Π΅Ρ‚.

Π’ΡƒΠ·.

Π”Π°ΠΌΠ°.

Π’Π°Π»Π΅Ρ‚.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π’ΡƒΠ·.

Π”Π°ΠΌΠ°.

Π’ΡƒΠ·.

Π’Π°Π»Π΅Ρ‚.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π”Π°ΠΌΠ°.

Π’ΡƒΠ·.

Π’Π°Π»Π΅Ρ‚.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π”Π°ΠΌΠ°.

Π’ΡƒΠ·.

Π’Π°Π»Π΅Ρ‚.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π”Π°ΠΌΠ°.

Π’ΡƒΠ·.

Π’Π°Π»Π΅Ρ‚.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π”Π°ΠΌΠ°.

Π’ΡƒΠ·.

Π’Π°Π»Π΅Ρ‚.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π”Π°ΠΌΠ°.

Π’ΡƒΠ·.

Π’Π°Π»Π΅Ρ‚.

Π”Π°ΠΌΠ°.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π’ΡƒΠ·.

Π’Π°Π»Π΅Ρ‚.

Π”Π°ΠΌΠ°.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π’ΡƒΠ·.

Π’Π°Π»Π΅Ρ‚.

Π”Π°ΠΌΠ°.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

НачинаСм с Π»Π΅Π²ΠΎΠ³ΠΎ края ΠΊΠΎΠ»ΠΎΠ΄Ρ‹. Π‘Ρ€Π°Π²Π½ΠΈΠ²Π°Π΅ΠΌ Π΄Π²Π΅ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ ΠΊΠ°Ρ€Ρ‚Ρ‹ ΠΈ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌ ΠΈΡ… Π² ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ порядкС. Π‘ΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π½Π° Ρ‚Ρ€Π΅Ρ‚ΡŒΡŽ ΠΊΠ°Ρ€Ρ‚Ρƒ. ВставляСм Π΅Ρ‘ Π² Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠ΅ мСсто ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Π΄Π²ΡƒΠΌ ΠΊΠ°Ρ€Ρ‚Π°ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π½Π° Ρ‡Π΅Ρ‚Π²Ρ‘Ρ€Ρ‚ΡƒΡŽ ΠΊΠ°Ρ€Ρ‚Ρƒ ΠΈ Π²ΡΡ‚авляСм Π΅Ρ‘ Π² Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠ΅ мСсто ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Ρ‚Ρ€Ρ‘ΠΌ ΠΊΠ°Ρ€Ρ‚Π°ΠΌ. Π’Π΅ ΠΆΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ выполняСм с ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ ΠΊΠ°Ρ€Ρ‚Π°ΠΌΠΈ. ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠ»ΠΎΠ΄Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚ отсортирована, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² Ρ‚Π°Π±Π». 5.

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ сортировки ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ вставок имССтся интСрСсная ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ: Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ элСмСнта сохраняСтся Π² Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΡ€ΠΈ поискС Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ мСста Π΅Π³ΠΎ вставки ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅ΠΌ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ большС Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ, Π½Π° ΠΎΠ΄Π½Ρƒ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Π²ΠΏΡ€Π°Π²ΠΎ, Ρ‚Π΅ΠΌ самым пСрСмСщая «Π΄Ρ‹Ρ€Ρƒ» Π² ΡΠΏΠΈΡΠΊΠ΅ Π²Π»Π΅Π²ΠΎ. Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ², ΠΌΡ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π½ΡƒΠΆΠ½ΠΎΠ΅ мСсто ΠΈ ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅ΠΌ сохранённоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΠ²ΡˆΠ΅Π΅ΡΡ мСсто.

ИдСя ΠΌΠ΅Ρ‚ΠΎΠ΄Π°: дСлаСтся ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ n ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚ массива ΡƒΠΆΠ΅ упорядочСн ΠΈ Ρ€Π°ΡΡΠΌΠ°Ρ‚риваСтся n+1 элСмСнт. Если окаТСтся, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΌΠ΅Π½ΡŒΡˆΠ΅ Ρ‡Π΅ΠΌ ΠΊΠ°ΠΊΠΎΠΉ Π»ΠΈΠ±ΠΎ ΠΈΠ· ΠΏΠ΅Ρ€Π²Ρ‹Ρ… n, Ρ‚ΠΎ ΠΎΠ½ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ мСсто большСго, Π° ΡƒΡ‡Π°ΡΡ‚ΠΎΠΊ массива ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ Π΅Π³ΠΎ Π½ΠΎΠ²Ρ‹ΠΌ мСстом ΠΈ ΡΡ‚Π°Ρ€Ρ‹ΠΌ смСщаСтся Π²ΠΏΡ€Π°Π²ΠΎ.

Как ΠΈ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠ΅ рассмотрСнныС Π½Π°ΠΌΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹, сортировка ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ вставок ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ ΠΊ ΠΊΠ»Π°ΡΡΡƒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² О (n2). Как ΠΈ Π² ΡΠ»ΡƒΡ‡Π°Π΅ с ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠ²ΠΎΠΉ сортировкой, Ссли исходный массив ΡƒΠΆΠ΅ отсортирован, сортировка ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ вставок практичСски Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊ дСйствий ΠΏΠΎΠΌΠΈΠΌΠΎ сравнСния ΠΏΠ°Ρ€ Π΄Π²ΡƒΡ… сосСдних элСмСнтов. Π₯ΡƒΠ΄ΡˆΠΈΠΌ случаСм для сортировки ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ вставок являСтся ситуация, ΠΊΠΎΠ³Π΄Π° исходный список отсортирован Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядкС ΠΈ Π΄Π»Ρ попадания Π² Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠ΅ мСсто массива ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ элСмСнту Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ максимальноС расстояниС.

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ вставок ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ ΠΊ Π³Ρ€ΡƒΠΏΠΏΠ΅ устойчивых Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ². Она сохраняСт ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ элСмСнтов массива с Ρ€Π°Π²Π½Ρ‹ΠΌΠΈ значСниями, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ поиск Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ для элСмСнта Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ, ΠΊΠΎΠ³Π΄Π° Π½Π°ΠΉΠ΄Π΅Π½ элСмСнт, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ мСньшС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ элСмСнта. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ элСмСнтов с Ρ€Π°Π²Π½Ρ‹ΠΌΠΈ значСниями сохраняСтся.

Как ΠΈ ΠΏΡ€ΠΈ ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠ²ΠΎΠΉ сортировкС, ΠΏΡ€ΠΈ сортировкС ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ вставок элСмСнты массива ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ Π² Π½ΡƒΠΆΠ½Ρ‹Π΅ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π° ΡΡ‡Ρ‘Ρ‚ смСны ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ с ΡΠΎΡΠ΅Π΄Π½ΠΈΠΌΠΈ элСмСнтами. Если элСмСнт находится Π΄Π°Π»Π΅ΠΊΠΎ ΠΎΡ‚ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ, Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΌ (Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΌ) Π΄Π΅Ρ€Π΅Π²ΠΎΠΌ.

Π”Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΌ (Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΌ) Π΄Π΅Ρ€Π΅Π²ΠΎΠΌ Π½Π°Π·ΠΎΠ²Π΅ΠΌ ΡƒΠΏΠΎΡ€ΡΠ΄ΠΎΡ‡Π΅Π½Π½ΡƒΡŽ структуру Π΄Π°Π½Π½Ρ‹Ρ…, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ элСмСнту — ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΈΠΊΡƒ ΠΈΠ»ΠΈ ΠΊΠΎΡ€Π½ΡŽ (ΠΏΠΎΠ΄) Π΄Π΅Ρ€Π΅Π²Π° — поставлСны Π² ΡΠΎΠΎΡ‚вСтствиС ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅ Π΄Π²Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… элСмСнта (ΠΏΡ€Π΅Π΅ΠΌΠ½ΠΈΠΊΠ°). ΠŸΡ€ΠΈΡ‡Π΅ΠΌ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΈΠΊΠ° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ: Π»Π΅Π²Ρ‹ΠΉ ΠΏΡ€Π΅Π΅ΠΌΠ½ΠΈΠΊ всСгда мСньшС, Π° ΠΏΡ€Π°Π²Ρ‹ΠΉ ΠΏΡ€Π΅Π΅ΠΌΠ½ΠΈΠΊ всСгда большС ΠΈΠ»ΠΈ Ρ€Π°Π²Π΅Π½ ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΈΠΊΡƒ.

ОписаниС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° сортировки Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΌ Π΄Π΅Ρ€Π΅Π²ΠΎΠΌ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ рассмотрСно Π² ΠΊΠ½ΠΈΠ³Π΅ Н. Π’ΠΈΡ€Ρ‚Π°: «ΠΠ»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΈ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…».

ВмСсто «ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΈΠΊ» ΠΈ «ΠΏΡ€Π΅Π΅ΠΌΠ½ΠΈΠΊ» Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡŽΡ‚ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹ «Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ» ΠΈ «ΡΡ‹Π½». ВсС элСмСнты Π΄Π΅Ρ€Π΅Π²Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ «ΡƒΠ·Π»Π°ΠΌΠΈ». ΠŸΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π² Π΄Π΅Ρ€Π΅Π²ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ элСмСнта Π΅Π³ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡΡ€Π°Π²Π½ΠΈΠ²Π°ΡŽΡ‚ с Π½ΠΈΠΆΠ΅ΡΡ‚оящими ΡƒΠ·Π»Π°ΠΌΠΈ, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, вставляя Π½Π° ΠΌΠ΅ΡΡ‚ΠΎ. Если элСмСнт >= корня — ΠΎΠ½ ΠΈΠ΄Π΅Ρ‚ Π² ΠΏΡ€Π°Π²ΠΎΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€Π΅Π²ΠΎ, сравниваСм Π΅Π³ΠΎ ΡƒΠΆΠ΅ с ΠΏΡ€Π°Π²Ρ‹ΠΌ сыном, ΠΈΠ½Π°Ρ‡Π΅ — ΠΎΠ½ ΠΈΠ΄Π΅Ρ‚ Π² Π»Π΅Π²ΠΎΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€Π΅Π²ΠΎ, сравниваСм с Π»Π΅Π²Ρ‹ΠΌ, ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅, ΠΏΠΎΠΊΠ° Π΅ΡΡ‚ΡŒ ΡΡ‹Π½ΠΎΠ²ΡŒΡ, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ.

Π’ΠΎΡ‚ процСсс построСния Π΄Π΅Ρ€Π΅Π²Π° ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ 44 55 12 42 94 18 06 67:

44 44 44 44 44.

/ / /.

55 12 55 12 55 12 55.

  • 42 42 94
  • (**) 44 44 (*) 44

/ / /.

12 55 12 55 12 55.

/ /.

42 94 06 42 94 06 42 94.

/ / / /.

18 18 18 67.

Π”Π΅Ρ€Π΅Π²ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈ Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ Ρ€ΠΎΠ²Π½Ρ‹ΠΌ, ΠΊΠ°ΠΊ Π½Π° (*), ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈ ΠΈΠΌΠ΅Ρ‚ΡŒ всСго Π΄Π²Π΅ основныС Π²Π΅Ρ‚Π²ΠΈ (**), Π° Π΅ΡΠ»ΠΈ входная ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΡƒΠΆΠ΅ отсортирована, Ρ‚ΠΎ Π΄Π΅Ρ€Π΅Π²ΠΎ выродится Π² Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΉ список.

Если ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ рСкурсивно ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π΄Π΅Ρ€Π΅Π²ΠΎ ΠΏΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Ρƒ «Π»Π΅Π²Ρ‹ΠΉ сын — Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ — ΠΏΡ€Π°Π²Ρ‹ΠΉ сын», Ρ‚ΠΎ, записывая всС Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠ΅ΡΡ элСмСнты Π² ΠΌΠ°ΡΡΠΈΠ², ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ упорядочСнноС Π² ΠΏΠΎΡ€ΡΠ΄ΠΊΠ΅ возрастания мноТСство. HΠ° ΡΡ‚ΠΎΠΌ ΠΈ ΠΎΡΠ½ΠΎΠ²Π°Π½Π° идСя сортировки Π΄Π΅Ρ€Π΅Π²ΠΎΠΌ.

Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ ΠΎΠ±Ρ…ΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΡ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ Π»Π΅Π²ΠΎΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€Π΅Π²ΠΎ — вывСсти ΠΊΠΎΡ€Π΅Π½ΡŒ — ΠΎΠ±ΠΎΠΉΡ‚ΠΈ ΠΏΡ€Π°Π²ΠΎΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€Π΅Π²ΠΎ, Π³Π΄Π΅ рСкурсивная ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° 'ΠΎΠ±ΠΎΠΉΡ‚ΠΈ' Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ сСбя Π΅Ρ‰Π΅ Ρ€Π°Π·, Ссли сталкиваСтся с ΡƒΠ·Π»ΠΎΠΌ-Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΌ ΠΈ Π²Ρ‹Π΄Π°Π΅Ρ‚ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ элСмСнт, Ссли Ρƒ ΡƒΠ·Π»Π° Π½Π΅Ρ‚ сыновСй.

ΠžΠ±Ρ‰Π΅Π΅ быстродСйствиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° O (nΠ§logn). ПовСдСниС нССстСствСнно, устойчивости, Π²ΠΎΠΎΠ±Ρ‰Π΅ говоря, Π½Π΅Ρ‚.

Основной нСдостаток этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π° — большиС трСбования ΠΊ ΠΏΠ°ΠΌΡΡ‚ΠΈ ΠΏΠΎΠ΄ Π΄Π΅Ρ€Π΅Π²ΠΎ. ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Π½ΡƒΠΆΠ½ΠΎ n ΠΌΠ΅ΡΡ‚Π° ΠΏΠΎΠ΄ ΠΊΠ»ΡŽΡ‡ΠΈ ΠΈ, ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΠ°ΠΌΡΡ‚ΡŒ Π½Π° 2 указатСля для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ….

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ данная сортировка ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ Ρ‚Π°ΠΌ, Π³Π΄Π΅:

  • — ΠΏΠΎΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ ΠΌΠΎΠΆΠ½ΠΎ с ΡƒΡΠΏΠ΅Ρ…ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ для Π΄Ρ€ΡƒΠ³ΠΈΡ… Π·Π°Π΄Π°Ρ‡;
  • — Π΄Π°Π½Π½Ρ‹Π΅ ΡƒΠΆΠ΅ построСны Π² 'Π΄Π΅Ρ€Π΅Π²ΠΎ';
  • — Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ нСпосрСдствСнно Π² Π΄Π΅Ρ€Π΅Π²ΠΎ.

Π’Π°ΠΊ ΠΊΠ°ΠΊ Π½Π΅ Ρ‚ратится лишняя ΠΏΠ°ΠΌΡΡ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²ΠΎΠΌ Π²Π²ΠΎΠ΄Π΅ с ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΠΈΠ»ΠΈ ΠΈΠ· Ρ„Π°ΠΉΠ»Π°.

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° слияниСм.

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° слияниСм (merge sort) ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°Π΅Ρ‚ своСй простотой ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ΠΌ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… особСнностСй (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠ½Π° ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ ΠΊ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌ класса O (nΠ§log (n)) ΠΈ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ…ΡƒΠ΄ΡˆΠΈΡ… случаСв), Π½ΠΎ Π΅ΡΠ»ΠΈ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ ΠΊ Π΅Π³ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Ρ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒΡΡ Π½Π° Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, сортировка слияниСм ΠΎΡ‡Π΅Π½ΡŒ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ нСобходимости сортировки содСрТимого Ρ„Π°ΠΉΠ»ΠΎΠ², Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… слишком Π²Π΅Π»ΠΈΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒΡΡ Π² ΠΏΠ°ΠΌΡΡ‚ΠΈ. Π”Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ‚Π°ΠΊΠΆΠ΅ рассмотрСн Π² ΠΊΠ½ΠΈΠ³Π΅ Π”ΠΆΡƒΠ»ΠΈΠ°Π½ М. Π‘Π°ΠΊΠ½Π΅Π»Π»Π°: «Π€ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΈ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² Delphi».

Π’ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΌΡ‹ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°Ρ€Ρ‚Π°ΠΌΠΈ — Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΈ Π±Π΅Π· ΠΊΠ°Ρ€Ρ‚.

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅ сСбС, Ρ‡Ρ‚ΠΎ имССтся Π΄Π²Π° ΡƒΠΆΠ΅ отсортированных массива ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ массив, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰ΠΈΠΉ Π² ΡΠ΅Π±Π΅ всС элСмСнты исходных массивов. ΠŸΡƒΡ‚ΡŒ № 1 состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Π° массива Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ сортировку. Π½ΠΎ Π² ΡΡ‚ΠΎΠΌ случаС, ΠΊ ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡŽ, ΠΌΡ‹ Π½Π΅ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ исходныС массивы ΡƒΠΆΠ΅ отсортированы. ΠŸΡƒΡ‚ΡŒ № 2 прСдусматриваСт слияниС.

Π‘ΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹Π΅ элСмСнты ΠΎΠ±ΠΎΠΈΡ… массивов. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ с ΠΌΠ΅Π½ΡŒΡˆΠΈΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ пСрСносим Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ массив. Π‘Π½ΠΎΠ²Π° смотрим Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹Π΅ элСмСнты Π² ΠΎΠ±ΠΎΠΈΡ… массивах ΠΈ ΡΠ½ΠΎΠ²Π° пСрСносим Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ массив элСмСнт с ΠΌΠ΅Π½ΡŒΡˆΠΈΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ, удаляя Π΅Π³ΠΎ ΠΈΠ· ΠΈΡΡ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ массива. описанный процСсс продолТаСтся Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ ΠΈΡΡ‡Ρ‘Ρ€ΠΏΡ‹Π²Π°ΡŽΡ‚ΡΡ элСмСнты ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΠΈΡΡ…ΠΎΠ΄Π½Ρ‹Ρ… массивов. ПослС этого Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ массив ΠΌΠΎΠΆΠ½ΠΎ пСрСнСсти всС ΠΎΡΡ‚Π°Π²ΡˆΠΈΠ΅ΡΡ элСмСнты Π² ΠΈΡΡ…ΠΎΠ΄Π½ΠΎΠΌ массивС. Π’Π°ΠΊΠΎΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ извСстСн ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π΄Π²ΡƒΡ…ΠΏΡƒΡ‚Π΅Π²ΠΎΠ³ΠΎ слияния (two-way merge algorithm).

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ элСмСнты Π½Π΅ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ся ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ², вмСсто удалСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ элСмСнты массивов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π²ΠΈΠ³Π°ΡŽΡ‚ΡΡ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт.

ВрСмя выполнСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π΄Π²ΡƒΡ…ΠΏΡƒΡ‚Π΅Π²ΠΎΠ³ΠΎ слияния зависит ΠΎΡ‚ ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²Π° элСмСнтов Π² ΠΎΠ±ΠΎΠΈΡ… исходных массивах. Если Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΈΠ· Π½ΠΈΡ… находится — n ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΎΠ², Π° Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ — m, Π½Π΅Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΠΏΡ€ΠΈΠ΄Ρ‚ΠΈ ΠΊ Π²Ρ‹Π²ΠΎΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ Π² Ρ…ΡƒΠ΄ΡˆΠ΅ΠΌ случаС Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΎ (n+m) сравнСний. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π΄Π²ΡƒΡ…ΠΏΡƒΡ‚Π΅Π²ΠΎΠ³ΠΎ слияния ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ ΠΊ ΠΊΠ»Π°ΡΡΡƒ O (n).

Π’Π°ΠΊ ΠΊΠ°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π΄Π²ΡƒΡ…ΠΏΡƒΡ‚Π΅Π²ΠΎΠ³ΠΎ слияния ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ сортировку? Π’Π΅Π΄ΡŒ для Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄Π²Π° отсортированных массива мСньшСй Π΄Π»ΠΈΠ½Ρ‹, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… создаётся ΠΎΠ΄ΠΈΠ½ большой массив.

На ΠΎΡΠ½ΠΎΠ²Π΅ Ρ‚Π°ΠΊΠΎΠ³ΠΎ описания ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠ΄Ρ‚ΠΈ ΠΊ Ρ€Π΅ΠΊΡƒΡ€ΡΠΈΠ²Π½ΠΎΠΌΡƒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ сортировки слияниСм: Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅ исходный массив Π½Π° Π΄Π²Π΅ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ‹, ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ сортировки слияниСм, Π° Π·Π°Ρ‚Π΅ΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° слияния ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚Π΅ подписки Π² ΠΎΠ΄ΠΈΠ½ отсортированный массив.

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° слияниСм ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΈΠΌ нСдостатком — Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ слияния Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ наличия Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ массива, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ слияния.

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Ρ€Π°Π½Π΅Π΅ рассмотрСнных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² сортировки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΡ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ элСмСнты нСпосрСдствСнно Π² ΡΠ°ΠΌΠΎΠΌ исходном массивС, сортировка слияниСм для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ большого Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΡ‘ΠΌΠ° памяти. Π’ ΡΠ°ΠΌΠΎΠΉ простой Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ для выполнСния сортировки понадобится Π½ΠΎΠ²Ρ‹ΠΉ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ массив, Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ€Π°Π²Π΅Π½ суммС Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² Π΄Π²ΡƒΡ… исходных массивов. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΈΠ· ΠΎΠ±ΠΎΠΈΡ… массивов Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ Π²ΠΎ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ массив, Π° Π·Π°Ρ‚Π΅ΠΌ послС слияния — Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ массив. НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выполняСт ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ слияния, Π½Π΅ Ρ‚рСбуя Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ массива, Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ Π΅Π³ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΡ€ΠΈ нСобходимости примСнСния сортировки слияниСм, Π½ΡƒΠΆΠ½ΠΎ ΡΠΌΠΈΡ€ΠΈΡ‚ΡŒΡΡ с Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ трСбованиями Π² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ памяти.

Π§Ρ‚ΠΎ касаСтся устойчивости, Ρ‚ΠΎ ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ элСмСнты массива ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ слияния, ΡƒΡΡ‚ΠΎΠΉΡ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ всСй сортировки слияниСм Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ ΡƒΡΡ‚ойчивости самого слияния Π΄Π²ΡƒΡ… ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½ массива. Если Π² ΠΎΠ±Π΅ΠΈΡ… ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π°Ρ… исходного массива ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ элСмСнты с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ, Ρ‚ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ сравнСния Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ список ΠΏΠΎΠΏΠ°Π΄Ρ‘Ρ‚ элСмСнт ΠΈΠ· ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ‹ исходного массива. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ опСрация слияниСм сохраняСт ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ порядок элСмСнтов, ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, сортировка слияниСм Π±ΡƒΠ΄Π΅Ρ‚ устойчивой.

ИдСя ΠΌΠ΅Ρ‚ΠΎΠ΄Π° состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ сортировка слияниСм ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для содСрТимого Ρ„Π°ΠΉΠ»ΠΎΠ², Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… слишком Π²Π΅Π»ΠΈΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒΡΡ Π² ΠΏΠ°ΠΌΡΡ‚ΠΈ. Π’ ΡΡ‚ΠΎΠΉ ситуации выполняСтся сортировка частСй Ρ„Π°ΠΉΠ»Π°, запись этих частСй Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΈΡ… ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Π² ΠΎΠ΄ΠΈΠ½ Ρ„Π°ΠΉΠ».

НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ сортировка слияниСм Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ памяти (ΠΎΠ±ΡŠΡ‘ΠΌ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΎΠΏΠΎΡ€Ρ†ΠΈΠΎΠ½Π°Π»Π΅Π½ количСству элСмСнтов Π² ΠΈΡΡ…ΠΎΠ΄Π½ΠΎΠΌ массивС), ΠΎΠ½Π° ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ интСрСсными свойствами:

  • — ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° слияниСм ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ ΠΊ ΠΊΠ»Π°ΡΡΡƒ O (nΠ§log (n)).
  • — ΠΎΠ½Π° устойчива.
  • — Π΄Π»Ρ сортировки слияниСм Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ значСния Π½ΠΈ ΠΏΠΎΡ€ΡΠ΄ΠΎΠΊ элСмСнтов Π² ΠΈΡΡ…ΠΎΠ΄Π½ΠΎΠΌ массивС (Π±ΡƒΠ΄ΡŒ Ρ‚ΠΎ ΠΌΠ°ΡΡΠΈΠ², отсортированный Π² ΠΏΡ€ΡΠΌΠΎΠΌ порядкС ΠΈΠ»ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ), Π½ΠΈ ΠΏΠΎΠ²Ρ‚орСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ сортировка слияниСм Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ…ΡƒΠ΄ΡˆΠ΅Π³ΠΎ случая.

ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, трСбуСтся n ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π½Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π΄Π΅Ρ€Π΅Π²Π°, Π° Π·Π°Ρ‚Π΅ΠΌ n ΡˆΠ°Π³ΠΎΠ², ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠΎ logn сравнСний для Π²Ρ‹Π±ΠΎΡ€Π° Π½ΠΎΠ²ΠΎΠ³ΠΎ наимСньшСго.

2. Алгоритмы нСустойчивой сортировки:

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π¨Π΅Π»Π»Π°.

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ прочёсывания.

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ сортировки массивов.
ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ сортировки массивов.
ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ сортировки массивов.
ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ сортировки массивов.
ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ сортировки массивов.
ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ сортировки массивов.

ΠŸΠΈΡ€Π°ΠΌΠΈΠ΄Π°Π»ΡŒΠ½Π°Ρ сортировка (сортировка Π΄Π΅Ρ€Π΅Π²ΠΎΠΌ).

Быстрая сортировка.

БыстрыС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ сортировки Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ быстрСС Ρ‚Π΅Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ рассмотрСны Π²Ρ‹ΡˆΠ΅. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, достаточно слоТно Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΈΡ… ΠΌΠ°Ρ‚СматичСский Π°Π½Π°Π»ΠΈΠ·. НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ этой Π³Ρ€ΡƒΠΏΠΏΡ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ достаточно быстро, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΈΡ… ΡΡ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π΅Π΄ΠΊΠΎ.

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΡƒ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π¨Π΅Π»Π»Π° ΠΈ ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΡƒ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ прочёсывания Ρ‚Π°ΠΊΠΆΠ΅ рассмотрим Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ сортировки ΠΊΠΎΠ»ΠΎΠ΄Ρ‹ ΠΊΠ°Ρ€Ρ‚, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹Π±Π΅Ρ€Π΅ΠΌ всС ΠΊΠ°Ρ€Ρ‚Ρ‹ ΠΎΠ΄Π½ΠΎΠΉ масти, пСрСтасуСм ΠΈΡ… (ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 13 ΠΊΠ°Ρ€Ρ‚Π°ΠΌΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ Π½Π°ΡˆΡƒ Ρ€Π°Π±ΠΎΡ‚Ρƒ, сдСлав Π΅Ρ‘ Π±ΠΎΠ»Π΅Π΅ наглядной).

Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС сортировки ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π¨Π΅Π»Π»Π°, сортировки ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ прочёсывания ΠΈ Π±Ρ‹ΡΡ‚Ρ€ΠΎΠΉ сортировки Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ΠΎ Π² ΠΊΠ½ΠΈΠ³Π΅ Π”ΠΆΡƒΠ»ΠΈΠ°Π½ М. Π‘Π°ΠΊΠ½Π΅Π»Π»Π°: «Π€ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΈ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² Delphi».

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π¨Π΅Π»Π»Π°.

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π» Π”ΠΎΠ½Π°Π»ΡŒΠ΄ Π›. Π¨Π΅Π»Π» Π² 1959 Π³ΠΎΠ΄Ρƒ. Он ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ вставок.

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π¨Π΅Π»Π»Π° (Shell sort) пытаСтся ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π·Π° ΡΡ‡Ρ‘Ρ‚ Π±ΠΎΠ»Π΅Π΅ быстрого пСрСмСщСния элСмСнтов массива, находящихся Π΄Π°Π»Π΅ΠΊΠΎ ΠΎΡ‚ Π½ΡƒΠΆΠ½Ρ‹Ρ… ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ. Данная сортировка ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΈΡ… элСмСнтов «ΠΏΡ€Ρ‹ΠΆΠΊΠ°ΠΌΠΈ» Ρ‡Π΅Ρ€Π΅Π· нСсколько элСмСнтов ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ, ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Ρ Ρ€Π°Π·ΠΌΠ΅Ρ€ «ΠΏΡ€Ρ‹ΠΆΠΊΠΎΠ²» ΠΈ, Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ², ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ установка элСмСнтов Π² Π½ΡƒΠΆΠ½Ρ‹Π΅ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ выполняСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ классичСской сортировки ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ вставок.

Рассмотрим Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ сортировки ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π¨Π΅Π»Π»Π° Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡Π½ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ΄Ρ‹. РасполоТитС ΠΊΠ°Ρ€Ρ‚Ρ‹ ΠΊΠΎΠ»ΠΎΠ΄Ρ‹ Π² Π΄Π»ΠΈΠ½Π½ΡƒΡŽ линию. Π˜Π·Π²Π»Π΅ΠΊΠΈΡ‚Π΅ ΠΈΠ· ΡΡ‚ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ ΠΊΠ°Ρ€Ρ‚ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΈ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ Ρ‡Π΅Ρ‚Π²Ρ‘Ρ€Ρ‚ΡƒΡŽ ΠΊΠ°Ρ€Ρ‚Ρƒ послС ΠΏΠ΅Ρ€Π²ΠΎΠΉ (Ρ‚.Π΅. ΠΏΡΡ‚ΡƒΡŽ, Π΄Π΅Π²ΡΡ‚ΡƒΡŽ ΠΈ Ρ‚Ρ€ΠΈΠ½Π°Π΄Ρ†Π°Ρ‚ΡƒΡŽ). Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ сортировку Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… ΠΊΠ°Ρ€Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ вставок ΠΈ ΡΠ½ΠΎΠ²Π° помСститС ΠΈΡ… Π² Π»ΠΈΠ½ΠΈΡŽ. Π˜Π·Π²Π»Π΅ΠΊΠΈΡ‚Π΅ ΠΈΠ· ΠΊΠΎΠ»ΠΎΠ΄Ρ‹ Π²Ρ‚ΠΎΡ€ΡƒΡŽ ΠΈ Ρ‡Π΅Ρ‚Π²Ρ‘Ρ€Ρ‚ΡƒΡŽ ΠΊΠ°Ρ€Ρ‚Ρƒ послС Π²Ρ‚ΠΎΡ€ΠΎΠΉ (Ρ‚.Π΅. ΡˆΠ΅ΡΡ‚ΡƒΡŽ ΠΈ Π΄Π΅Π²ΡΡ‚ΡƒΡŽ). Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ сортировку Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… ΠΊΠ°Ρ€Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ вставок ΠΈ ΡΠ½ΠΎΠ²Π° помСститС ΠΈΡ… Π² Π»ΠΈΠ½ΠΈΡŽ. Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ Ρ‚Π΅ ΠΆΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ‡Π΅Ρ‚Π²Ρ‘Ρ€Ρ‚ΠΎΠΉ ΠΊΠ°Ρ€Ρ‚ΠΎΠΉ послС Ρ‚Ρ€Π΅Ρ‚Π΅ΠΉ, Π° Π·Π°Ρ‚Π΅ΠΌ Π½Π°Π΄ Ρ‡Π΅Ρ‚Π²Ρ‘Ρ€Ρ‚ΠΎΠΉ ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ‡Π΅Ρ‚Π²Ρ‘Ρ€Ρ‚ΠΎΠΉ ΠΊΠ°Ρ€Ρ‚ΠΎΠΉ послС Ρ‡Π΅Ρ‚Π²Ρ‘Ρ€Ρ‚ΠΎΠΉ.

ПослС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ…ΠΎΠ΄Π° ΠΊΠ°Ρ€Ρ‚Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² ΠΎΡ‚сортированном порядкС ΠΏΠΎ 4, ΠΊΠ°ΠΊΡƒΡŽ Π±Ρ‹ ΠΊΠ°Ρ€Ρ‚Ρƒ Π½Π΅ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ, ΠΊΠ°Ρ€Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ находятся Π½Π° ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ, ΠΊΡ€Π°Ρ‚Π½ΠΎΠΌ 4 Π²ΠΏΠ΅Ρ€Ρ‘Π΄ ΠΈ Π½Π°Π·Π°Π΄, Π±ΡƒΠ΄ΡƒΡ‚ отсортированы Π² Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠΌ порядкС.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΊΠ°Ρ€Ρ‚Ρ‹ Π² Ρ†Π΅Π»ΠΎΠΌ Π½Π΅ ΠΎΡ‚сортированы, Π½ΠΎ, Ρ‚Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, нСзависимо ΠΎΡ‚ ΠΈΡΡ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ полоТСния ΠΊΠ°Ρ€Ρ‚, послС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ…ΠΎΠ΄Π° ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π½Π΅Π΄Π°Π»Π΅ΠΊΠΎ ΠΎΡ‚ ΡΠ²ΠΎΠΈΡ… мСст Π² ΠΎΡ‚сортированной ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

массив ΡΠΎΡ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ Π’Π°Π±Π». 6.

НоминальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°Ρ€Ρ‚Ρ‹.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π’Π°Π»Π΅Ρ‚.

Π’ΡƒΠ·.

Π”Π°ΠΌΠ°.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π’ΡƒΠ·.

Π”Π°ΠΌΠ°.

Π’Π°Π»Π΅Ρ‚.

Π’ΡƒΠ·.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π”Π°ΠΌΠ°.

Π’Π°Π»Π΅Ρ‚.

Π’ΡƒΠ·.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π”Π°ΠΌΠ°.

Π’Π°Π»Π΅Ρ‚.

Π’ΡƒΠ·.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π”Π°ΠΌΠ°.

Π’Π°Π»Π΅Ρ‚.

Π’ΡƒΠ·.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π”Π°ΠΌΠ°.

Π’Π°Π»Π΅Ρ‚.

Π’ΡƒΠ·.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π”Π°ΠΌΠ°.

Π’Π°Π»Π΅Ρ‚.

Π’ΡƒΠ·.

ΠšΠΎΡ€ΠΎΠ»ΡŒ.

Π”Π°ΠΌΠ°.

Π’…

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ