какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Π²ΠΈΠ΄Ρ‹ сортировок ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΈΡ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ

ΠŸΠ°ΠΌΡΡ‚ΠΊΠ° для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ готовится ΠΊ собСсСдованию Π½Π° ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°

На собСсСдованиях Π±ΡƒΠ΄ΡƒΡ‰ΠΈΠΌ стаТёрам-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Π΄Π°ΡŽΡ‚ задания Π½Π° Π·Π½Π°Π½ΠΈΠ΅ структур Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² β€” Π² Ρ‚ΠΎΠΌ числС сортировок. АкадСмия ЯндСкса ΠΈ соавтор спСциализации Β«Π˜ΡΠΊΡƒΡΡΡ‚Π²ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° соврСмСнном C++Β» Илья Шишков составили список для ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ с ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ сортировки, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΈΡ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ Π³ΠΈΡ„ΠΊΠ°ΠΌΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚.

ΠŸΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠ²Π°Ρ сортировка ΠΈ Π΅Ρ‘ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠΌ

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

Π­Ρ‚ΠΎΡ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ считаСтся ΡƒΡ‡Π΅Π±Π½Ρ‹ΠΌ ΠΈ ΠΏΠΎΡ‡Ρ‚ΠΈ Π½Π΅ примСняСтся Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ ΠΈΠ·-Π·Π° Π½ΠΈΠ·ΠΊΠΎΠΉ эффСктивности: ΠΎΠ½ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° тСстах, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… малСнькиС элСмСнты (ΠΈΡ… Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Β«Ρ‡Π΅Ρ€Π΅ΠΏΠ°Ρ…Π°ΠΌΠΈΒ») стоят Π² ΠΊΠΎΠ½Ρ†Π΅ массива. Однако Π½Π° Π½Ρ‘ΠΌ основаны ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡˆΠ΅ΠΉΠΊΠ΅Ρ€Π½Π°Ρ сортировка ΠΈ сортировка расчёской.

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ (ΡˆΠ΅ΠΉΠΊΠ΅Ρ€Π½Π°Ρ сортировка)

ШСйкСрная сортировка отличаСтся ΠΎΡ‚ ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠ²ΠΎΠΉ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° двунаправлСнная: Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ пСрСмСщаСтся Π½Π΅ строго слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ, Π° сначала слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ, Π·Π°Ρ‚Π΅ΠΌ справа Π½Π°Π»Π΅Π²ΠΎ.

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° расчёской

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

ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·Ρ€Ρ‹Π² Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ Π½Π΅ случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π° с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹ β€” Ρ„Π°ΠΊΡ‚ΠΎΡ€Π° ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ, ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ€Π°Π²Π½ΠΎ 1,247. Π‘Π½Π°Ρ‡Π°Π»Π° расстояниС ΠΌΠ΅ΠΆΠ΄Ρƒ элСмСнтами Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π½ΡΡ‚ΡŒΡΡ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ массива, ΠΏΠΎΠ΄Π΅Π»Ρ‘Π½Π½ΠΎΠΌΡƒ Π½Π° 1,247; Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ шагС расстояниС Π±ΡƒΠ΄Π΅Ρ‚ снова Π΄Π΅Π»ΠΈΡ‚ΡŒΡΡ Π½Π° Ρ„Π°ΠΊΡ‚ΠΎΡ€ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ β€” ΠΈ Ρ‚Π°ΠΊ Π΄ΠΎ окончания Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°.

ΠŸΡ€ΠΎΡΡ‚Ρ‹Π΅ сортировки

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° вставками

ΠŸΡ€ΠΈ сортировкС вставками массив постСпСнно пСрСбираСтся слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ. ΠŸΡ€ΠΈ этом ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт размСщаСтся Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ оказался ΠΌΠ΅ΠΆΠ΄Ρƒ блиТайшими элСмСнтами с ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ.

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ

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

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

Π­Ρ‚ΠΎΡ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ состоит ΠΈΠ· Ρ‚Ρ€Ρ‘Ρ… шагов. Π‘Π½Π°Ρ‡Π°Π»Π° ΠΈΠ· массива Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ элСмСнт β€” Π΅Π³ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΎΠΏΠΎΡ€Π½Ρ‹ΠΌ. Π—Π°Ρ‚Π΅ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ элСмСнты Π² массивС ΠΏΠ΅Ρ€Π΅Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ элСмСнты мСньшС ΠΎΠΏΠΎΡ€Π½ΠΎΠ³ΠΎ оказались Π΄ΠΎ Π½Π΅Π³ΠΎ, Π° большиС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½Ρ‹Π΅ β€” послС. А дальшС рСкурсивно ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π΄Π²Π° шага ΠΊ подмассивам справа ΠΈ слСва ΠΎΡ‚ ΠΎΠΏΠΎΡ€Π½ΠΎΠ³ΠΎ значСния.

Π‘Ρ‹ΡΡ‚Ρ€ΡƒΡŽ сортировку ΠΈΠ·ΠΎΠ±Ρ€Π΅Π»ΠΈ Π² 1960 Π³ΠΎΠ΄Ρƒ для машинного ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π°: Ρ‚ΠΎΠ³Π΄Π° словари Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡΡŒ Π½Π° ΠΌΠ°Π³Π½ΠΈΡ‚Π½Ρ‹Ρ… Π»Π΅Π½Ρ‚Π°Ρ…, Π° сортировка слов ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ тСкста позволяла ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‹ Π·Π° ΠΎΠ΄ΠΈΠ½ ΠΏΡ€ΠΎΠ³ΠΎΠ½ Π»Π΅Π½Ρ‚Ρ‹, Π±Π΅Π· ΠΏΠ΅Ρ€Π΅ΠΌΠΎΡ‚ΠΊΠΈ Π½Π°Π·Π°Π΄.

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

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° слияниСм пригодится для Ρ‚Π°ΠΊΠΈΡ… структур Π΄Π°Π½Π½Ρ‹Ρ…, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… доступ ΠΊ элСмСнтам осущСствляСтся ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²). Π—Π΄Π΅ΡΡŒ массив разбиваСтся Π½Π° Π΄Π²Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ€Π°Π²Π½Ρ‹Π΅ части ΠΈ каТдая ΠΈΠ· Π½ΠΈΡ… сортируСтся ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π—Π°Ρ‚Π΅ΠΌ Π΄Π²Π° отсортированных подмассива ΡΠ»ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² ΠΎΠ΄ΠΈΠ½.

ΠŸΠΈΡ€Π°ΠΌΠΈΠ΄Π°Π»ΡŒΠ½Π°Ρ сортировка

ΠŸΡ€ΠΈ этой сортировкС сначала строится ΠΏΠΈΡ€Π°ΠΌΠΈΠ΄Π° ΠΈΠ· элСмСнтов исходного массива. ΠŸΠΈΡ€Π°ΠΌΠΈΠ΄Π° (ΠΈΠ»ΠΈ двоичная ΠΊΡƒΡ‡Π°) β€” это способ прСдставлСния элСмСнтов, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΡ‚ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡƒΠ·Π»Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π΅ большС Π΄Π²ΡƒΡ… ΠΎΡ‚Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠΉ. А Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ ΡƒΠ·Π»Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ большС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² Π΅Π³ΠΎ Π΄Π²ΡƒΡ… Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… ΡƒΠ·Π»Π°Ρ….

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

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Алгоритмы сортировки

Алгоритм сортировки β€” это Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ для упорядочивания элСмСнтов Π² спискС.

Π’ΠΈΠ΄Ρ‹ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² сортировки

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠΌ / Bubble sort

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠΌ β€” это ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· самых извСстных Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² сортировки. ИдСя Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌ сравнСнии Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ сосСдних элСмСнтов. Если Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ элСмСнт большС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ, мСняСм ΠΈΡ… мСстами. Алгоритм Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° массив Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ отсортирован.

какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π€ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ

ΠŸΠ»ΡŽΡΡ‹ ΠΈ минусы

Π­Ρ‚ΠΎΡ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ считаСтся ΡƒΡ‡Π΅Π±Π½Ρ‹ΠΌ ΠΈ ΠΏΠΎΡ‡Ρ‚ΠΈ Π½Π΅ примСняСтся Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ ΠΈΠ·-Π·Π° Π½ΠΈΠ·ΠΊΠΎΠΉ эффСктивности: ΠΎΠ½ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° тСстах, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… малСнькиС элСмСнты (ΠΈΡ… Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Β«Ρ‡Π΅Ρ€Π΅ΠΏΠ°Ρ…Π°ΠΌΠΈΒ») стоят Π² ΠΊΠΎΠ½Ρ†Π΅ массива. Однако Π½Π° Π½Ρ‘ΠΌ основаны ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡˆΠ΅ΠΉΠΊΠ΅Ρ€Π½Π°Ρ сортировка ΠΈ сортировка расчёской.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° Kotlin:

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ / Shaker (cocktail, ripple, shuffle, shuttle) sort

Π’Π°ΠΊΠΆΠ΅ извСстна ΠΊΠ°ΠΊ ΡˆΠ΅ΠΉΠΊΠ΅Ρ€Π½Π°Ρ ΠΈΠ»ΠΈ ΠΊΠΎΠΊΡ‚Π΅ΠΉΠ»ΡŒΠ½Π°Ρ сортировка.

ΠžΠ±Ρ‰Π°Ρ идСя Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° Kotlin:

Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρƒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° такая ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Ρƒ сортировки ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠΌ, ΠΎΠ΄Π½Π°ΠΊΠΎ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ΅ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅ (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΌΠ΅Π½Π΅Π΅ Ρ‡Π΅ΠΌ Π² Π΄Π²Π° Ρ€Π°Π·Π° быстрСС).

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° расчёской / Comb sort

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° Kotlin:

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° вставками / Insertion sort

ΠžΠ±Ρ‰Π°Ρ идСя Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° Kotlin:

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° Π¨Π΅Π»Π»Π° / Shell sort

ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ Ρ€Π°ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ расстояниС ΠΌΠ΅ΠΆΠ΄Ρƒ сравниваСмыми элСмСнтами ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° Kotlin:

Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ

Π›ΡƒΡ‡ΡˆΠ΅Π΅

Π‘Ρ€Π΅Π΄Π½Π΅Π΅

Π₯ΡƒΠ΄ΡˆΠ΅Π΅

ВрСмя

O(n log n)

зависит ΠΎΡ‚ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… шагов (d)

O(n 2 ) ΠΈΠ»ΠΈ O(n log 2 n) (зависит ΠΎΡ‚ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… шагов)

ΠŸΠ°ΠΌΡΡ‚ΡŒ

O(1)

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ / Selection Sort

ΠžΠ±Ρ‰Π°Ρ идСя Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° Kotlin:

Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ

Π›ΡƒΡ‡ΡˆΠ΅Π΅

Π‘Ρ€Π΅Π΄Π½Π΅Π΅

Π₯ΡƒΠ΄ΡˆΠ΅Π΅

ВрСмя

O(n 2 )

O(n 2 )

O(n 2 )

ΠŸΠ°ΠΌΡΡ‚ΡŒ

O(1)

Быстрая сортировка / Quick Sort

ΠžΠ±Ρ‰Π°Ρ идСя Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° Kotlin:

Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ

Π›ΡƒΡ‡ΡˆΠ΅Π΅

Π‘Ρ€Π΅Π΄Π½Π΅Π΅

Π₯ΡƒΠ΄ΡˆΠ΅Π΅

ВрСмя

O(n)

O(n log n)

O(n 2 )

ΠŸΠ°ΠΌΡΡ‚ΡŒ

O(n)

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

ΠžΠ±Ρ‰Π°Ρ идСя Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° Kotlin:

Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ

Π›ΡƒΡ‡ΡˆΠ΅Π΅

Π‘Ρ€Π΅Π΄Π½Π΅Π΅

Π₯ΡƒΠ΄ΡˆΠ΅Π΅

ВрСмя

O(n log n)

O(n log n)

O(n log n)

ΠŸΠ°ΠΌΡΡ‚ΡŒ

O(n)

ΠŸΠΈΡ€Π°ΠΌΠΈΠ΄Π°Π»ΡŒΠ½Π°Ρ сортировка / Heap sort

какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π€ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ

ΠžΠ±Ρ‰Π°Ρ идСя Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°:

Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ

Π›ΡƒΡ‡ΡˆΠ΅Π΅

Π‘Ρ€Π΅Π΄Π½Π΅Π΅

Π₯ΡƒΠ΄ΡˆΠ΅Π΅

ВрСмя

O(n log n)

O(n log n)

O(n log n) ΠΈΠ»ΠΈ O(n) (ΠΏΡ€ΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π°Ρ…)

ΠŸΠ°ΠΌΡΡ‚ΡŒ

O(1)

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° подсчётом / Counting sort

ΠžΠ±Ρ‰Π°Ρ идСя Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° (простой Π²Π°Ρ€ΠΈΠ°Π½Ρ‚):

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° Kotlin:

Блочная (карманная, корзинная) сортировка / Bucket sort

ΠžΠ±Ρ‰Π°Ρ идСя Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° Kotlin:

ΠŸΠΎΡ€Π°Π·Ρ€ΡΠ΄Π½Π°Ρ (цифровая) сортировка / Radix sort

ΠŸΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ сортировки Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π½Π°Ρ‚ΡŒ:

ΠžΠ±Ρ‰Π°Ρ идСя Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° Kotlin:

Битонная сортировка / Bitonic sort

ΠžΠ±Ρ‰Π°Ρ идСя Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°:

какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π€ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π² Π±ΠΈΡ‚ΠΎΠ½Π½ΡƒΡŽ, Π½ΡƒΠΆΠ½ΠΎ:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° Kotlin:

Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ

Π›ΡƒΡ‡ΡˆΠ΅Π΅

Π‘Ρ€Π΅Π΄Π½Π΅Π΅

Π₯ΡƒΠ΄ΡˆΠ΅Π΅

ВрСмя

O(log 2 (n)

O(log 2 (n)

O(log 2 (n)

ΠŸΠ°ΠΌΡΡ‚ΡŒ

O(log 2 (n)

Timsort

ΠžΠ±Ρ‰Π°Ρ идСя Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° Kotlin:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Алгоритмы ΠΈ структуры Π΄Π°Π½Π½Ρ‹Ρ… для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…: сортировка

ΠΠ²Ρ‚ΠΎΡ€ΠΈΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ

Алгоритмы ΠΈ структуры Π΄Π°Π½Π½Ρ‹Ρ… для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…: сортировка

какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π€ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ

Π’ этой части ΠΌΡ‹ посмотрим Π½Π° ΠΏΡΡ‚ΡŒ основных Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² сортировки Π΄Π°Π½Π½Ρ‹Ρ… Π² массивС. НачнСм с самого простого β€” сортировки ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠΌ β€” ΠΈ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠΌ «быстрой сортировкой» (quicksort).

Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, ΠΊΡ€ΠΎΠΌΠ΅ объяснСния Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹, ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠΊΠ°ΠΆΠ΅ΠΌ Π΅Π³ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎ памяти ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π² Π½Π°ΠΈΡ…ΡƒΠ΄ΡˆΠ΅ΠΌ, Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠ΅ΠΌ ΠΈ срСднСм случаС.

ΠœΠ΅Ρ‚ΠΎΠ΄ Swap

ΠŸΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠ²Π°Ρ сортировка

Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΠΠ°ΠΈΠ»ΡƒΡ‡ΡˆΠΈΠΉ случайВ ΡΡ€Π΅Π΄Π½Π΅ΠΌΠΠ°ΠΈΡ…ΡƒΠ΄ΡˆΠΈΠΉ случай
ВрСмяO(n)O(n 2 )O(n 2 )
ΠŸΠ°ΠΌΡΡ‚ΡŒO(1)O(1)O(1)

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠΌ β€” это самый простой Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ сортировки. Он ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎ массиву нСсколько Ρ€Π°Π·, Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ этапС пСрСмСщая самоС большоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· нСотсортированных Π² ΠΊΠΎΠ½Π΅Ρ† массива.

НапримСр, Ρƒ нас Π΅ΡΡ‚ΡŒ массив Ρ†Π΅Π»Ρ‹Ρ… чисСл:

какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π€ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ

ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΏΡ€ΠΎΡ…ΠΎΠ΄Π΅ ΠΏΠΎ массиву ΠΌΡ‹ сравниваСм значСния 3 ΠΈ 7. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ 7 большС 3, ΠΌΡ‹ оставляСм ΠΈΡ… ΠΊΠ°ΠΊ Π΅ΡΡ‚ΡŒ. ПослС Ρ‡Π΅Π³ΠΎ сравниваСм 7 ΠΈ 4. 4 мСньшС 7, поэтому ΠΌΡ‹ мСняСм ΠΈΡ… мСстами, пСрСмСщая сСмСрку Π½Π° ΠΎΠ΄Π½Ρƒ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Π±Π»ΠΈΠΆΠ΅ ΠΊ ΠΊΠΎΠ½Ρ†Ρƒ массива. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠ½ выглядит Ρ‚Π°ΠΊ:

какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π€ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ

Π­Ρ‚ΠΎΡ‚ процСсс повторяСтся Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° сСмСрка Π½Π΅ Π΄ΠΎΠΉΠ΄Π΅Ρ‚ ΠΏΠΎΡ‡Ρ‚ΠΈ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° массива. Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΎΠ½Π° сравниваСтся с элСмСнтом 8, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ большС, Π° Π·Π½Π°Ρ‡ΠΈΡ‚, ΠΎΠ±ΠΌΠ΅Π½Π° Π½Π΅ происходит. ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ‹ обошли массив ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·, ΠΎΠ½ выглядит Ρ‚Π°ΠΊ:

какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π€ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π±Ρ‹Π» ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΠΌΠ΅Π½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ ΠΏΠΎ массиву Π΅Ρ‰Π΅ Ρ€Π°Π·. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ этого ΠΏΡ€ΠΎΡ…ΠΎΠ΄Π° ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅ΠΌ Π½Π° мСсто число 6.

какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π€ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ

И снова Π±Ρ‹Π» ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΠΌΠ΅Π½, Π° Π·Π½Π°Ρ‡ΠΈΡ‚, ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΠΌ ΠΏΠΎ массиву Π΅Ρ‰Π΅ Ρ€Π°Π·.

15–17 ноября, Онлайн, Π‘Π΅cΠΏΠ»Π°Ρ‚Π½ΠΎ

ΠŸΡ€ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΎΡ…ΠΎΠ΄Π΅ ΠΎΠ±ΠΌΠ΅Π½Π° Π½Π΅ производится, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ наш массив отсортирован, ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ» свою Ρ€Π°Π±ΠΎΡ‚Ρƒ.

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° вставками

Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΠΠ°ΠΈΠ»ΡƒΡ‡ΡˆΠΈΠΉ случайВ ΡΡ€Π΅Π΄Π½Π΅ΠΌΠΠ°ΠΈΡ…ΡƒΠ΄ΡˆΠΈΠΉ случай
ВрСмяO(n)O(n 2 )O(n 2 )
ΠŸΠ°ΠΌΡΡ‚ΡŒO(1)O(1)O(1)

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° вставками Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, проходя ΠΏΠΎ массиву ΠΈ пСрСмСщая Π½ΡƒΠΆΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² Π½Π°Ρ‡Π°Π»ΠΎ массива. ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° очСрСдная позиция, ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ всС ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π΄ΠΎ Π½Π΅Π΅ отсортированы, Π° послС Π½Π΅Π΅ β€” Π½Π΅Ρ‚.

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

какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π€ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ

ΠŸΠΎΡΡ‚Π΅ΠΏΠ΅Π½Π½ΠΎ отсортированная Ρ‡Π°ΡΡ‚ΡŒ массива растСт, ΠΈ, Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ², массив окаТСтся упорядочСнным.

Π”Π°Π²Π°ΠΉΡ‚Π΅ взглянСм Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€. Π’ΠΎΡ‚ наш нСотсортированный массив, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ:

какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π€ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ

Алгоритм Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ с индСкса 0 ΠΈ значСния 3. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ индСкс, массив Π΄ΠΎ Π½Π΅Π³ΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ считаСтся отсортированным.

Π”Π°Π»Π΅Π΅ ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ числу 7. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ 7 большС, Ρ‡Π΅ΠΌ любоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² отсортированной части, ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ элСмСнту.

На этом этапС элСмСнты с индСксами 0..1 отсортированы, Π° ΠΏΡ€ΠΎ элСмСнты с индСксами 2..n Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ извСстно.

Π˜Ρ‚Π°ΠΊ, ΠΌΡ‹ нашли индСкс 1 (ΠΌΠ΅ΠΆΠ΄Ρƒ значСниями 3 ΠΈ 7). ΠœΠ΅Ρ‚ΠΎΠ΄ Insert осущСствляСт вставку, удаляя вставляСмоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· массива ΠΈ сдвигая всС значСния, начиная с индСкса для вставки, Π²ΠΏΡ€Π°Π²ΠΎ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ массив выглядит Ρ‚Π°ΠΊ:

какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π€ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρ‡Π°ΡΡ‚ΡŒ массива, начиная ΠΎΡ‚ Π½ΡƒΠ»Π΅Π²ΠΎΠ³ΠΎ элСмСнта ΠΈ заканчивая элСмСнтом с индСксом 2, отсортирована. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ начинаСтся с индСкса 3 ΠΈ значСния 4. По ΠΌΠ΅Ρ€Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΌΡ‹ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ вставки.

какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π€ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ

Когда большС Π½Π΅Ρ‚ возмоТностСй для вставок, массив считаСтся ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ отсортированным, ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π°.

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ

Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΠΠ°ΠΈΠ»ΡƒΡ‡ΡˆΠΈΠΉ случайВ ΡΡ€Π΅Π΄Π½Π΅ΠΌΠΠ°ΠΈΡ…ΡƒΠ΄ΡˆΠΈΠΉ случай
ВрСмяO(n)O(n 2 )O(n 2 )
ΠŸΠ°ΠΌΡΡ‚ΡŒO(1)O(1)O(1)

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

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ сортировки Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ Π½Π° нашСм нСотсортированном массивС.

какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π€ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ

ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΏΡ€ΠΎΡ…ΠΎΠ΄Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° FindIndexOfSmallestFromIndex пытаСтся Π½Π°ΠΉΡ‚ΠΈ наимСньшСС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² массивС ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² Π½Π°Ρ‡Π°Π»ΠΎ.

ИмСя Ρ‚Π°ΠΊΠΎΠΉ малСнький массив, ΠΌΡ‹ сразу ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ наимСньшСС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ β€” 3, ΠΈ ΠΎΠ½ΠΎ ΡƒΠΆΠ΅ находится Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ. На этом этапС ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π² массивС (индСкс 0) находится самоС малСнькоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π½Π°Ρ‡Π°Π»ΠΎ массива ΡƒΠΆΠ΅ отсортировано. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΌΡ‹ Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΠΌ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ β€” Π½Π° этот Ρ€Π°Π· ΠΏΠΎ индСксам ΠΎΡ‚ 1 Π΄ΠΎ n β€” 1.

На Π²Ρ‚ΠΎΡ€ΠΎΠΌ ΠΏΡ€ΠΎΡ…ΠΎΠ΄Π΅ ΠΌΡ‹ опрСдСляСм, Ρ‡Ρ‚ΠΎ наимСньшСС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ β€” 4. ΠœΡ‹ мСняСм Π΅Π³ΠΎ мСстами со Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ элСмСнтом, сСмСркой, послС Ρ‡Π΅Π³ΠΎ 4 встаСт Π½Π° свою ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ.

какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π€ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ

Π’Π΅ΠΏΠ΅Ρ€ΡŒ нСотсортированная Ρ‡Π°ΡΡ‚ΡŒ массива начинаСтся с индСкса 2. Она растСт Π½Π° ΠΎΠ΄ΠΈΠ½ элСмСнт ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΡ€ΠΎΡ…ΠΎΠ΄Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Если Π½Π° ΠΊΠ°ΠΊΠΎΠΌ-Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΎΡ…ΠΎΠ΄Π΅ ΠΌΡ‹ Π½Π΅ сдСлали Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠ±ΠΌΠ΅Π½Π°, это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ массив отсортирован.

ПослС Π΅Ρ‰Π΅ Π΄Π²ΡƒΡ… ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΎΠ² Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ свою Ρ€Π°Π±ΠΎΡ‚Ρƒ:

какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π€ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ

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

Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΠΠ°ΠΈΠ»ΡƒΡ‡ΡˆΠΈΠΉ случайВ ΡΡ€Π΅Π΄Π½Π΅ΠΌΠΠ°ΠΈΡ…ΡƒΠ΄ΡˆΠΈΠΉ случай
ВрСмяO(nΒ·log n)O(nΒ·log n)O(nΒ·log n)
ΠŸΠ°ΠΌΡΡ‚ΡŒO(n)O(n)O(n)

РаздСляй ΠΈ властвуй

Π”ΠΎ сих ΠΏΠΎΡ€ ΠΌΡ‹ рассматривали Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹. Они ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΌΠ°Π»ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ памяти, Π½ΠΎ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΈΡ‡Π½ΡƒΡŽ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ сортировки слияниСм ΠΌΡ‹ посмотрим Π½Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ‚ΠΈΠΏΠ° «раздСляй ΠΈ властвуй» (divide and conquer).

Алгоритмы этого Ρ‚ΠΈΠΏΠ° Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚, раздСляя ΠΊΡ€ΡƒΠΏΠ½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ Π½Π° Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π»ΠΊΠΈΠ΅, Ρ€Π΅ΡˆΠ°Π΅ΠΌΡ‹Π΅ ΠΏΡ€ΠΎΡ‰Π΅. ΠœΡ‹ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ ΠΈΠΌΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ дСнь. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, поиск Π² Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ β€” ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Ρ‚Π°ΠΊΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°.

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° ΠΏΠΎ Ρ„Π°ΠΌΠΈΠ»ΠΈΠΈ ΠŸΠ΅Ρ‚Ρ€ΠΎΠ², Π²Ρ‹ Π½Π΅ станСтС ΠΈΡΠΊΠ°Ρ‚ΡŒ, начиная с Π±ΡƒΠΊΠ²Ρ‹ А ΠΈ пСрСворачивая ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ страницС. Π’Ρ‹, скорСС всСго, ΠΎΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚Π΅ ΠΊΠ½ΠΈΠ³Ρƒ Π³Π΄Π΅-Ρ‚ΠΎ посСрСдинС. Если ΠΏΠΎΠΏΠ°Π΄Π΅Ρ‚Π΅ Π½Π° Π±ΡƒΠΊΠ²Ρƒ Π’, пСрСлистнСтС нСсколько страниц Π½Π°Π·Π°Π΄, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, слишком ΠΌΠ½ΠΎΠ³ΠΎ β€” Π΄ΠΎ Π±ΡƒΠΊΠ²Ρ‹ О. Π’ΠΎΠ³Π΄Π° Π²Ρ‹ ΠΏΠΎΠΉΠ΄Π΅Ρ‚Π΅ Π²ΠΏΠ΅Ρ€Π΅Π΄. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, пСрСлистывая Ρ‚ΡƒΠ΄Π° ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ всС мСньшСС количСство страниц, Π²Ρ‹, Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ², Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ Π½ΡƒΠΆΠ½ΡƒΡŽ.

Насколько эффСктивны эти Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹?

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π² Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ 1000 страниц. Если Π²Ρ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚Π΅ Π΅Π΅ Π½Π° сСрСдинС, Π²Ρ‹ отбрасываСтС 500 страниц, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅Ρ‚ искомого Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°. Если Π²Ρ‹ Π½Π΅ ΠΏΠΎΠΏΠ°Π»ΠΈ Π½Π° Π½ΡƒΠΆΠ½ΡƒΡŽ страницу, Π²Ρ‹ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚Π΅ ΠΏΡ€Π°Π²ΡƒΡŽ ΠΈΠ»ΠΈ Π»Π΅Π²ΡƒΡŽ сторону ΠΈ снова оставляСтС ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρƒ доступных Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ². Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Π°ΠΌ Π½Π°Π΄ΠΎ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ 250 страниц. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΡ‹ Π΄Π΅Π»ΠΈΠΌ Π½Π°ΡˆΡƒ Π·Π°Π΄Π°Ρ‡Ρƒ ΠΏΠΎΠΏΠΎΠ»Π°ΠΌ снова ΠΈ снова ΠΈ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΠΉΡ‚ΠΈ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° Π² Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ всСго Π·Π° 10 просмотров. Π­Ρ‚ΠΎ составляСт 1% ΠΎΡ‚ всСго количСства страниц, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°ΠΌ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π±Ρ‹ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΌ поискС.

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

ΠŸΡ€ΠΈ сортировкС слияниСм ΠΌΡ‹ раздСляСм массив ΠΏΠΎΠΏΠΎΠ»Π°ΠΌ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ участок Π½Π΅ станСт Π΄Π»ΠΈΠ½ΠΎΠΉ Π² ΠΎΠ΄ΠΈΠ½ элСмСнт. Π—Π°Ρ‚Π΅ΠΌ эти участки Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ΡΡ Π½Π° мСсто (ΡΠ»ΠΈΠ²Π°ΡŽΡ‚ΡΡ) Π² ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ порядкС.

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π½Π° Ρ‚Π°ΠΊΠΎΠΉ массив:

какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π€ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ

Π Π°Π·Π΄Π΅Π»ΠΈΠΌ Π΅Π³ΠΎ ΠΏΠΎΠΏΠΎΠ»Π°ΠΌ:

какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π€ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ

И Π±ΡƒΠ΄Π΅ΠΌ Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΏΠΎΠΏΠΎΠ»Π°ΠΌ, ΠΏΠΎΠΊΠ° Π½Π΅ останутся части с ΠΎΠ΄Π½ΠΈΠΌ элСмСнтом:

какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π€ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Ρ€Π°Π·Π΄Π΅Π»ΠΈΠ»ΠΈ массив Π½Π° максимально ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅ участки, ΠΌΡ‹ сливаСм ΠΈΡ… Π² ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ порядкС.

какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π€ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ

Π‘Π½Π°Ρ‡Π°Π»Π° ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΏΠΎ Π΄Π²Π° отсортированных элСмСнта, ΠΏΠΎΡ‚ΠΎΠΌ «собираСм» ΠΈΡ… Π² Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΏΠΎ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ элСмСнта ΠΈ Π² ΠΊΠΎΠ½Ρ†Π΅ собираСм всС вмСстС Π² отсортированный массив.

какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π€ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ:

Π‘Ρ‚ΠΎΠΈΡ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² сортировки, сортировка слияниСм Π±ΡƒΠ΄Π΅Ρ‚ Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΈ ΡΠΊΠ»Π΅ΠΈΠ²Π°Ρ‚ΡŒ массив Π²Π½Π΅ зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Π±Ρ‹Π» ΠΎΠ½ отсортирован ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΈΠ»ΠΈ Π½Π΅Ρ‚. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, нСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π² Ρ…ΡƒΠ΄ΡˆΠ΅ΠΌ случаС ΠΎΠ½ ΠΎΡ‚Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ быстрСС, Ρ‡Π΅ΠΌ Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΉ, Π² Π»ΡƒΡ‡ΡˆΠ΅ΠΌ случаС Π΅Π³ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ Π½ΠΈΠΆΠ΅, Ρ‡Π΅ΠΌ Ρƒ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ³ΠΎ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ сортировка слияниСм β€” Π½Π΅ самоС Π»ΡƒΡ‡ΡˆΠ΅Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ³Π΄Π° Π½Π°Π΄ΠΎ ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ частично упорядочСнный массив.

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

Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΠΠ°ΠΈΠ»ΡƒΡ‡ΡˆΠΈΠΉ случайВ ΡΡ€Π΅Π΄Π½Π΅ΠΌΠΠ°ΠΈΡ…ΡƒΠ΄ΡˆΠΈΠΉ случай
ВрСмяO(nΒ·log n)O(nΒ·log n)O(n 2 )
ΠŸΠ°ΠΌΡΡ‚ΡŒO(1)O(1)O(1)

Быстрая сортировка β€” это Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ‚ΠΈΠΏΠ° «раздСляй ΠΈ властвуй». Он Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, рСкурсивно повторяя ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ шаги:

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ массивС:

какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π€ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ

Π‘Π½Π°Ρ‡Π°Π»Π° ΠΌΡ‹ случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠΉ элСмСнт:

какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π€ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠΉ индСкс (4), ΠΌΡ‹ Π±Π΅Ρ€Π΅ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, находящССся ΠΏΠΎ этому индСксу (6), ΠΈ пСрСносим значСния Π² массивС Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ всС числа большС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠΌΡƒ Π±Ρ‹Π»ΠΈ Π² ΠΏΡ€Π°Π²ΠΎΠΉ части, Π° всС числа мСньшС ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ β€” Π² Π»Π΅Π²ΠΎΠΉ. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π² процСссС пСрСноса Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ индСкс ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ элСмСнта ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒΡΡ (ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ это вскорС).

какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π€ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ

На этом этапС ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 6 находится Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ повторяСм этот процСсс для ΠΏΡ€Π°Π²ΠΎΠΉ ΠΈ Π»Π΅Π²ΠΎΠΉ частСй массива.

ΠœΡ‹ рСкурсивно Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ quicksort Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· частСй. ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ элСмСнтом Π² Π»Π΅Π²ΠΎΠΉ части становится пятСрка. ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΎΠ½Π° ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ свой индСкс. Π“Π»Π°Π²Π½ΠΎΠ΅ β€” ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π²Π°ΠΆΠ½ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π° Π½Π΅ Π΅Π³ΠΎ индСкс.

какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π€ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ

Π‘Π½ΠΎΠ²Π° примСняСм Π±Ρ‹ΡΡ‚Ρ€ΡƒΡŽ сортировку:

какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π€ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ

какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π€ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ

Π£ нас ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ ΠΎΠ΄Π½ΠΎ нСотсортированноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π°, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ всС ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅ ΡƒΠΆΠ΅ отсортировано, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

На этом ΠΌΡ‹ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Π΅ΠΌ наш Ρ†ΠΈΠΊΠ» статСй ΠΏΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌ ΠΈ структурам Π΄Π°Π½Π½Ρ‹Ρ… для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…. Π—Π° это врСмя ΠΌΡ‹ рассмотрСли связныС списки, динамичСскиС массивы, Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ поиска ΠΈ мноТСства с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΊΠΎΠ΄Π° Π½Π° C#.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Алгоритмы сортировки

Π‘Ρ‚Π°Ρ‚ΡŒΡ Π² процСссС обновлСния

ΠΠ΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ изучСния ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² связана с использованиСм ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹Ρ… Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… рСсурсов ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°: ΠΏΠ°ΠΌΡΡ‚ΡŒ, процСссов, ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ чтСния Π΄Π°Π½Π½Ρ‹Ρ… с диска ΠΈ запись Π½Π° диск ΠΈ Π΄Ρ€. Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ связана с Ρ‚Π΅ΠΌ, сколько рСсурсов ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ придётся Π·Π°Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ поставлСнной Π·Π°Π΄Π°Ρ‡ΠΈ. НапримСр, для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ сортировки вставками трСбуСтся ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π€ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°ΡΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ (здСсь какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π€ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρβ€” количСство элСмСнтов Π΄Π°Π½Π½Ρ‹Ρ…, Π° какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π€ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρβ€” нСзависящая ΠΎΡ‚ этих Π΄Π°Π½Π½Ρ‹Ρ… константа). Для сортировки слияниСм трСбуСтся ΡƒΠΆΠ΅ порядком какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π€ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°ΡΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ (здСсь какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π€ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρβ€” краткая запись какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π€ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ, Π° какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π€ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρβ€” нСкоторая другая константа). Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π²Ρ‹ΡˆΠ΅, Π° наглядный ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠšΠΎΡ€ΠΌΡΠ½ Π² ΠΊΠ½ΠΈΠ³Π΅ «Алгоритмы. ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ ΠΈ Π°Π½Π°Π»ΠΈΠ·Β» (стр.: 34):

…рассмотрим Π΄Π²Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° β€” А ΠΈ Π‘. ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ А Π±ΠΎΠ»Π΅Π΅ быстрый, ΠΈ Π½Π° Π½Ρ‘ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ сортировкой вставкой, Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Π‘ Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΉ, ΠΈ Π½Π° Π½Ρ‘ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ слияния. Оба ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ сортировку мноТСства, состоящСго ΠΈΠ· дСсяти ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² чисСл. (…) ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ А выполняСт Π΄Π΅ΡΡΡ‚ΡŒ ΠΌΠΈΠ»Π»ΠΈΠ°Ρ€Π΄ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄ Π² сСкунду, Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Π‘ β€” Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 9 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄ Π² сСкунду, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ А Π² тысячу Ρ€Π°Π· быстрСС ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° Π‘. Π§Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ стало Π΅Ρ‰Ρ‘ большим, ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ для ΠΌΠ΅Ρ‚ΠΎΠ΄Π° вставок (Ρ‚.Π΅. для ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° А) написан Π»ΡƒΡ‡ΡˆΠΈΠΌ Π² ΠΌΠΈΡ€Π΅ программистом Π½Π° машинном языкС ΠΈ для сортировкС какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π€ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°ΡΡ‡ΠΈΡΠ΅Π» Π½Π°Π΄ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π€ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°ΡΠΊΠΎΠΌΠ°Π½Π΄. Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΆΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ слияния (Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ Π‘) Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° программистом-сСрСднячком с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ языка высокого уровня. ΠŸΡ€ΠΈ этом компилятор оказался Π½Π΅ слишком эффСктивным, ΠΈ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ получился ΠΊΠΎΠ΄, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠΉ выполнСния какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π€ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°ΡΠΊΠΎΠΌΠ°Π½Π΄. Для сортировки дСсяти ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² чисСл ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° А ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ: какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π€ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°ΡΡΠ΅ΠΊΡƒΠ½Π΄ (Π±ΠΎΠ»Π΅Π΅ 5,5 часов), Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ Π‘ потрСбуСтся какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π€ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°ΡΡΠ΅ΠΊΡƒΠ½Π΄ (ΠΌΠ΅Π½Π΅Π΅ 20 ΠΌΠΈΠ½ΡƒΡ‚).

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, использованиС ΠΊΠΎΠ΄Π°, врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ возрастаСт ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΈ ΠΏΠ»ΠΎΡ…ΠΎΠΌ компиляторС Π½Π° Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ 17 Ρ€Π°Π· мСньшС процСссорного Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ!

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅

Алгоритмы сортировки β€” это Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Π΅Ρ€ΡƒΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ· какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π€ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°ΡΡΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΎΠ² какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π€ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°ΡΠΈ ΠΏΠ΅Ρ€Π΅ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ элСмСнты Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠ°ΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π€ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°ΡΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΠ»Π° ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ: какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π€ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ.

Визуализация Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² сортировки

ΠšΠ»Π°ΡΡΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ²

Алгоритмы сортировки ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ»Π°ΡΡΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎ:

ΠŸΡ€ΠΎΡΡ‚Ρ‹Π΅ сортировки

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° Π²Ρ‹Π±ΠΎΡ€ΠΊΠΎΠΉ

Бамая простая сортировка, которая для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈΡ‰Π΅Ρ‚ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт, послС Ρ‡Π΅Π³ΠΎ мСняСт элСмСнты с индСксами Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ ΠΈ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ элСмСнта:

ΠŸΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠ²Π°Ρ сортировка

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

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° вставками

Алгоритм Ρ‚Π°ΠΊΠΎΠΉ: ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ отсортированная ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ пуста; Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ шагС ΠΈΠ· Π½Π°Π±ΠΎΡ€Π° Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… выбираСтся элСмСнт ΠΈ помСщаСтся Π½Π° Π½ΡƒΠΆΠ½ΠΎΠ΅ мСсто Π² ΡƒΠΆΠ΅ отсортированной ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ; шаги ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡŽΡ‚ΡΡ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π°Π±ΠΎΡ€ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅ закончится.

Π’ΠΎΡ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π½Π° псСвдокодС:

Π Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ это ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈΠ½Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½ΠΎΠ³ΠΎ Π²Ρ‹ΡˆΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°:

ВаТная ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ этого Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΡƒΠΆΠ΅ отсортированных исходных Π΄Π°Π½Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ» while Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ вовсС, Ρ‚.ΠΊ. ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° условия A[i] > value Π±ΡƒΠ΄Π΅Ρ‚ ΡΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ сразу. Π­Ρ‚ΠΎ позволяСт Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π½Π΅ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π€ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°ΡΠΊΠΎΠΌΠ°Π½Π΄, Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π€ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ, Ρ‡Π΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π΄Ρ€ΡƒΠ³ΠΈΠ΅, Π±ΠΎΠ»Π΅Π΅ слоТныС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹.

Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ сортировки

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ слияния

МногиС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π΅ΠΊΡƒΡ€ΡΠΈΠ²Π½ΡƒΡŽ структуру: для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ поставлСнной Π·Π°Π΄Π°Ρ‡ΠΈ ΠΎΠ½ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ сами сСбя нСсколько Ρ€Π°Π·, Ρ€Π΅ΡˆΠ°Ρ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠΎΠ΄Π·Π°Π΄Π°Ρ‡ΠΈ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ, Ρ€Π°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ происходит Π½Π° ΠΏΠΎΠ΄Π·Π°Π΄Π°Ρ‡ΠΈ, сходныС с исходной, Π½ΠΎ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΌ мСньший ΠΎΠ±ΡŠΡ‘ΠΌ. Π”Π°Π»Π΅Π΅ ΠΎΠ½ΠΈ рСкурсивно Ρ€Π΅ΡˆΠ°ΡŽΡ‚ΡΡ, послС Ρ‡Π΅Π³ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΡƒΡŽΡ‚ΡΡ для получСния Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ исходной Π·Π°Π΄Π°Ρ‡ΠΈ. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ Π·Π°Π΄Π°Ρ‡ΠΈ называСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ «раздСляй ΠΈ властвуй». Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя 3 ΠΏΡƒΠ½ΠΊΡ‚Π°:

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π° β€” сортировка ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ слияния, ΡΡƒΡ‚ΡŒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ:

РСкурсия останавливаСтся Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π΄Π»ΠΈΠ½Π° сортируСмой ΠΏΠΎΠ΄ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ становится Ρ€Π°Π²Π½ΠΎΠΉ 1, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ любая такая ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΡƒΠΆΠ΅ являСтся отсортированной (Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ случай). Π“Π»Π°Π²Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ являСтся объСдинСниС Π΄Π²ΡƒΡ… осторированных ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ Π² Ρ…ΠΎΠ΄Π΅ комбинирования. Π•Ρ‘ ΡΡƒΡ‚ΡŒ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΈΠ· Π΄Π²ΡƒΡ… отсортированных ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ΡΡ элСмСнты Π² порядкС ΠΈΡ… возрастания. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ каТдая ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ ΡƒΠΆΠ΅ отсортирована, Ρ‚ΠΎ Π²Ρ‹Π±ΠΎΡ€ осущСствляСтся ΠΌΠ΅ΠΆΠ΄Ρƒ 2-я значСниями ΠΈΠ· Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠΎΠ΄ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ, послС Ρ‡Π΅Π³ΠΎ наимСньшСС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ пСрСмСщаСтся ΠΈΠ· своСй ΠΏΠΎΠ΄ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π² ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΡƒΠ΅ΠΌΡƒΡŽ.

Алгоритм Π½Π° псСвдокодС:

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

Основной Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹

НСдостатки Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°

ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ€Π°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ Π›ΠΎΠΌΡƒΡ‚ΠΎ, Π³Π΄Π΅ ΠΎΠΏΠΎΡ€Π½Ρ‹ΠΌ элСмСнтом для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ послСдний Π΅Ρ‘ элСмСнт. На отсортированной ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π΄Π΅Π³Ρ€Π°Π΄ΠΈΡ€ΡƒΠ΅Ρ‚ Π΄ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π€ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ.

ΠŸΠΈΡ€Π°ΠΌΠΈΠ΄Π°Π»ΡŒΠ½Π°Ρ сортировка

ИдСя ΠΏΠΈΡ€Π°ΠΌΠΈΠ΄Π°Π»ΡŒΠ½ΠΎΠΉ сортировки Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² использовании Ρ‚Π°ΠΊΠΎΠΉ структуры Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠ°ΠΊ бинарная ΠΊΡƒΡ‡Π°, ΡΠ²Π»ΡΡŽΡ‰Π°ΡΡΡ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΌ Π΄Π΅Ρ€Π΅Π²ΠΎΠΌ со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ ограничСниями:

Для прСдставлСния Π΄Π΅Ρ€Π΅Π²Π° Ρ‡Π΅Ρ€Π΅Π· массив ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ идСю: Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ находится ΠΊΠΎΡ€Π΅Π½ΡŒ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ Π΄Π΅Ρ€Π΅Π²Π°, Ρ‚ΠΎΠ³Π΄Π° для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΌΠΊΠ° Π±ΡƒΠ΄Π΅Ρ‚ Π²Π΅Ρ€Π½ΠΎ, Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ индСкс опрСдСляСтся ΠΊΠ°ΠΊ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π€ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°ΡΠ΄Π»Ρ Π»Π΅Π²ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΌΠΊΠ° ΠΈ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π€ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°ΡΠ΄Π»Ρ ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΌΠΊΠ°:

какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ. Π€ΠΎΡ‚ΠΎ какая сортировка самая Π»ΡƒΡ‡ΡˆΠ°Ρ

Алгоритм сводится ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ шагам:

Ѐункция, которая ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ элСмСнт Π²Π½ΠΈΠ· ΠΏΠΎ Π΄Π΅Ρ€Π΅Π²Ρƒ для восстановлСния свойств Π΄Π΅Ρ€Π΅Π²Π° Π±ΡƒΠ΄Π΅ΠΌ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ Heapify:

Нашли ΠΎΡˆΠΈΠ±ΠΊΡƒ Π² тСкстС? Π’Ρ‹Π΄Π΅Π»ΠΈΡ‚Π΅ ΠΎΡˆΠΈΠ±ΠΊΡƒ Π² тСкстС ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Ctrl + Enter Π½Π° любой страницС сайта.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Leave a Reply

Your email address will not be published. Required fields are marked *