сортировка расчСской c ΠΊΠΎΠ΄

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

ВсСм ΠΏΡ€ΠΈΠ²Π΅Ρ‚! ΠŸΠΎΠΌΠΎΠ³ΠΈΡ‚Π΅, поТалуйста Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΊΠΎΠ΄.

сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° расчёской ΠΈ быстрая сортировка
Π’ Ρ„Π°ΠΉΠ»Π΅ in.txt записана ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ†Π΅Π»Ρ‹Ρ… чисСл. Π—Π°Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ числа ΠΈ.

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° «Ρ€Π°ΡΡ‡Π΅ΡΠΊΠΎΠΉ»
рСбят,ΠΏΠΎΠΌΠΎΠ³ΠΈΡ‚Π΅ поТалуйста с сортировкой расчСской. Π½ΡƒΠΆΠ΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΈ Π±Π»ΠΎΠΊ-схСма. Π½Π° Π³ΡƒΠ³Π» Π½Π΅.

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ ΠΌΠΎΠ΄Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄Π—Π°ΠΏΡ€Π΅Ρ‰Π΅Π½ΠΎ ΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ Π½Π° вопросы ΠΈΠ»ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ с Ρ„ΠΎΡ€ΡƒΠΌΠ° Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ сайты ΠΈ Π΄Π°Π²Π°Ρ‚ΡŒ Π½Π° Π½ΠΈΡ… ссылки Π² качСствС ΠΎΡ‚Π²Π΅Ρ‚Π°.
ВмСстС со ссылкой Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ пояснСниС ΠΏΠΎ сути Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ донСсти ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Ρ„ΠΎΡ€ΡƒΠΌΠ°.

ΠœΠΎΠ³Ρƒ Π»ΠΈ я Π² самом ΠΊΠΎΠ΄Π΅ вмСсто Π²Ρ‹Π·ΠΎΠ²Π° Ρ„-ΠΈΠΈ cmp Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ if (array[i + jump]> array[i]) ΠΈ Ρ‡Ρ‚ΠΎ я ΠΏΠΎΡ‚Π΅Ρ€ΡΡŽ ΠΏΡ€ΠΈ Ρ‚Π°ΠΊΠΎΠΉ Π·Π°ΠΌΠ΅Π½Π΅?

ΠŸΠΎΠΏΡ‹Ρ‚Π°Π»ΡΡ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ

The number of bytes in the array is 160
The number of bytes returned by getSize is 4

ΠžΠ±ΡŠΡΡΠ½ΠΈΡ‚Π΅ ΠΏΠ»Π· ΠΏΠΎΡ‡Π΅ΠΌΡƒ 4? Π€-ия считаСт Ρ€Π°Π·ΠΌΠ΅Ρ€ Π² Π±Π°ΠΉΡ‚Π°Ρ… адрСса ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ элСмСнта массива?

ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ…, курсовых ΠΈ Π΄ΠΈΠΏΠ»ΠΎΠΌΠ½Ρ‹Ρ… Ρ€Π°Π±ΠΎΡ‚ здСсь.

ΠŸΠΎΠ΄ΡΡ‡Π΅Ρ‚ количСства пСрСстановок Π² сортировкС расчСской
НуТно ΠΏΠΎΠ΄ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ количСство пСрСстановок, сортируя массив «Ρ€Π°ΡΡ‡Π΅ΡΠΊΠΎΠΉ» ΠΈ вывСсти Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π².

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° расчСской
Π”ΠΎΠ±Ρ€Ρ‹ΠΉ дСнь Π― Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ, ΠΏΡ‹Ρ‚Π°ΡŽΡΡŒ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ с сортировкой расчСской. ΠœΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ΄ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π΅Π½.

сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° расчСской
Π”Π΅Π½ΡŒ Π΄ΠΎΠ±Ρ€Ρ‹ΠΉ, Π΄ΠΎΡ€ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ·ΡŒΡ. НуТна ваша ΠΏΠΎΠΌΠΎΡ‰ΡŒ с Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ сортировки «Ρ€Π°ΡΡ‡Π΅ΡΠΊΠΎΠΉ» Π½Π° языкС.

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

РасчСска сортировка

Comb Sort β€” это Π² основном ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Bubble Sort. ΠŸΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠ²Π°Ρ сортировка всСгда сравниваСт сосСдниС значСния. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, всС инвСрсии ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ. Comb Sort ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π΅Ρ‚ Bubble Sort, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ€Π°Π·Ρ€Ρ‹Π² Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ большС 1. Π Π°Π·Ρ€Ρ‹Π² начинаСтся с большого значСния ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ΡΡ Π² 1,3 Ρ€Π°Π·Π° Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΏΠΎΠΊΠ° Π½Π΅ достигнСт значСния 1. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Comb Sort удаляСт Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ подсчСта инвСрсии с ΠΎΠ΄Π½ΠΈΠΌ своп ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π»ΡƒΡ‡ΡˆΠ΅, Ρ‡Π΅ΠΌ Bubble Sort.

ЭмпиричСски Π±Ρ‹Π»ΠΎ установлСно, Ρ‡Ρ‚ΠΎ коэффициСнт сТатия Ρ€Π°Π²Π΅Π½ 1,3 (ΠΏΡ€ΠΈ тСстировании Combsort Π² Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ 200 000 случайных списках) [Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: Wiki ]

Π₯отя Π² срСднСм ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π»ΡƒΡ‡ΡˆΠ΅, Ρ‡Π΅ΠΌ Bubble Sort, Π² Ρ…ΡƒΠ΄ΡˆΠ΅ΠΌ случаС остаСтся O (n 2 ).

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° рСализация.

// C ++ рСализация Comb Sort
#include

using namespace std;

// Найти Ρ€Π°Π·Ρ€Ρ‹Π² ΠΌΠ΅ΠΆΠ΄Ρƒ элСмСнтами

int getNextGap( int gap)

// Π£ΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ Ρ€Π°Π·Ρ€Ρ‹Π² ΠΏΠΎ коэффициСнту сТатия

// Ѐункция для сортировки [0..n-1] с использованиСм Comb Sort

void combSort( int a[], int n)

// Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ swapped ΠΊΠ°ΠΊ true, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ

bool swapped = true ;

// ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, ΠΏΠΎΠΊΠ° Ρ€Π°Π·Ρ€Ρ‹Π² большС 1 ΠΈ послСдний

// итСрация Π²Ρ‹Π·Π²Π°Π»Π° своп

// Найти ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΎΠ±Π΅Π»

// Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ мСстами ΠΊΠ°ΠΊ лоТь, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ

// провСряСм, ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» Π»ΠΈ ΠΎΠ±ΠΌΠ΅Π½

// Π‘Ρ€Π°Π²Π½ΠΈΡ‚ΡŒ всС элСмСнты с Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ Ρ€Π°Π·Ρ€Ρ‹Π²ΠΎΠΌ

int n = sizeof (a)/ sizeof (a[0]);

printf ( «Sorted array: \n» );

// Java-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Comb Sort

// Найти Ρ€Π°Π·Ρ€Ρ‹Π² ΠΌΠ΅ΠΆΠ΄Ρƒ элСмСнтами

int getNextGap( int gap)

// Π£ΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ Ρ€Π°Π·Ρ€Ρ‹Π² ΠΏΠΎ коэффициСнту сТатия

// Ѐункция для сортировки arr [] с использованиСм Comb Sort

// Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ swapped ΠΊΠ°ΠΊ true, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ

boolean swapped = true ;

// ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, ΠΏΠΎΠΊΠ° Ρ€Π°Π·Ρ€Ρ‹Π² большС 1 ΠΈ послСдний

// итСрация Π²Ρ‹Π·Π²Π°Π»Π° своп

// Найти ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΎΠ±Π΅Π»

// Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ мСстами ΠΊΠ°ΠΊ лоТь, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ

// провСряСм, ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» Π»ΠΈ ΠΎΠ±ΠΌΠ΅Π½

// Π‘Ρ€Π°Π²Π½ΠΈΡ‚ΡŒ всС элСмСнты с Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ Ρ€Π°Π·Ρ€Ρ‹Π²ΠΎΠΌ

// ΠŸΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ мСстами arr [i] ΠΈ arr [i + gap]

public static void main(String args[])

CombSort ob = new CombSort();

System.out.println( «sorted array» );

>
/ * Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ прСдоставлСн Π Π°Π΄ΠΆΠ°Ρ‚ΠΎΠΌ ΠœΠΈΡˆΡ€ΠΎΠΉ * /

# Python ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ CombSort

# Найти ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΎΠ±Π΅Π» ΠΈΠ· Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ

# Π‘ΠΎΠΊΡ€Π°Ρ‰Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Ρ€Ρ‹Π²Π° ΠΏΠΎ коэффициСнту усадки

# Ѐункция для сортировки arr [] с использованиСм Comb Sort

# Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ swapped ΠΊΠ°ΠΊ true, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ

# ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΠΉΡ‚Π΅ Π±Π΅Π³Π°Ρ‚ΡŒ, ΠΏΠΎΠΊΠ° Ρ€Π°Π·Ρ€Ρ‹Π² большС 1 ΠΈ послСдний

# итСрация Π²Ρ‹Π·Π²Π°Π»Π° своп

# Найти ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΎΠ±Π΅Π»

# Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ мСстами ΠΊΠ°ΠΊ лоТь, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ

# ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» Π»ΠΈ ΠΎΠ±ΠΌΠ΅Π½

# Π‘Ρ€Π°Π²Π½ΠΈΡ‚ΡŒ всС элСмСнты с Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ Ρ€Π°Π·Ρ€Ρ‹Π²ΠΎΠΌ

if arr[i] > arr[i + gap]:

arr[i], arr[i + gap] = arr[i + gap], arr[i]

# Код Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π²Ρ‹ΡˆΠ΅

print ( «Sorted array:» )

for i in range ( len (arr)):

# Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ прСдоставлСн ΠœΠΎΡ…ΠΈΡ‚ΠΎΠΌ ΠšΡƒΠΌΡ€ΠΎΠΉ

// C # ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Comb Sort

// Найти Ρ€Π°Π·Ρ€Ρ‹Π² ΠΌΠ΅ΠΆΠ΄Ρƒ элСмСнтами

static int getNextGap( int gap)

// Π£ΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ Ρ€Π°Π·Ρ€Ρ‹Π² ΠΏΠΎ коэффициСнту сТатия

// Ѐункция для сортировки arr [] с использованиСм Comb Sort

static void sort( int []arr)

// Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ мСстами ΠΊΠ°ΠΊ истину

// ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Ρ†ΠΈΠΊΠ» Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚

bool swapped = true ;

// ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΠΉΡ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, ΠΏΠΎΠΊΠ° Ρ€Π°Π·Ρ€Ρ‹Π² большС

// 1 ΠΈ послСдняя итСрация Π²Ρ‹Π·Π²Π°Π»Π° своп

// Найти ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΎΠ±Π΅Π»

// Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ мСстами ΠΊΠ°ΠΊ лоТь, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ

// провСряСм, ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» Π»ΠΈ ΠΎΠ±ΠΌΠ΅Π½

// Π‘Ρ€Π°Π²Π½ΠΈΡ‚ΡŒ всС элСмСнты с Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ Ρ€Π°Π·Ρ€Ρ‹Π²ΠΎΠΌ

// ΠŸΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ мСстами arr [i] ΠΈ arr [i + gap]

public static void Main()

Console.WriteLine( «sorted array» );

// Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ прСдоставлСн Sam007

Π˜Π»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΡ:
ΠŸΡƒΡΡ‚ΡŒ элСмСнты массива Π±ΡƒΠ΄ΡƒΡ‚

ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Ρ€Ρ‹Π²Π° = 10
ПослС усадки Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Ρ€Ρ‹Π²Π° => 10 / 1,3 = 7 ;

НовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Ρ€Ρ‹Π²Π° => 7 / 1,3 = 5 ;

НовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Ρ€Ρ‹Π²Π° => 5 / 1,3 = 3 ;

НовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Ρ€Ρ‹Π²Π° => 3 / 1,3 = 2 ;

НовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Ρ€Ρ‹Π²Π° => 2 / 1,3 = 1 ;

Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ: ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ этого Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π² Π½Π°ΠΈΡ…ΡƒΠ΄ΡˆΠ΅ΠΌ случаС составляСт O (n 2 ), Π° ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π² Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠ΅ΠΌ случаС β€” O (n).

Π’ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ пространство: O (1).

ВСст Π½Π° расчСску

ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, Ссли Π²Ρ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚Π΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ ΠΈΠ»ΠΈ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΏΠΎ обсуТдаСмой Π²Ρ‹ΡˆΠ΅ Ρ‚Π΅ΠΌΠ΅.

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

О сортировках (ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠ²ΠΎΠΉ, быстрой, расчСской. )

Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π° Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π½Π° Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… программистов. О сортировках Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΈ ΠΎΠ± упомянутых Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅ ΠΌΠΎΡ€Π΅ статСй, Π·Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π΅Ρ‰Π΅ ΠΎΠ΄Π½Π°? НапримСр, Π΅ΡΡ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ ΡΡ‚Π°Ρ‚ΡŒΡ здСсь, Π½Π° Ρ…Π°Π±Ρ€Π΅: ΠŸΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠ²Π°Ρ сортировка ΠΈ всС-всС-всС. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π³ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅ Π±Ρ‹Π²Π°Π΅Ρ‚, Π²ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ… Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я Ρ…ΠΎΡ‡Ρƒ ΠΎΡ‚Π²Π΅Ρ‚ΡŒ Π½Π° вопросы Β«Π·Π°Ρ‡Π΅ΠΌ, Ρ‡Ρ‚ΠΎ, ΠΊΠ°ΠΊ, ΠΏΠΎΡ‡Π΅ΠΌΡƒΒ».Π—Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½Ρ‹ сортировки? Π’ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, для поиска ΠΈ прСдставлСния Π΄Π°Π½Π½Ρ‹Ρ…. НСкоторыС Π·Π°Π΄Π°Ρ‡ΠΈ с нСотсортированными Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ, Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ просто Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€: орфографичСский ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ, Π² Π½Π΅ΠΌ слова отсортированы ΠΏΠΎ Π°Π»Ρ„Π°Π²ΠΈΡ‚Ρƒ. Если Π±Ρ‹ это Π±Ρ‹Π»ΠΎ Π½Π΅ Ρ‚Π°ΠΊ, Ρ‚ΠΎ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ Π² Π½Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎΠ΅ слово. ВСлСфонная ΠΊΠ½ΠΈΠ³Π°, Π³Π΄Π΅ Π°Π±ΠΎΠ½Π΅Π½Ρ‚Ρ‹ отсортированы ΠΏΠΎ Π°Π»Ρ„Π°Π²ΠΈΡ‚Ρƒ. Π”Π°ΠΆΠ΅ Ссли сортировка Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Π° ΠΈ Π½Π΅ сильно Π½ΡƒΠΆΠ½Π°, всС Ρ€Π°Π²Π½ΠΎ Π±Ρ‹Π²Π°Π΅Ρ‚ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с отсортированными Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.

ВрСмя сортировки 100001 элСмСнта

Π˜Π·ΠΌΠ΅Ρ€ΠΈΠΌ врСмя сортировки для массива, содСрТащСго 100001 элСмСнт Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ с процСссором Intel i5 (3.3Π“Π³Ρ†).ВрСмя ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π² сСк, Ρ‡Π΅Ρ€Π΅Π· Π΄Ρ€ΠΎΠ±ΡŒ ΡƒΠΊΠ°Π·Π°Π½ΠΎ количСство ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΎΠ² (для быстрой сортировки ΠΎΠ½ΠΎ нСизвСстно).Как ΠΈ оТидалось, ΡˆΠ΅ΠΉΠΊΠ΅Ρ€Π½Π°Ρ сортировка Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½ΠΎΠΌ массивС (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ упорядочСн, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΈ послСдний элСмСнты пСрСставлСны) Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹ΠΉ Π»ΠΈΠ΄Π΅Ρ€. Она идСально Β«Π·Π°Ρ‚ΠΎΡ‡Π΅Π½Π°Β» ΠΏΠΎΠ΄ эти Π΄Π°Π½Π½Ρ‹Π΅. Но Π½Π° случайных Π΄Π°Π½Π½Ρ‹Ρ… сортировки расчСской ΠΈ qsort Π½Π΅ ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ сопСрницам шанса. ΠŸΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠ²Π°Ρ сортировка Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½ΠΎΠΌ массивС ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π΄Π²ΡƒΠΊΡ€Π°Ρ‚Π½ΠΎΠ΅ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ скорости ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с случайным просто ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ количСство ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ пСрСстановки Π½Π° порядки мСньшС.

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ°ΠŸΡ€ΠΎΡΡ‚Π°ΡΠŸΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠ²Π°ΡΠ¨Π΅ΠΉΠΊΠ΅Ρ€Π½Π°ΡΠ Π°ΡΡ‡Ρ‘ΡΠΊΠΎΠΉΠ‘Ρ‹ΡΡ‚Ρ€Π°Ρ (qsort)
Π‘Ρ‚Π°Π±ΠΈΠ»ΡŒΠ½Π°Ρ+++
Π‘Π»ΡƒΡ‡Π°ΠΉΠ½Ρ‹ΠΉ23.1/10000029.1/9958519.8/500740.020/490.055
ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ½Ρ‹ΠΉ11.5/10000012.9/1000000.002/30.015/480.035
ΠžΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ18.3/10000021.1/10000021.1/1000010.026/480.037

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ вСрнСмся ΠΊ истокам, ΠΊ ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠ²ΠΎΠΉ сортировкС ΠΈ Π²ΠΎΠΎΡ‡ΠΈΡŽ посмотрим Π½Π° процСсс сортировки. Π’ΠΈΠ΄ΠΈΡ‚Π΅, ΠΊΠ°ΠΊ Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΏΡ€ΠΎΡ…ΠΎΠ΄Π΅ тяТСлый элСмСнт (50) пСрСносится Π² ΠΊΠΎΠ½Π΅Ρ†?
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
Π‘Ρ€Π°Π²Π½ΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ элСмСнты ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ Π² Π·Π΅Π»Π΅Π½Ρ‹Ρ… Ρ€Π°ΠΌΠΊΠ°Ρ…, Π° пСрСставлСнныС β€” Π² красных

Π”ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ послС ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ

Π― Π½ΠΈ ΠΊΠΎΠ΅ΠΉ ΠΌΠ΅Ρ€Π΅ Π½Π΅ ΡΡ‡ΠΈΡ‚Π°ΡŽ qsort ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΠΈΠ»ΠΈ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠΉ β€” ΠΎΠ½Π° достаточно быстра, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π° ΠΈ ΠΏΡ€ΠΈ возмоТности слСдуСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Сю. Π”Π°, Π΅ΠΉ приходится Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ врСмя Π½Π° Π²Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ сравнСния ΠΈ ΠΎΠ½Π° уступила «расчСскС», которая сравниваСт Β«ΠΏΠΎ мСсту». Π­Ρ‚ΠΎ отставаниС нСсущСствСнно (сравнитС с отставаниСм ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠ° ΠΎΡ‚ qsort, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈ ростС массива). ΠŸΡƒΡΡ‚ΡŒ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°Π΄ΠΎ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ Π½Π΅ числа, Π° ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ ΡΠ»ΠΎΠΆΠ½ΡƒΡŽ структуру ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ полю ΠΈ ΠΏΡƒΡΡ‚ΡŒ эта структура состоит ΠΈΠ· 1000 Π±Π°ΠΉΡ‚ΠΎΠ². ΠŸΠΎΠΌΠ΅ΡΡ‚ΠΈΠΌ 100тыс элСмСнтов Π² массив (100ΠΌΠ± β€” это ΠΊΠΎΠ΅-Ρ‡Ρ‚ΠΎ) ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ΠΌ qsort. Ѐункция fcomp (функция-ΠΊΠΎΠΌΠΏΠ°Ρ€Π°Ρ‚ΠΎΡ€) сравнит Π½ΡƒΠΆΠ½Ρ‹Π΅ поля ΠΈ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ получится отсортированный массив. ΠŸΡ€ΠΈ этом ΠΏΡ€ΠΈ пСрСстановкС элСмСнтов qsort придСтся 3 Ρ€Π°Π·Π° ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΏΠΎ 1000 Π±Π°ΠΉΡ‚ΠΎΠ². А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ «малСнькая Ρ…ΠΈΡ‚Ρ€ΠΎΡΡ‚ΡŒΒ» β€” создадим массив ΠΈΠ· 100тыс ссылок Π½Π° исходныС элСмСнты ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΄ΠΈΠΌ Π² qsort Π½Π°Ρ‡Π°Π»ΠΎ этого массива ссылок. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ссылка Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ 4 Π±Π°ΠΉΡ‚Π° (Π² 64 Π±ΠΈΡ‚Π½Ρ‹Ρ… 8), Π° Π½Π΅ 1000, Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΎΠ±ΠΌΠ΅Π½Π΅ ссылок qsort Π½Π°Π΄ΠΎ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ эти 4/8 Π±Π°ΠΉΡ‚ΠΎΠ². РазумССтся, Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ fcomp, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΎΠ½Π° Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ Π½Π΅ адрСса элСмСнтов, Π° адрСса адрСсов элСмСнтов (Π½ΠΎ это нСслоТноС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅). Π—Π°Ρ‚ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ нСсколько Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ сортировки (каТдая сортируСт ΠΏΠΎ своСму полю структуры). И Π΄Π°ΠΆΠ΅, ΠΏΡ€ΠΈ нСобходимости, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ нСсколько массивов ссылок. Π’ΠΎΡ‚ сколько возмоТностСй Π΄Π°Π΅Ρ‚ qsort!

ΠšΡΡ‚Π°Ρ‚ΠΈ: использованиС ссылок Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ вмСсто самих ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ qsort, Π½ΠΎ ΠΈ ΠΏΡ€ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Ρ‚Π°ΠΊΠΈΡ… ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² ΠΊΠ°ΠΊ vector, set ΠΈΠ»ΠΈ map.

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

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ сортировка расчёской

Π£Π»ΡƒΡ‡ΡˆΠ°Π΅ΠΌ ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠ²ΡƒΡŽ сортировку.

ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ Ρ€Π°ΡΡΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΎ Ρ€Π°Π·Π½Ρ‹Ρ… Π²ΠΈΠ΄Π°Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² сортировок. ΠœΡ‹ ΡƒΠΆΠ΅ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π»ΠΈ ΡΠ°ΠΌΡƒΡŽ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠ²ΡƒΡŽ сортировку ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π΅ΠΌ Π΅Ρ‘ β€” пишСм сортировку расчёской.

ΠšΠΎΡ€ΠΎΡ‚ΠΊΠΎ ΠΏΡ€ΠΎ ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠ²ΡƒΡŽ сортировку

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

Если ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ числа Π² Π²ΠΈΠ΄Π΅ столбиков, Π² зависимости ΠΎΡ‚ ΠΈΡ… Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, Ρ‚ΠΎ ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠ²Π°Ρ сортировка Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄

Π§Π΅ΠΌ ΠΏΠ»ΠΎΡ…Π° ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠ²Π°Ρ сортировка

Π“Π»Π°Π²Π½Ρ‹ΠΉ нСдостаток ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠ²ΠΎΠΉ сортировки β€” Π΅Ρ‘ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΈ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ всСх элСмСнтов массива. Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° зависит Π½Π΅ ΠΎΡ‚ количСства сравнСний (ΠΎΠ½ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ быстро), Π° ΠΎΡ‚ количСства пСрСстановок (Π½Π° Π½ΠΈΡ… ΠΊΠ°ΠΊ Ρ€Π°Π· ΠΈ тратится ΠΌΠ½ΠΎΠ³ΠΎ процСссорного Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ).

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ Ссли Ρƒ нас Π² массивС Π² Π½Π°Ρ‡Π°Π»Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… элСмСнтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π² ΠΊΠΎΠ½Π΅Ρ† массива, Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· Π½Π°ΠΌ придётся ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΡ… мСстами с сосСдями, ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ пСрСстановкС Π·Π° Ρ€Π°Π·. МоТно ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ нСсСм ΠΊΡƒΠ΄Π°-Ρ‚ΠΎ Π½Π΅ слишком тяТёлый ящик, Π½ΠΎ послС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ шага ставим этот ящик Π½Π° ΠΏΠΎΠ», ΠΏΠΎΡ‚ΠΎΠΌ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Π΅ΠΌ, Π΄Π΅Π»Π°Π΅ΠΌ шаг, снова ставим, снова ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Π΅ΠΌ. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ простыС, Π½ΠΎ ΠΈΠ·-Π·Π° устройства Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΌΡ‹ Π΄Π΅Π»Π°Π΅ΠΌ эти ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ слишком ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·.

Π’ Ρ‡Ρ‘ΠΌ Ρ…ΠΈΡ‚Ρ€ΠΎΡΡ‚ΡŒ сортировки расчёской

Π Π°Π· Ρƒ нас большиС элСмСнты ΠΌΠΎΠ³ΡƒΡ‚ Ρ‚ΠΎΡ€ΠΌΠΎΠ·ΠΈΡ‚ΡŒ вСсь процСсс, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡ… ΠΏΠ΅Ρ€Π΅ΠΊΠΈΠ΄Ρ‹Π²Π°Ρ‚ΡŒ Π½Π΅ Π½Π° сосСднСС мСсто, Π° подальшС. Π’Π°ΠΊ ΠΌΡ‹ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΠΌ количСство пСрСстановок, Π° с Π½ΠΈΠΌΠΈ сэкономим ΠΈ процСссорноС врСмя, Π½ΡƒΠΆΠ½ΠΎΠ΅ Π½Π° ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ.

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

👉 ΠžΠΏΡ‹Ρ‚Π½Ρ‹ΠΌ ΠΏΡƒΡ‚Ρ‘ΠΌ программисты установили ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ расстояниС ΠΌΠ΅ΠΆΠ΄Ρƒ элСмСнтами β€” это Π΄Π»ΠΈΠ½Π° массива, подСлённая Π½Π° 1,247 (понятноС Π΄Π΅Π»ΠΎ, расстояниС Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΊΡ€ΡƒΠ³Π»ΠΈΡ‚ΡŒ Π΄ΠΎ Ρ†Π΅Π»ΠΎΠ³ΠΎ числа). Π‘ этим числом Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ быстрСС всСго.

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ сортировки расчёской

На ΠΏΠ΅Ρ€Π²ΠΎΠΌ шагС ΠΌΡ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π΄Π»ΠΈΠ½Ρƒ массива (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 10 элСмСнтов) ΠΈ Π΄Π΅Π»ΠΈΠΌ Π΅Ρ‘ Π½Π° 1,247. Допустим, послС округлСния Ρƒ нас ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ число 8. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΠΌ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠ²ΠΎΠΉ сортировки, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ сравнивая Π½Π΅ 1 ΠΈ 2, 2 ΠΈ 3, Π° сразу 1 ΠΈ 8, 2 ΠΈ 9, 3 ΠΈ 10. Π­Ρ‚ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ самыС большиС числа, Ссли ΠΎΠ½ΠΈ Π΅ΡΡ‚ΡŒ Π² Π½Π°Ρ‡Π°Π»Π΅, Π² самый ΠΊΠΎΠ½Π΅Ρ†. ВсСго Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠΌ шагС Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Ρ€ΠΈ сравнСния.

На Π²Ρ‚ΠΎΡ€ΠΎΠΌ шагС ΠΌΡ‹ Π±Π΅Ρ€Ρ‘ΠΌ число 8 ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ этапа ΠΈ снова Π΄Π΅Π»ΠΈΠΌ Π΅Π³ΠΎ Π½Π° 1,247, получая число 6. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ снова ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΠΌ вСсь массив ΠΈ сравниваСм Ρ‚Π°ΠΊ:

Π£ΠΆΠ΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ 5 пСрСстановок ΠΈ снова ΠΊΡ€ΡƒΠΏΠ½Ρ‹Π΅ числа ΡƒΠ»Π΅Ρ‚Π΅Π»ΠΈ ΠΏΠΎΠ±Π»ΠΈΠΆΠ΅ ΠΊ ΠΊΠΎΠ½Ρ†Ρƒ массива.

Π’Π°ΠΊ ΠΌΡ‹ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€ шага Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° ΠΎΠ½ Π½Π΅ станСт мСньшС Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ β€” ΠΊ этому ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρƒ массив Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ отсортирован.

🤔 Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° расчёской называСтся Ρ‚Π°ΠΊ ΠΈΠ·-Π·Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΊΠ°ΠΊ Π±Ρ‹ расчёсываСм массив сначала ΡˆΠΈΡ€ΠΎΠΊΠΈΠΌ Π³Ρ€Π΅Π±Π½Π΅ΠΌ (большой шаг), ΠΏΠΎΡ‚ΠΎΠΌ Π³Ρ€Π΅Π±Π½Π΅ΠΌ помСньшС (шаг помСньшС). Π’ ΠΊΠΎΠ½Ρ†Π΅ шаг Ρ€Π°Π²Π΅Π½ Π΅Π΄ΠΈΠ½ΠΈΡ†Π΅, ΠΊΠ°ΠΊ Π² ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠ²ΠΎΠΉ сортировкС.

сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄

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

ЗапуститС этот ΠΊΠΎΠ΄ Π² консоли Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ шаг Π·Π° шагом ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ массив Π² Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π²ΠΈΠ΄:

ΠŸΠΎΡ‡Π΅ΠΌΡƒ это Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠ²ΠΎΠΉ сортировки, вСдь Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ выглядит слоТнСС ΠΈ Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΌΡ‹ всё Ρ€Π°Π²Π½ΠΎ сравниваСм сосСдниС элСмСнты?

Π’ΠΎ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ выглядит слоТнСС, Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚: Π½Π°ΠΌ Π½ΡƒΠΆΠ½Π° Π½Π΅ ΠΎΡ†Π΅Π½ΠΊΠ° слоТности ΠΊΠΎΠ΄Π°, Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΈ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹.

Расчёска Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠ²ΠΎΠΉ сортировки, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π² Π½Π΅ΠΉ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ мСньшС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ пСрСстановки. ИмСнно пСрСстановка Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ основноС врСмя процСссора. Π’ самом Ρ…ΡƒΠ΄ΡˆΠ΅ΠΌ случаС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ сортировки расчёской Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠ²Π°Ρ, Π° Π² срСднСм β€” Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ быстрСС ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠ²ΠΎΠΉ.

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

ОписаниС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² сортировки ΠΈ сравнСниС ΠΈΡ… ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ

ВступлСниС

На эту Ρ‚Π΅ΠΌΡƒ написано ΡƒΠΆΠ΅ Π½Π΅ΠΌΠ°Π»ΠΎ статСй. Однако я Π΅Ρ‰Π΅ Π½Π΅ Π²ΠΈΠ΄Π΅Π» ΡΡ‚Π°Ρ‚ΡŒΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΡΡ€Π°Π²Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ всС основныС сортировки Π½Π° большом числС тСстов Ρ€Π°Π·Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ Π²Π΅Π·Π΄Π΅ Π²Ρ‹Π»ΠΎΠΆΠ΅Π½Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ описаниС Π½Π°Π±ΠΎΡ€Π° тСстов. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ сомнСния Π² ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ исслСдования. Однако Ρ†Π΅Π»ΡŒ ΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ состоит Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ сортировки Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ быстрСС всСго (Π² Ρ†Π΅Π»ΠΎΠΌ это ΠΈ Ρ‚Π°ΠΊ извСстно). Π’ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΌΠ½Π΅ Π±Ρ‹Π»ΠΎ интСрСсно ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ…, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ быстрСС. Работая Π½Π°Π΄ этим, ΠΌΠ½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ для сортировки Π¨Π΅Π»Π»Π°.

Π’ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ ΡΡ‚Π°Ρ‚ΡŒΡ посвящСна Ρ‚ΠΎΠΌΡƒ, ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ всС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΈ ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ…. Если Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ самом ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, Ρ‚ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹Π΅ трудности (Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ благодаря ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ‚ΠΎΡ€Ρƒ C++). Однако Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ тСсты ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… количСствах Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ. ΠšΠΎΠ΄Ρ‹ всСх Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹Π»ΠΎΠΆΠ΅Π½Ρ‹ Π² Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅, написаны ΠΌΠ½ΠΎΠΉ. Доступны ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ запусков Π½Π° всСх тСстах. ЕдинствСнноС, Ρ‡Ρ‚ΠΎ я Π½Π΅ ΠΌΠΎΠ³Ρƒ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ β€” это сами тСсты, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ΠΈ вСсят ΠΏΠΎΡ‡Ρ‚ΠΈ 140 Π“Π‘. ΠŸΡ€ΠΈ малСйшСм ΠΏΠΎΠ΄ΠΎΠ·Ρ€Π΅Π½ΠΈΠΈ я провСрял ΠΈ ΠΊΠΎΠ΄, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ тСсту, ΠΈ сам тСст. НадСюсь, Ρ‡Ρ‚ΠΎ ΡΡ‚Π°Ρ‚ΡŒΡ Π’Π°ΠΌ понравится.

ОписаниС основных сортировок ΠΈ ΠΈΡ… рСализация

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

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

Π‘ΡƒΠ΄Π΅ΠΌ ΠΈΠ΄Ρ‚ΠΈ ΠΏΠΎ массиву слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ. Если Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ элСмСнт большС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ, мСняСм ΠΈΡ… мСстами. Π”Π΅Π»Π°Π΅ΠΌ Ρ‚Π°ΠΊ, ΠΏΠΎΠΊΠ° массив Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ отсортирован. Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ послС ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ самый большой элСмСнт Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² ΠΊΠΎΠ½Ρ†Π΅ массива, Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ мСстС. ПослС Π΄Π²ΡƒΡ… ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ мСстС Π±ΡƒΠ΄ΡƒΡ‚ ΡΡ‚ΠΎΡΡ‚ΡŒ Π΄Π²Π° Π½Π°ΠΈΠ±ΠΎΠ»ΡŒΡˆΠΈΡ… элСмСнта, ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Π½Π΅ Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ послС n ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ массив Π±ΡƒΠ΄Π΅Ρ‚ отсортирован. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, асимптотика Π² Ρ…ΡƒΠ΄ΡˆΠ΅ΠΌ ΠΈ срСднСм случаС – O(n 2 ), Π² Π»ΡƒΡ‡ΡˆΠ΅ΠΌ случаС – O(n).

ШСйкСрная сортировка / Shaker sort

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

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

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° модификация сортировки ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠΌ. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ Β«Ρ‡Π΅Ρ€Π΅ΠΏΠ°Ρ…Β», Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ элСмСнты, стоящиС Π½Π° расстоянии. ЗафиксируСм Π΅Π³ΠΎ ΠΈ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΠ΄Ρ‚ΠΈ слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ, сравнивая элСмСнты, стоящиС Π½Π° этом расстоянии, пСрСставляя ΠΈΡ…, Ссли Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ. ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, это ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Β«Ρ‡Π΅Ρ€Π΅ΠΏΠ°Ρ…Π°ΠΌΒ» быстро Π΄ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² Π½Π°Ρ‡Π°Π»ΠΎ массива. ΠžΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π²Π·ΡΡ‚ΡŒ расстояниС Ρ€Π°Π²Π½Ρ‹ΠΌ Π΄Π»ΠΈΠ½Π΅ массива, Π° Π΄Π°Π»Π΅Π΅ Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ коэффициСнт, Ρ€Π°Π²Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 1.247. Когда расстояниС станСт Ρ€Π°Π²Π½ΠΎ Π΅Π΄ΠΈΠ½ΠΈΡ†Π΅, выполняСтся сортировка ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠΌ. Π’ Π»ΡƒΡ‡ΡˆΠ΅ΠΌ случаС асимптотика Ρ€Π°Π²Π½Π° O(nlogn), Π² Ρ…ΡƒΠ΄ΡˆΠ΅ΠΌ – O(n 2 ). Какая асимптотика Π² срСднСм ΠΌΠ½Π΅ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ понятно, Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° O(nlogn).

Об этих сортировках (ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠΌ, ΡˆΠ΅ΠΉΠΊΠ΅Ρ€Π½ΠΎΠΉ ΠΈ расчСской) Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ здСсь.

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

Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ массив, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ Π»Π΅ΠΆΠ°Ρ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚. Π‘ΡƒΠ΄Π΅ΠΌ ΠΏΠΎΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎ Π²ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ элСмСнты ΠΈΠ· исходного массива Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ элСмСнты Π² массивС-ΠΎΡ‚Π²Π΅Ρ‚Π΅ всСгда Π±Ρ‹Π»ΠΈ отсортированы. Асимптотика Π² срСднСм ΠΈ Ρ…ΡƒΠ΄ΡˆΠ΅ΠΌ случаС – O(n 2 ), Π² Π»ΡƒΡ‡ΡˆΠ΅ΠΌ – O(n). Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ ΠΏΠΎ-Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ (ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ массив ΠΈ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π² Π½Π΅Π³ΠΎ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ слоТно): просто сдСлаСм Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ отсортирован Π±Ρ‹Π» Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСфикс исходного массива, вмСсто вставки Π±ΡƒΠ΄Π΅ΠΌ ΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ элСмСнт с ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌ, ΠΏΠΎΠΊΠ° ΠΎΠ½ΠΈ стоят Π² Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ порядкС.

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

НСсколько ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… ссылок:

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° Π΄Π΅Ρ€Π΅Π²ΠΎΠΌ / Tree sort

Π‘ΡƒΠ΄Π΅ΠΌ Π²ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ элСмСнты Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ поиска. ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ всС элСмСнты вставлСны достаточно ΠΎΠ±ΠΎΠΉΡ‚ΠΈ Π΄Π΅Ρ€Π΅Π²ΠΎ Π² Π³Π»ΡƒΠ±ΠΈΠ½Ρƒ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ отсортированный массив. Если ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ сбалансированноС Π΄Π΅Ρ€Π΅Π²ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ красно-Ρ‡Π΅Ρ€Π½ΠΎΠ΅, асимптотика Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π½Π° O(nlogn) Π² Ρ…ΡƒΠ΄ΡˆΠ΅ΠΌ, срСднСм ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ΠΌ случаС. Π’ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ использован ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ multiset.

Π—Π΄Π΅ΡΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΎ Π΄Π΅Ρ€Π΅Π²ΡŒΡ поиска:

Π“Π½ΠΎΠΌΡŒΡ сортировка / Gnome sort

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

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

На ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Π±ΡƒΠ΄Π΅ΠΌ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Π² массивС послС Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ элСмСнта ΠΈ ΠΌΠ΅Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ с Π½ΠΈΠΌ, Ссли Π½Π°Π΄ΠΎ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, послС i-ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ i элСмСнтов Π±ΡƒΠ΄ΡƒΡ‚ ΡΡ‚ΠΎΡΡ‚ΡŒ Π½Π° своих мСстах. Асимптотика: O(n 2 ) Π² Π»ΡƒΡ‡ΡˆΠ΅ΠΌ, срСднСм ΠΈ Ρ…ΡƒΠ΄ΡˆΠ΅ΠΌ случаС. НуТно ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ эту сортировку ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ двумя способами – сохраняя ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ ΠΈ Π΅Π³ΠΎ индСкс ΠΈΠ»ΠΈ просто пСрСставляя Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ элСмСнт с рассматриваСмым, Ссли ΠΎΠ½ΠΈ стоят Π² Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ порядкС. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ способ оказался Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ быстрСС, поэтому ΠΎΠ½ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½.

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

Π Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ ΠΈΠ΄Π΅ΠΈ сортировки Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ. Π’ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ структурой Π΄Π°Π½Π½Ρ‹Ρ… Β«ΠΊΡƒΡ‡Π°Β» (ΠΈΠ»ΠΈ Β«ΠΏΠΈΡ€Π°ΠΌΠΈΠ΄Π°Β», ΠΎΡ‚ΠΊΡƒΠ΄Π° ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°). Она позволяСт ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Π·Π° O(1), добавляя элСмСнты ΠΈ извлСкая ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Π·Π° O(logn). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, асимптотика O(nlogn) Π² Ρ…ΡƒΠ΄ΡˆΠ΅ΠΌ, срСднСм ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ΠΌ случаС. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Π» ΠΊΡƒΡ‡Ρƒ я сам, хотя Π² Π‘++ ΠΈ Π΅ΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ priority_queue, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ этот ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ довольно ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΉ.

ΠŸΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΎ ΠΊΡƒΡ‡Ρƒ ΠΌΠΎΠΆΠ½ΠΎ здСсь:

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

Π’Ρ‹Π±Π΅Ρ€Π΅ΠΌ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠΏΠΎΡ€Π½Ρ‹ΠΉ элСмСнт. ПослС этого ΠΏΠ΅Ρ€Π΅ΠΊΠΈΠ½Π΅ΠΌ всС элСмСнты, мСньшиС Π΅Π³ΠΎ, Π½Π°Π»Π΅Π²ΠΎ, Π° большиС – Π½Π°ΠΏΡ€Π°Π²ΠΎ. РСкурсивно вызовСмся ΠΎΡ‚ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· частСй. Π’ ΠΈΡ‚ΠΎΠ³Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ отсортированный массив, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт мСньшС ΠΎΠΏΠΎΡ€Π½ΠΎΠ³ΠΎ стоял Ρ€Π°Π½ΡŒΡˆΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ большСго ΠΎΠΏΠΎΡ€Π½ΠΎΠ³ΠΎ. Асимптотика: O(nlogn) Π² срСднСм ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ΠΌ случаС, O(n 2 ). ΠΠ°ΠΈΡ…ΡƒΠ΄ΡˆΠ°Ρ ΠΎΡ†Π΅Π½ΠΊΠ° достигаСтся ΠΏΡ€ΠΈ Π½Π΅ΡƒΠ΄Π°Ρ‡Π½ΠΎΠΌ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΎΠΏΠΎΡ€Π½ΠΎΠ³ΠΎ элСмСнта. Моя рСализация этого Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ стандартна, ΠΈΠ΄Π΅ΠΌ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ слСва ΠΈ справа, Π½Π°Ρ…ΠΎΠ΄ΠΈΠΌ ΠΏΠ°Ρ€Ρƒ элСмСнтов, Ρ‚Π°ΠΊΠΈΡ…, Ρ‡Ρ‚ΠΎ Π»Π΅Π²Ρ‹ΠΉ элСмСнт большС ΠΎΠΏΠΎΡ€Π½ΠΎΠ³ΠΎ, Π° ΠΏΡ€Π°Π²Ρ‹ΠΉ мСньшС, ΠΈ мСняСм ΠΈΡ… мСстами. Помимо чистой быстрой сортировки, участвовала Π² сравнСнии ΠΈ сортировка, пСрСходящая ΠΏΡ€ΠΈ ΠΌΠ°Π»ΠΎΠΌ количСствС элСмСнтов Π½Π° сортировку вставками. ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Π° ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π°Π½Π° тСстированиСм, Π° сортировка вставками β€” Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠ°Ρ сортировка, подходящая для этой Π·Π°Π΄Π°Ρ‡ΠΈ (хотя Π½Π΅ стоит ΠΈΠ·-Π·Π° этого Π΄ΡƒΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° самая быстрая ΠΈΠ· ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΈΡ‡Π½Ρ‹Ρ…).

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

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ°, основанная Π½Π° ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ΅ «раздСляй ΠΈ властвуй». Π Π°Π·Π΄Π΅Π»ΠΈΠΌ массив ΠΏΠΎΠΏΠΎΠ»Π°ΠΌ, рСкурсивно отсортируСм части, послС Ρ‡Π΅Π³ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ слияния: ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌ Π΄Π²Π° указатСля, ΠΎΠ΄ΠΈΠ½ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ элСмСнт ΠΏΠ΅Ρ€Π²ΠΎΠΉ части, Π²Ρ‚ΠΎΡ€ΠΎΠΉ – Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ элСмСнт Π²Ρ‚ΠΎΡ€ΠΎΠΉ части. Из этих Π΄Π²ΡƒΡ… элСмСнтов Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ, вставляСм Π² ΠΎΡ‚Π²Π΅Ρ‚ ΠΈ сдвигаСм ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΡƒ. БлияниС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π·Π° O(n), ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ всСго logn, поэтому асимптотика O(nlogn). Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ Π·Π°Ρ€Π°Π½Π΅Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ массив ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π­Ρ‚Π° сортировка рСкурсивна, ΠΊΠ°ΠΊ ΠΈ быстрая, Π° ΠΏΠΎΡ‚ΠΎΠΌΡƒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΈΡ‡Π½ΡƒΡŽ ΠΏΡ€ΠΈ нСбольшом числС элСмСнтов.

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

Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ массив Ρ€Π°Π·ΠΌΠ΅Ρ€Π° r – l, Π³Π΄Π΅ l – ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ, Π° r – ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт массива. ПослС этого ΠΏΡ€ΠΎΠΉΠ΄Π΅ΠΌ ΠΏΠΎ массиву ΠΈ подсчитаСм количСство Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ ΠΏΠΎ массиву Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ Π²Ρ‹ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ число ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°Π·, сколько Π½ΡƒΠΆΠ½ΠΎ. Асимптотика – O(n + r β€” l). МоТно ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ этот Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ стал ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ: для этого ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ мСсто, Π³Π΄Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΡ‚ΠΎΡΡ‚ΡŒ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠ΅ число (это просто прСфиксныС суммы Π² массивС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ) ΠΈ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΠ΄Ρ‚ΠΈ ΠΏΠΎ исходному массиву слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ, ставя элСмСнт Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ мСсто ΠΈ увСличивая ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Π½Π° 1. Π­Ρ‚Π° сортировка Π½Π΅ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Π»Π°ΡΡŒ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ тСстов содСрТало достаточно большиС числа, Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ массив Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°. Однако ΠΎΠ½Π°, Ρ‚Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΏΡ€ΠΈΠ³ΠΎΠ΄ΠΈΠ»Π°ΡΡŒ.

Блочная сортировка / Bucket sort

(Ρ‚Π°ΠΊΠΆΠ΅ извСстна ΠΊΠ°ΠΊ корзинная ΠΈ карманная сортировка). ΠŸΡƒΡΡ‚ΡŒ l – ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ, Π° r – ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт массива. РазобьСм элСмСнты Π½Π° Π±Π»ΠΎΠΊΠΈ, Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ Π±ΡƒΠ΄ΡƒΡ‚ элСмСнты ΠΎΡ‚ l Π΄ΠΎ l + k, Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ – ΠΎΡ‚ l + k Π΄ΠΎ l + 2k ΠΈ Ρ‚.Π΄., Π³Π΄Π΅ k = (r – l) / количСство Π±Π»ΠΎΠΊΠΎΠ². Π’ ΠΎΠ±Ρ‰Π΅ΠΌ-Ρ‚ΠΎ, Ссли количСство Π±Π»ΠΎΠΊΠΎΠ² Ρ€Π°Π²Π½ΠΎ Π΄Π²ΡƒΠΌ, Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ прСвращаСтся Π² Ρ€Π°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡ‚ΡŒ быстрой сортировки. Асимптотика этого Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° нСясна, врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ зависит ΠΈ ΠΎΡ‚ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈ ΠΎΡ‚ количСства Π±Π»ΠΎΠΊΠΎΠ². УтвСрТдаСтся, Ρ‡Ρ‚ΠΎ Π½Π° ΡƒΠ΄Π°Ρ‡Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ. РСализация этого Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° оказалась ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· самых Ρ‚Ρ€ΡƒΠ΄Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡. МоТно ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это Ρ‚Π°ΠΊ: просто ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ массивы, рСкурсивно ΠΈΡ… ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΡΠΊΠ»Π΅ΠΈΠ²Π°Ρ‚ΡŒ. Однако Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ всС ΠΆΠ΅ довольно ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΉ ΠΈ мСня Π½Π΅ устроил. Π’ эффСктивной Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ нСсколько ΠΈΠ΄Π΅ΠΉ:

1) НС Π±ΡƒΠ΄Π΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Ρ… массивов. Для этого Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΎΠΉ сортировки подсчСтом – подсчитаСм количСство элСмСнтов Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π±Π»ΠΎΠΊΠ΅, прСфиксныС суммы ΠΈ, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта Π² массивС.

2) НС Π±ΡƒΠ΄Π΅ΠΌ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ ΠΈΠ· пустых Π±Π»ΠΎΠΊΠΎΠ². ЗанСсСм индСксы нСпустых Π±Π»ΠΎΠΊΠΎΠ² Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ массив ΠΈ запустимся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚ Π½ΠΈΡ….

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

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

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

(Ρ‚Π°ΠΊΠΆΠ΅ извСстна ΠΊΠ°ΠΊ цифровая сортировка). БущСствуСт Π΄Π²Π΅ вСрсии этой сортировки, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ…, Π½Π° ΠΌΠΎΠΉ взгляд, ΠΌΠ°Π»ΠΎ ΠΎΠ±Ρ‰Π΅Π³ΠΎ, ΠΊΡ€ΠΎΠΌΠ΅ ΠΈΠ΄Π΅ΠΈ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ прСдставлСниСм числа Π² ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ систСмС счислСния (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΉ).

LSD (least significant digit):

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΠΌ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ число Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅. На ΠΊΠ°ΠΆΠ΄ΠΎΠΌ шагС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π±ΡƒΠ΄Π΅ΠΌ ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ числа Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ отсортированы ΠΏΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ k * i Π±ΠΈΡ‚Π°ΠΌ, Π³Π΄Π΅ k – нСкоторая константа. Из Π΄Π°Π½Π½ΠΎΠ³ΠΎ опрСдСлСния слСдуСт, Ρ‡Ρ‚ΠΎ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ шагС достаточно ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎ ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ элСмСнты ΠΏΠΎ Π½ΠΎΠ²Ρ‹ΠΌ k Π±ΠΈΡ‚Π°ΠΌ. Для этого идСально ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ сортировка подсчСтом (Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ 2 k памяти ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈ ΡƒΠ΄Π°Ρ‡Π½ΠΎΠΌ Π²Ρ‹Π±ΠΎΡ€Π΅ константы). Асимптотика: O(n), Ссли ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ числа фиксированного Ρ€Π°Π·ΠΌΠ΅Ρ€Π° (Π° Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС нСльзя Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ сравнСниС Π΄Π²ΡƒΡ… чисСл выполняСтся Π·Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ). РСализация довольно проста.

MSD (most significant digit):

На самом Π΄Π΅Π»Π΅, нСкоторая Ρ€Π°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡ‚ΡŒ Π±Π»ΠΎΡ‡Π½ΠΎΠΉ сортировки. Π’ ΠΎΠ΄ΠΈΠ½ Π±Π»ΠΎΠΊ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠΏΠ°Π΄Π°Ρ‚ΡŒ числа с Ρ€Π°Π²Π½Ρ‹ΠΌΠΈ k Π±ΠΈΡ‚Π°ΠΌΠΈ. Асимптотика такая ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Ρƒ LSD вСрсии. РСализация ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠ° Π½Π° Π±Π»ΠΎΡ‡Π½ΡƒΡŽ сортировку, Π½ΠΎ ΠΏΡ€ΠΎΡ‰Π΅. Π’ Π½Π΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ функция digit, опрСдСлСнная Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ LSD вСрсии.

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

ИдСя Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ исходный массив прСобразуСтся Π² Π±ΠΈΡ‚ΠΎΠ½Π½ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ – ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, которая сначала возрастаСт, Π° ΠΏΠΎΡ‚ΠΎΠΌ ΡƒΠ±Ρ‹Π²Π°Π΅Ρ‚. Π•Π΅ ΠΌΠΎΠΆΠ½ΠΎ эффСктивно ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: Ρ€Π°Π·ΠΎΠ±ΡŒΠ΅ΠΌ массив Π½Π° Π΄Π²Π΅ части, создадим Π΄Π²Π° массива, Π² ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ всС элСмСнты, Ρ€Π°Π²Π½Ρ‹Π΅ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΡƒ ΠΈΠ· соотвСтствСнных элСмСнтов ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· Π΄Π²ΡƒΡ… частСй, Π° Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ – Ρ€Π°Π²Π½Ρ‹Π΅ максимуму. УтвСрТдаСтся, Ρ‡Ρ‚ΠΎ получатся Π΄Π²Π΅ Π±ΠΈΡ‚ΠΎΠ½Π½Ρ‹Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ рСкурсивно ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅ΠΌ ΠΆΠ΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, послС Ρ‡Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ»Π΅ΠΈΡ‚ΡŒ Π΄Π²Π° массива (Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ любой элСмСнт ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ мСньшС ΠΈΠ»ΠΈ Ρ€Π°Π²Π΅Π½ любого элСмСнта Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ). Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ исходный массив Π² Π±ΠΈΡ‚ΠΎΠ½Π½ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, сдСлаСм ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅: Ссли массив состоит ΠΈΠ· Π΄Π²ΡƒΡ… элСмСнтов, ΠΌΠΎΠΆΠ½ΠΎ просто Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒΡΡ, ΠΈΠ½Π°Ρ‡Π΅ Ρ€Π°Π·Π΄Π΅Π»ΠΈΠΌ массив ΠΏΠΎΠΏΠΎΠ»Π°ΠΌ, рСкурсивно Π²Ρ‹Π·ΠΎΠ²Π΅ΠΌ ΠΎΡ‚ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½ΠΎΠΊ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, послС Ρ‡Π΅Π³ΠΎ отсортируСм ΠΏΠ΅Ρ€Π²ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΏΠΎ порядку, Π²Ρ‚ΠΎΡ€ΡƒΡŽ Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядкС ΠΈ склСим. ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, получится битонная ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Асимптотика: O(nlog 2 n), ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΡ€ΠΈ построСнии Π±ΠΈΡ‚ΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΌΡ‹ использовали сортировку, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΡƒΡŽ Π·Π° O(nlogn), Π° всСго ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ Π±Ρ‹Π»ΠΎ logn. Π’Π°ΠΊΠΆΠ΅ Π·Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ массива Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π²Π΅Π½ стСпСни Π΄Π²ΠΎΠΉΠΊΠΈ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, придСтся Π΅Π³ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ„ΠΈΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ элСмСнтами (Ρ‡Ρ‚ΠΎ Π½Π΅ влияСт Π½Π° асимптотику).

Timsort

Гибридная сортировка, ΡΠΎΠ²ΠΌΠ΅Ρ‰Π°ΡŽΡ‰Π°Ρ сортировку вставками ΠΈ сортировку слияниСм. РазобьСм элСмСнты массива Π½Π° нСсколько подмассивов нСбольшого Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, ΠΏΡ€ΠΈ этом Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°ΡΡˆΠΈΡ€ΡΡ‚ΡŒ подмассив, ΠΏΠΎΠΊΠ° элСмСнты Π² Π½Π΅ΠΌ отсортированы. ΠžΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ подмассивы сортировкой вставками, ΠΏΠΎΠ»ΡŒΠ·ΡƒΡΡΡŒ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° эффСктивно Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° отсортированных массивах. Π”Π°Π»Π΅Π΅ Π±ΡƒΠ΄Π΅ΠΌ ΡΠ»ΠΈΠ²Π°Ρ‚ΡŒ подмассивы ΠΊΠ°ΠΊ Π² сортировкС слияниСм, бСря ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ€Π°Π²Π½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° (ΠΈΠ½Π°Ρ‡Π΅ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ приблизится ΠΊ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΈΡ‡Π½ΠΎΠΌΡƒ). Для этого ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ подмассивы Π² стСкС, поддСрТивая ΠΈΠ½Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ β€” Ρ‡Π΅ΠΌ дальшС ΠΎΡ‚ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹, Ρ‚Π΅ΠΌ большС Ρ€Π°Π·ΠΌΠ΅Ρ€, ΠΈ ΡΠ»ΠΈΠ²Π°Ρ‚ΡŒ подмассивы Π½Π° Π²Π΅Ρ€Ρ…ΡƒΡˆΠΊΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ ΠΏΠΎ отдалСнности ΠΎΡ‚ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ подмассива большС ΠΈΠ»ΠΈ Ρ€Π°Π²Π΅Π½ суммС ΠΈΡ… Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ². Асимптотика: O(n) Π² Π»ΡƒΡ‡ΡˆΠ΅ΠΌ случаС ΠΈ O(nlogn) Π² срСднСм ΠΈ Ρ…ΡƒΠ΄ΡˆΠ΅ΠΌ случаС. РСализация Π½Π΅Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½Π°, Ρ‚Π²Π΅Ρ€Π΄ΠΎΠΉ увСрСнности Π² Π½Π΅ΠΉ Ρƒ мСня Π½Π΅Ρ‚, ΠΎΠ΄Π½Π°ΠΊΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΎΠ½Π° ΠΏΠΎΠΊΠ°Π·Π°Π»Π° довольно Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎΠ΅ ΠΈ ΡΠΎΠ³Π»Π°ΡΡƒΡŽΡ‰Π΅Π΅ΡΡ с ΠΌΠΎΠΈΠΌΠΈ прСдставлСниями ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Π΄ΠΎΠ»ΠΆΠ½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ эта сортировка.

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ timsort описан здСсь:

ВСстированиС

Π–Π΅Π»Π΅Π·ΠΎ ΠΈ систСма

ΠŸΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€: Intel Core i7-3770 CPU 3.40 GHz
ΠžΠ—Π£: 8 Π“Π‘
ВСстированиС ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ Π½Π° ΠΏΠΎΡ‡Ρ‚ΠΈ чистой систСмС Windows 10 x64, установлСнной Π·Π° нСсколько Π΄Π½Π΅ΠΉ Π΄ΠΎ запуска. Использованная IDE – Microsoft Visual Studio 2015.

ВСсты

Π Π°Π·ΠΌΠ΅Ρ€ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…

Как ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ тСстированиС

На ΠΊΠ°ΠΆΠ΄ΠΎΠΌ тСстС Π±Ρ‹Π»ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ 20 запусков, ΠΈΡ‚ΠΎΠ³ΠΎΠ²ΠΎΠ΅ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ – срСднСС ΠΏΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠΈΠΌΡΡ значСниям. ΠŸΠΎΡ‡Ρ‚ΠΈ всС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π±Ρ‹Π»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Ρ‹ послС ΠΎΠ΄Π½ΠΎΠ³ΠΎ запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΈΠ·-Π·Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ошибок Π² ΠΊΠΎΠ΄Π΅ ΠΈ систСмных глюков (всС ΠΆΠ΅ тСстированиС ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π»ΠΎΡΡŒ ΠΏΠΎΡ‡Ρ‚ΠΈ нСдСлю чистого Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ) Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ сортировки ΠΈ тСсты ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ впослСдствии ΠΏΠ΅Ρ€Π΅Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

Вонкости Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ ΡƒΠ΄ΠΈΠ²ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ самого процСсса тСстирования я Π½Π΅ использовал ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎ сильно сократило Π±Ρ‹ ΠΊΠΎΠ΄. Оказалось, Ρ‡Ρ‚ΠΎ это Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ замСдляСт Ρ€Π°Π±ΠΎΡ‚Ρƒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° (ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π½Π° 5-10%). ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ я использовал ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π·ΠΎΠ² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (это, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π½Π΅ ΠΎΡ‚Ρ€Π°Π·ΠΈΠ»ΠΎΡΡŒ Π±Ρ‹ Π½Π° ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ скорости, но… всС ΠΆΠ΅ хочСтся ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ ΠΈ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΡƒΡŽ). По Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ Π±Ρ‹Π»ΠΈ Π·Π°ΠΌΠ΅Π½Π΅Π½Ρ‹ Π²Π΅ΠΊΡ‚ΠΎΡ€Ρ‹ Π½Π° ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ массивы, Π½Π΅ Π±Ρ‹Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ-ΠΊΠΎΠΌΠΏΠ°Ρ€Π°Ρ‚ΠΎΡ€Ρ‹. ВсС это Π±ΠΎΠ»Π΅Π΅ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ для ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΎΠ³ΠΎ использования Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, Π½Π΅ΠΆΠ΅Π»ΠΈ Π΅Π³ΠΎ тСстирования.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹

ВсС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ доступны Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π²ΠΈΠ΄Π°Ρ… – Ρ‚Ρ€ΠΈ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ (гистограмма, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ скорости ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡŽ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ Ρ‚ΠΈΠΏΠ΅ тСстов, Π³Ρ€Π°Ρ„ΠΈΠΊ, ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‰ΠΈΠΉ Ρ‚ΠΎ ΠΆΠ΅ самоС, Π½ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° Π±ΠΎΠ»Π΅Π΅ наглядно, ΠΈ гистограмма, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²ΠΈΠ΄Π½ΠΎ, какая сортировка Π»ΡƒΡ‡ΡˆΠ΅ всСго Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ-Ρ‚ΠΎ Ρ‚ΠΈΠΏΠ΅ тСстов) ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ½ΠΈ основаны. Π’Ρ€Π΅Ρ‚ΡŒΡ Π³Ρ€ΡƒΠΏΠΏΠ° Π±Ρ‹Π»Π° Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π° Π΅Ρ‰Π΅ Π½Π° Ρ‚Ρ€ΠΈ части, Π° Ρ‚ΠΎ ΠΌΠ°Π»ΠΎ Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ понятно. Π’ΠΏΡ€ΠΎΡ‡Π΅ΠΌ, ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ всС Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΡƒΠ΄Π°Ρ‡Π½Ρ‹ (Π² полСзности Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ Ρ‚ΠΈΠΏΠ° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ я Π²ΠΎΠΎΠ±Ρ‰Π΅ сильно сомнСваюсь), Π½ΠΎ, надСюсь, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ смоТСт Π½Π°ΠΉΡ‚ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΡΡ‰ΡƒΡŽ для понимания.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΊ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ, ΠΎΠ½ΠΈ скрыты спойлСрами. НСмного ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρƒ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠΈ Π½Π°Π·Π²Π°Π½Ρ‹ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π²Ρ‹ΡˆΠ΅, Ссли это сортировка Π¨Π΅Π»Π»Π°, Ρ‚ΠΎ Π² скобочках ΡƒΠΊΠ°Π·Π°Π½ Π°Π²Ρ‚ΠΎΡ€ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, ΠΊ названиям сортировок, пСрСходящих Π½Π° сортировку вставками, приписано Ins (для компактности). Π’ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ°Ρ… Ρƒ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ тСстов ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½Π° возмоТная Π΄Π»ΠΈΠ½Π° отсортированных подмассивов, Ρƒ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ β€” количСство свопов, Ρƒ Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΠΎΠΉ β€” количСство Π·Π°ΠΌΠ΅Π½. ΠžΠ±Ρ‰ΠΈΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ рассчитывался ΠΊΠ°ΠΊ срСднСС ΠΏΠΎ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ΠΌ Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌ.

ΠŸΠ΅Ρ€Π²Π°Ρ Π³Ρ€ΡƒΠΏΠΏΠ° сортировок

Массив случайных чисСл

сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄

БовсСм скучныС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹, Π΄Π°ΠΆΠ΅ частичная ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ нСбольшом ΠΌΠΎΠ΄ΡƒΠ»Π΅ ΠΏΠΎΡ‡Ρ‚ΠΈ Π½Π΅Π·Π°ΠΌΠ΅Ρ‚Π½Π°.

Частично отсортированный массив

сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄

Π£ΠΆΠ΅ Π³ΠΎΡ€Π°Π·Π΄ΠΎ интСрСснСС. ΠžΠ±ΠΌΠ΅Π½Π½Ρ‹Π΅ сортировки Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π±ΡƒΡ€Π½ΠΎ ΠΎΡ‚Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ, ΡˆΠ΅ΠΉΠΊΠ΅Ρ€Π½Π°Ρ Π΄Π°ΠΆΠ΅ ΠΎΠ±ΠΎΠ³Π½Π°Π»Π° гномью. Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° вставками ΡƒΡΠΊΠΎΡ€ΠΈΠ»Π°ΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ΄ самый ΠΊΠΎΠ½Π΅Ρ†. Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅.

Π‘Π²ΠΎΠΏΡ‹

сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄

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

ИзмСнСния Π² пСрСстановкС

сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄

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

ΠŸΠΎΠ²Ρ‚ΠΎΡ€Ρ‹

сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄

Π—Π΄Π΅ΡΡŒ всС сортировки (ΠΊΡ€ΠΎΠΌΠ΅, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, сортировки Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ) Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ, ΡƒΡΠΊΠΎΡ€ΡΡΡΡŒ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠΈ количСства ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΎΠ².

Π˜Ρ‚ΠΎΠ³ΠΎΠ²Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹

сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄

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

Вторая Π³Ρ€ΡƒΠΏΠΏΠ° сортировок

Массив случайных чисСл

сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° Π¨Π΅Π»Π»Π° с ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ ΠŸΡ€Π°Ρ‚Ρ‚Π° Π²Π΅Π΄Π΅Ρ‚ сСбя совсСм странно, ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π½Π΅Π΅ ясно. Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° Π΄Π΅Ρ€Π΅Π²ΠΎΠΌ Π»ΡŽΠ±ΠΈΡ‚ частично отсортированныС массивы, Π½ΠΎ Π½Π΅ Π»ΡŽΠ±ΠΈΡ‚ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΎΠ², Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, поэтому самоС Ρ…ΡƒΠ΄ΡˆΠ΅Π΅ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈΠΌΠ΅Π½Π½ΠΎ посСрСдинС.

сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄

ВсС ΠΊΠ°ΠΊ ΠΏΡ€Π΅ΠΆΠ΄Π΅, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π¨Π΅Π»Π» с ΠŸΡ€Π°Ρ‚Ρ‚ΠΎΠΌ усилился Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΠ΅ ΠΈΠ·-Π·Π° отсортированности. Π’Π°ΠΊΠΆΠ΅ становится Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹ΠΌ влияниС асимптотики β€” сортировка Π΄Π΅Ρ€Π΅Π²ΠΎΠΌ оказываСтся Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΌ мСстС, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π³Ρ€ΡƒΠΏΠΏΡ‹ с мСньшим числом элСмСнтов.

Частично отсортированный массив

сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄

Π—Π΄Π΅ΡΡŒ понятным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π²Π΅Π΄ΡƒΡ‚ сСбя всС сортировки, ΠΊΡ€ΠΎΠΌΠ΅ Π¨Π΅Π»Π»Π° с Π₯ΠΈΠ±Π±Π°Ρ€Π΄ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΡ‡Π΅ΠΌΡƒ-Ρ‚ΠΎ Π½Π΅ сразу Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΡƒΡΠΊΠΎΡ€ΡΡ‚ΡŒΡΡ.

сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄

Π—Π΄Π΅ΡΡŒ всС, Π² ΠΎΠ±Ρ‰Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΈ ΠΏΡ€Π΅ΠΆΠ΄Π΅. Π”Π°ΠΆΠ΅ асимптотика сортировки Π΄Π΅Ρ€Π΅Π²ΠΎΠΌ Π½Π΅ ΠΏΠΎΠΌΠΎΠ³Π»Π° Π΅ΠΉ Π²Ρ‹Ρ€Π²Π°Ρ‚ΡŒΡΡ с послСднСго мСста.

Π‘Π²ΠΎΠΏΡ‹

сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄

сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄

Π—Π΄Π΅ΡΡŒ Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ, Ρ‡Ρ‚ΠΎ Ρƒ сортировок Π¨Π΅Π»Π»Π° большая Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ частичной отсортированности, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π²Π΅Π΄ΡƒΡ‚ сСбя практичСски Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ, Π° ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π΄Π²Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ сильно ΠΏΠ°Π΄Π°ΡŽΡ‚ Π½Π° послСдних Π³Ρ€ΡƒΠΏΠΏΠ°Ρ….

ИзмСнСния Π² пСрСстановкС

сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄

сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄

Π—Π΄Π΅ΡΡŒ всС ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΡƒΡŽ Π³Ρ€ΡƒΠΏΠΏΡƒ.

ΠŸΠΎΠ²Ρ‚ΠΎΡ€Ρ‹

сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄

ΠžΠΏΡΡ‚ΡŒ всС сортировки продСмонстрировали ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΡΠ±Π°Π»Π°Π½ΡΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ, Π΄Π°ΠΆΠ΅ битонная, которая, казалось Π±Ρ‹, ΠΏΠΎΡ‡Ρ‚ΠΈ Π½Π΅ зависит ΠΎΡ‚ массива.

сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄

Π˜Ρ‚ΠΎΠ³ΠΎΠ²Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹

сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄

Π£Π±Π΅Π΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ мСсто заняла сортировка Π¨Π΅Π»Π»Π° ΠΏΠΎ Π₯ΠΈΠ±Π±Π°Ρ€Π΄Ρƒ, Π½Π΅ уступив Π½ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΠ΅. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, стоило Π΅Π΅ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ Π³Ρ€ΡƒΠΏΠΏΡƒ сортировок, но… ΠΎΠ½Π° слишком слаба для этого, Π΄Π° ΠΈ Ρ‚ΠΎΠ³Π΄Π° ΠΏΠΎΡ‡Ρ‚ΠΈ Π½ΠΈΠΊΠΎΠ³ΠΎ Π½Π΅ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π² Π³Ρ€ΡƒΠΏΠΏΠ΅. Битонная сортировка довольно ΡƒΠ²Π΅Ρ€Π΅Π½Π½ΠΎ заняла Π²Ρ‚ΠΎΡ€ΠΎΠ΅ мСсто. Π’Ρ€Π΅Ρ‚ΡŒΠ΅ мСсто ΠΏΡ€ΠΈ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π΅ элСмСнтах заняла другая сортировка Π¨Π΅Π»Π»Π°, Π° ΠΏΡ€ΠΈ дСсяти ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π°Ρ… сортировка Π΄Π΅Ρ€Π΅Π²ΠΎΠΌ (асимптотика сказалась). Π‘Ρ‚ΠΎΠΈΡ‚ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ дСсятикратном ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… всС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹, ΠΊΡ€ΠΎΠΌΠ΅ дрСвСсной сортировки, замСдлились ΠΏΠΎΡ‡Ρ‚ΠΈ Π² 20 Ρ€Π°Π·, Π° послСдняя всСго лишь Π² 13.

Π’Ρ€Π΅Ρ‚ΡŒΡ Π³Ρ€ΡƒΠΏΠΏΠ° сортировок

Массив случайных чисСл

сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄

сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄
сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄

ΠŸΠΎΡ‡Ρ‚ΠΈ всС сортировки этой Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡƒΡŽ Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΡƒ. ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΆΠ΅ ΠΏΠΎΡ‡Ρ‚ΠΈ всС сортировки ΡƒΡΠΊΠΎΡ€ΡΡŽΡ‚ΡΡ, ΠΊΠΎΠ³Π΄Π° массив частично отсортирован? ΠžΠ±ΠΌΠ΅Π½Π½Ρ‹Π΅ сортировки Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ быстрСС ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Π½Π°Π΄ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ мСньшС ΠΎΠ±ΠΌΠ΅Π½ΠΎΠ², Π² сортировкС Π¨Π΅Π»Π»Π° выполняСтся сортировка вставками, которая сильно ускоряСтся Π½Π° Ρ‚Π°ΠΊΠΈΡ… массивах, Π² ΠΏΠΈΡ€Π°ΠΌΠΈΠ΄Π°Π»ΡŒΠ½ΠΎΠΉ сортировкС ΠΏΡ€ΠΈ вставкС элСмСнтов сразу Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ просСиваниС, Π² сортировкС слияниСм выполняСтся Π² Π»ΡƒΡ‡ΡˆΠ΅ΠΌ случаС Π²Π΄Π²ΠΎΠ΅ мСньшС сравнСний. Блочная сортировка Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚Π΅ΠΌ Π»ΡƒΡ‡ΡˆΠ΅, Ρ‡Π΅ΠΌ мСньшС Ρ€Π°Π·Π½ΠΎΡΡ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ элСмСнтом. ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎ отличаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ поразрядная сортировка, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ всС это Π±Π΅Π·Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎ. LSD-вСрсия Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚Π΅ΠΌ Π»ΡƒΡ‡ΡˆΠ΅, Ρ‡Π΅ΠΌ больший ΠΌΠΎΠ΄ΡƒΠ»ΡŒ. Π”ΠΈΠ½Π°ΠΌΠΈΠΊΠ° MSD-вСрсия ΠΌΠ½Π΅ Π½Π΅ ясна, Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° сработала быстрСС Ρ‡Π΅ΠΌ LSD ΡƒΠ΄ΠΈΠ²ΠΈΠ»ΠΎ.

Частично отсортированный массив

сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄

сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄

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

Π‘Π²ΠΎΠΏΡ‹

сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄

сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄

Π—Π΄Π΅ΡΡŒ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ сработали быстрыС сортировки. Π­Ρ‚ΠΎ, скорСС всСго, ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ΡΡ ΡƒΠ΄Π°Ρ‡Π½Ρ‹ΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ ΠΎΠΏΠΎΡ€Π½ΠΎΠ³ΠΎ элСмСнта. ВсС ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΡ‡Ρ‚ΠΈ Ρ‚Π°ΠΊΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ Π³Ρ€ΡƒΠΏΠΏΠ΅.

ИзмСнСния Π² пСрСстановкС

сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄

сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄

МнС ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠΉ Ρ†Π΅Π»ΠΈ β€” поразрядная сортировка ΡƒΠΏΠ°Π»Π° Π΄Π°ΠΆΠ΅ Π½ΠΈΠΆΠ΅ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ быстрой. Блочная сортировка оказалась Π»ΡƒΡ‡ΡˆΠ΅ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ…. Π•Ρ‰Π΅ ΠΏΠΎΡ‡Π΅ΠΌΡƒ-Ρ‚ΠΎ timsort ΠΎΠ±ΠΎΠ³Π½Π°Π» Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ сортировку C++, хотя Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ Π³Ρ€ΡƒΠΏΠΏΠ΅ Π±Ρ‹Π» Π½ΠΈΠΆΠ΅.

ΠŸΠΎΠ²Ρ‚ΠΎΡ€Ρ‹

сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄

сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄

Π—Π΄Π΅ΡΡŒ всС довольно тоскливо, всС сортировки Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΉ Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΠΎΠΉ (ΠΊΡ€ΠΎΠΌΠ΅ Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹Ρ…). Из Π½Π΅ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ сортировка слияниСм ΡƒΠΏΠ°Π»Π° Π½ΠΈΠΆΠ΅ сортировки Π¨Π΅Π»Π»Π°.

Π˜Ρ‚ΠΎΠ³ΠΎΠ²Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹

сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c кодсортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сортировка расчСской c ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сортировка расчСской c ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ сортировка расчСской c ΠΊΠΎΠ΄

Если Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ практичСском ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ, Ρ‚ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠ° поразрядная сортировка (особСнно lsd-вСрсия), ΠΎΠ½Π° ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Π°, проста Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ ΠΎΡ‡Π΅Π½ΡŒ быстра, ΠΎΠ΄Π½Π°ΠΊΠΎ Π½Π΅ основана Π½Π° сравнСниях. Из основанных Π½Π° сравнСниях сортировок Π»ΡƒΡ‡ΡˆΠ΅ всСго смотрится быстрая сортировка. Π•Π΅ нСдостатки β€” Π½Π΅ΡƒΡΡ‚ΠΎΠΉΡ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ ΠΈ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΈΡ‡Π½ΠΎΠ΅ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° Π½Π΅ΡƒΠ΄Π°Ρ‡Π½Ρ‹Ρ… Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… (ΠΏΡƒΡΡ‚ΡŒ ΠΎΠ½ΠΈ ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΡΡ‚Ρ€Π΅Ρ‚ΠΈΡ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ Π½Π°ΠΌΠ΅Ρ€Π΅Π½Π½ΠΎΠΌ создании тСста). Но с этим ΠΌΠΎΠΆΠ½ΠΎ Π±ΠΎΡ€ΠΎΡ‚ΡŒΡΡ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, выбирая ΠΎΠΏΠΎΡ€Π½Ρ‹ΠΉ элСмСнт ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΌΡƒ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ, ΠΈΠ»ΠΈ ΠΆΠ΅ пСрСходя Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ сортировку ΠΏΡ€ΠΈ Π½Π΅ΡƒΠ΄Π°Ρ‡Π΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, introsort, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, Ссли Π½Π΅ ошибаюсь, ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π² Π‘++). Timsort лишСн этих нСдостатков, Π»ΡƒΡ‡ΡˆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° сильно отсортированных Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΎ всС ΠΆΠ΅ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ Π² Ρ†Π΅Π»ΠΎΠΌ ΠΈ Π³ΠΎΡ€Π°Π·Π΄ΠΎ слоТнСС ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ. ΠžΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ сортировки Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΏΠΎΠΆΠ°Π»ΡƒΠΉ, Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π½Ρ‹. ΠšΡ€ΠΎΠΌΠ΅, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, сортировки вставками, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ вСсьма ΡƒΠ΄Π°Ρ‡Π½ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ.

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

Π”ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π΅ всС извСстныС сортировки приняли участиС Π² тСстировании, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π±Ρ‹Π»Π° ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½Π° плавная сортировка (ΠΌΠ½Π΅ просто Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π΅Π΅ Π°Π΄Π΅ΠΊΠ²Π°Ρ‚Π½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ). Π’ΠΏΡ€ΠΎΡ‡Π΅ΠΌ, Π½Π΅ Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ это большая потСря, эта сортировка ΠΎΡ‡Π΅Π½ΡŒ громоздкая ΠΈ мСдлСнная, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΠ· этой ΡΡ‚Π°Ρ‚ΡŒΠΈ: habrahabr.ru/post/133996 Π•Ρ‰Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ сортировки Π½Π° распараллСливаниС, Π½ΠΎ, Π²ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Ρƒ мСня Π½Π΅Ρ‚ ΠΎΠΏΡ‹Ρ‚Π°, Π²ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π»ΠΈΡΡŒ, ΠΊΡ€Π°ΠΉΠ½Π΅ Π½Π΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹, ΠΎΡ‡Π΅Π½ΡŒ Π²Π΅Π»ΠΈΠΊΠΎ влияниС систСмы.

Π—Π΄Π΅ΡΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ всСх запусков, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ тСстирования: ссылка Π½Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.

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

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ, я Π΄ΠΎΠ²ΠΎΠ»Π΅Π½ ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ, надСюсь, Ρ‡Ρ‚ΠΎ Π’Π°ΠΌ Π±Ρ‹Π»ΠΎ интСрСсно.

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

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *