ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² ΡƒΡ‡Ρ‘Π±Π΅, ΠΎΡ‡Π΅Π½ΡŒ быстро...
Π Π°Π±ΠΎΡ‚Π°Π΅ΠΌ вмСстС Π΄ΠΎ ΠΏΠΎΠ±Π΅Π΄Ρ‹

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ сортировки

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

На ΠΏΠ΅Ρ€Π²ΠΎΠΌ этапС строятся Π΄Π²Π΅ части. Одна ΠΈΠ· Π½ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ исходной Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΌ этапС, вторая помСщаСтся Π² ΡΡ‚Π΅ΠΊ LIFO. ΠžΠ±Ρ‰Π΅Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Ρ‚Π°ΠΊΠΎΠ²ΠΎ: ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΌΠ΅Π½ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ, Π° Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ большСй Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Ρ‚ΡŒ Π² ΡΡ‚Π΅ΠΊΠ΅. Π’Ρ‚ΠΎΡ€ΠΎΠΉ этап ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°Π΅Ρ‚ Π΄Π²Π΅ части. МСньшая обрабатываСтся Π½Π° Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΌ этапС, Π° Π±ΠΎΠ»ΡŒΡˆΠ°Ρ пСрСмСщаСтся Π² ΡΡ‚Π΅ΠΊ Π½Π°Π΄ большСй Ρ‡Π°ΡΡ‚ΡŒΡŽ, построСнной Π½Π° ΡΡ‚Π°ΠΏΠ΅ 1. ΠŸΡ€ΠΎΡ†Π΅ΡΡ пороТдСния частСй… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

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

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ сортировки

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ понятия ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ сортировки

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

Записи, поля ΠΈ ΠΊΠ»ΡŽΡ‡ΠΈ. Π•Π΄ΠΈΠ½ΠΈΡ†Π° Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚ΠΈΠΏΠΈΡ‡Π½ΠΎ обрабатываСмая ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌΠΈ систСмами, называСтся записью. Π—Π°ΠΏΠΈΡΡŒ — это ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ элСмСнтов ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ ΠΊΠ°ΠΊΠΎΠΌ-Ρ‚ΠΎ событии ΠΈΠ»ΠΈ структурС. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² Π·Π°ΠΏΠΈΡΠΈ, Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ Π½ΠΎΠΌΠ΅Ρ€ слуТащСго, Ρ†Π΅Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ Ρ‚ΠΎΠ²Π°Ρ€Π° ΠΈΠ»ΠΈ Π²Π°Π»ΠΎΠ²ΠΎΠΉ объСм, называСтся ΠΏΠΎΠ»Π΅ΠΌ записи. Π‘ΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ»Π΅ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈ ΠΎΠΏΠΈΡΡ‹Π²Π°Π΅Ρ‚ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ прСдставлСно Π² Π·Π°ΠΏΠΈΡΠΈ. Из Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ»ΠΈ Π½Π°Π±ΠΎΡ€Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° являСтся процСссом пСрСстановки записСй ΠΈΠ»ΠΈ ΠΈΡ… ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ², ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΈΡ… Π²Π·Π°ΠΈΠΌΠ½ΠΎΠ΅ располоТСниС Π² Ρ„Π°ΠΉΠ»Π΅ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² ΠΏΠΎΡ€ΡΠ΄ΠΎΠΊ, опрСдСляСмый Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ извСстным ΠΊΠ»ΡŽΡ‡ΠΎΠΌ. ΠšΠ»ΡŽΡ‡ΠΎΠΌ называСтся ΠΏΠΎΠ»Π΅, содСрТащСС Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡƒΡŽ Π² ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ… упорядочивания Ρ„Π°ΠΉΠ»Π°.

Π’ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, Ρ‡Ρ‚ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ сортировки являСтся физичСскоС упорядочиваниС, сортировка Π΄Π²ΡƒΡ… записСй Π² ΡΠ²ΠΎΠ΅ΠΉ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅ΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ состоит ΠΈΠ· ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡ ΠΈΡ… ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΈΠ· Π½ΠΈΡ… «ΠΌΠ΅Π½ΡŒΡˆΠ΅». ПослС этого записи ΠΏΠ΅Ρ€Π΅ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ запись с «ΠΌΠ΅Π½ΡŒΡˆΠΈΠΌ» ΠΊΠ»ΡŽΡ‡ΠΎΠΌ ΡΡ‚Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΏΠ΅Ρ€Π΅Π΄ записью с «Π±ΠΎΠ»ΡŒΡˆΠΈΠΌ» ΠΊΠ»ΡŽΡ‡ΠΎΠΌ.

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

ΠšΠ»ΡŽΡ‡ΠΎΠΌ записи ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΏΠΎΠ»Π΅ ΠΈΠ»ΠΈ комбинация ΠΏΠΎΠ»Π΅ΠΉ, распрСдСлСнных ΠΏΠΎ Π·Π°ΠΏΠΈΡΠΈ. Если ΠΊΠ»ΡŽΡ‡ состоит ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π½Π΅ΡΠΎΠΏΡ€ΠΈΠΊΠ°ΡΠ°ΡŽΡ‰ΠΈΡ…ΡΡ ΠΏΠΎΠ»Π΅ΠΉ, Ρ‚ΠΎ ΠΎΠ½ Π½Π°Π·Ρ‹Π²Π°Π΅Ρ‚ся составным ΠΊΠ»ΡŽΡ‡ΠΎΠΌ.

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

Π’ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС ΠΈΠ½ΠΎΠ³Π΄Π° ΡƒΠ΄ΠΎΠ±Π½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ„Π°ΠΉΠ»Ρ‹ ΡƒΠΏΠΎΡ€ΡΠ΄ΠΎΡ‡ΠΈΠ²Π°Π»ΠΈΡΡŒ Π½Π΅ Π΅Π΄ΠΈΠ½ΡΡ‚Π²Π΅Π½Π½Ρ‹ΠΌ способом. Π Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ сортировки Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΊΠ»ΡŽΡ‡Π° ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ поля.

Π—Π°ΠΏΠΈΡΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· ΠΏΠΎΠ»Ρ ΠΊΠ»ΡŽΡ‡Π°. Π’ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π½Π°ΡƒΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ это Π½Π΅ ΡΠ²Π»ΡΠ΅Ρ‚ся Ρ‡Π΅ΠΌ-Ρ‚ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ. Π’ Π΄Π°Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΏΡ€ΠΈ рассмотрСнии ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² сортировки Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ записи состоят ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ поля. Π­Ρ‚ΠΎ сдСлано для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ прСдставлСниС ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ… сортировки Π·Π° ΡΡ‡Π΅Ρ‚ устранСния ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ эти ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹ ΠΊ Π·Π°ΠΏΠΈΡΡΠΌ, содСрТащим ΠΊΠ°ΠΊ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅, Ρ‚Π°ΠΊ ΠΈ Π½Π΅ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ поля, Ρ‚ΠΎ ΡΡ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ общности.

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

Π›ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ с ΠΎΠ±ΠΌΠ΅Π½ΠΎΠΌ: использованиС ΠΎΠ±ΠΌΠ΅Π½ΠΎΠ² Π’ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΎΠ±ΠΌΠ΅Π½Π° Π² ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ сортировки рассмотрим здСсь ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠΎ ΠΏΠ°ΠΌΡΡ‚ΠΈ Π²Π΅Ρ€ΡΠΈΡŽ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ³ΠΎ Π²Ρ‹Π±ΠΎΡ€Π°. ОбмСном называСтся пСрСстановка ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ Π΄Π²ΡƒΡ… записСй Π² ΡΠΏΠΈΡΠΊΠ΅ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈΡ… ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹. Если Π² ΡΠΏΠΈΡΠΊΠ΅ встрСчаСтся запись с ΠΊΠ»ΡŽΡ‡ΠΎΠΌ, мСньшим, Ρ‡Π΅ΠΌ Ρƒ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ, Ρ‚ΠΎ ΡΡ‚ΠΈ записи ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ мСстами. ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΎΠ±ΠΌΠ΅Π½Π° зависит ΠΎΡ‚ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ опрСдСлСния ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ сравнСний ΠΈ ΠΎΠ±ΠΌΠ΅Π½ΠΎΠ². Часто число ΠΎΠ±ΠΌΠ΅Π½ΠΎΠ² ΡΠΎΠΊΡ€Π°Ρ‰Π°ΡŽΡ‚, откладывая ΠΎΠ±ΠΌΠ΅Π½ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ просмотра. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ΅ΠΌ, Π² Ρ‡Π°ΡΡ‚ности, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ описан Π½ΠΈΠΆΠ΅.

Π›ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ с ΠΎΠ±ΠΌΠ΅Π½ΠΎΠΌ. Π’ Π½Π°Ρ‡Π°Π»Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ просмотра прСдполагаСтся, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт списка ΠΈΠΌΠ΅Π΅Ρ‚ наимСньший ΠΊΠ»ΡŽΡ‡. Π­Ρ‚ΠΎΡ‚ ΠΊΠ»ΡŽΡ‡ вмСстС с Π°Π΄Ρ€Π΅ΡΠΎΠΌ пСрСсылаСтся Π² Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ, Π³Π΄Π΅ сравниваСтся со Π²ΡΠ΅ΠΌΠΈ Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΌΠΈ ΠΏΡ€Π΅Π΅ΠΌΠ½ΠΈΠΊΠ°ΠΌΠΈ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ Π²ΡΡ‚рСтится мСньший ΠΊΠ»ΡŽΡ‡. МСньший ΠΊΠ»ΡŽΡ‡ ΠΈ Π΅Π³ΠΎ адрСс становятся содСрТимым Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ области памяти.

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

По ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ просмотра запись, ΠΊΠ»ΡŽΡ‡ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ располоТСн Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ памяти, пСрСставляСтся с Π·Π°ΠΏΠΈΡΡŒΡŽ ΠΈΠ· Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ списка. Π’Π΅ΠΏΠ΅Ρ€ΡŒ наимСньшая Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π° Π² ΡΠΏΠΈΡΠΊΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ. Π’Ρ‚ΠΎΡ€ΠΎΠΉ просмотр ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π΅Π½ ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ с Ρ‚ΠΎΠΉ лишь Ρ€Π°Π·Π½ΠΈΡ†Π΅ΠΉ, Ρ‡Ρ‚ΠΎ Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ ΠΏΠΎ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π΅ считаСтся Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΊΠ»ΡŽΡ‡, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ стоит наимСньший элСмСнт. ΠŸΠ΅Ρ€Π²Π°Ρ позиция ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΈΠ· ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ°. По ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ просмотра вторая запись с Π½Π°ΠΈΠΌΠ΅Π½ΡŒΡˆΠΈΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ помСщаСтся Π²ΠΎ Π²Ρ‚ΠΎΡ€ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ списка. Π’Ρ€Π΅Ρ‚ΠΈΠΉ просмотр начинаСтся сравнСниСм ΠΊΠ»ΡŽΡ‡Π° ΠΈΠ· Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ ΠΈ Ρ‚. Π΄. Π­Ρ‚Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° заканчиваСтся, ΠΊΠΎΠ³Π΄Π° своС мСсто Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ (N — 1) — я Π·Π°ΠΏΠΈΡΡŒ.

Π°Π»Π³ Sort (Π°Ρ€Π³ Ρ†Π΅Π» N, Π²Π΅Ρ‰ Ρ‚Π°Π± A [1:N])

Π½Π°Ρ‡ Ρ†Π΅Π» i, j, k, Maxi

Π½Ρ† для i ΠΎΡ‚ N Π΄ΠΎ 2 шаг -1

Maxi:= i;

Π½Ρ† для j ΠΎΡ‚ 1 Π΄ΠΎ i — 1

Если A[j] >A[Maxi]

Ρ‚ΠΎ Maxi:= j;

всС

Если Maxi <> i

Ρ‚ΠΎ k:= A[i];

A[i]:= A[Maxi];

A[Maxi]:= k;

всС

ΠΊΡ†

ΠΊΠΎΠ½

ΠžΡ†Π΅Π½ΠΈΠΌ количСство сравнСний. ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ просмотрС ΠΈΡ… N — 1, ΠΏΡ€ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠΌ — N — 2, ΠΏΡ€ΠΈ послСднСм — 1. ΠžΠ±Ρ‰Π΅Π΅ количСство C = N -1 + N — 2 + …+ 1 = C = N (N — 1)/2, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΈΠΌΠ΅Π΅Ρ‚ порядок (N2).

Π›ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ с ΠΏΠΎΠ΄ΡΡ‡Π΅Ρ‚ΠΎΠΌ ΠœΠ΅Ρ‚ΠΎΠ΄ сортировки с ΠΏΠΎΠ΄ΡΡ‡Π΅Ρ‚ΠΎΠΌ описываСтся Π² Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π΅ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° упорядочСния Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ списка чисСл. ЀактичСски, это Π½Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ сортировки, Π° Ρ‚СхничСский ΠΏΡ€ΠΈΠ΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ… для сокращСния количСства ΠΎΠ±ΠΌΠ΅Π½ΠΎΠ² ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΈΡ… ΡƒΡΡ‚ранСния. Он ΡΠ²Π»ΡΠ΅Ρ‚ся Ρ„ΠΎΡ€ΠΌΠΎΠΉ индСксирования, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ счСтчик ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта коррСктируСтся Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ процСсса сравнСния. НиТС Π±ΡƒΠ΄Π΅Ρ‚ описан этот тСхничСский ΠΏΡ€ΠΈΠ΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΌΡƒ Π²Ρ‹Π±ΠΎΡ€Ρƒ.

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

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

Π°Π»Π³ Sort (Π°Ρ€Π³ Ρ†Π΅Π» N, Ρ†Π΅Π» Ρ‚Π°Π± A [1:N], Ρ€Π΅Π· Ρ†Π΅Π» Ρ‚Π°Π± B [1:N]);

Π½Π°Ρ‡ Ρ†Π΅Π» i, j, Ρ†Π΅Π» Ρ‚Π°Π± Count [1:N]

Π½Ρ† Π΄Π»Ρ i ΠΎΡ‚ N Π΄ΠΎ 2 шаг -1

Π½Ρ† для j ΠΎΡ‚ i — 1 Π΄ΠΎ 1 шаг -1

Если A[i] < A[j]

Ρ‚ΠΎ Count [j]: = Count [j] + 1

ΠΈΠ½Π°Ρ‡Π΅ Count [i]: = Count [j]+1

всС

ΠΊΡ†

ΠΊΡ†

Π½Ρ† для i ΠΎΡ‚ 1 Π΄ΠΎ N

B [Count [i] + 1]: = A[i]

ΠΊΡ†

ΠΊΠΎΠ½

Число сравнСний Ρ€Π°Π²Π½ΠΎ N2/2. ВыполняСтся (N-1) просмотров с N/2 сравнСниями Π² ΡΡ€Π΅Π΄Π½Π΅ΠΌ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ просмотрС. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ счСтчиков измСняСтся ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°Π·, сколько Ρ€Π°Π· выполняСтся сравнСниС.

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

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

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

ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΏΠ°Ρ€Π½ΠΎΠ³ΠΎ ΠΎΠ±ΠΌΠ΅Π½Π° (Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ «Π½Π΅Ρ‡Π΅Ρ‚Π½ΠΎ-чСтная пСрСстановка») состоит ΠΈΠ· Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ числа «Π½Π΅Ρ‡Π΅Ρ‚Π½Ρ‹Ρ…» ΠΈ «Ρ‡Π΅Ρ‚Π½Ρ‹Ρ…» просмотров. ΠŸΡ€ΠΈ Π½Π΅Ρ‡Π΅Ρ‚Π½Ρ‹Ρ… просмотрах ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт ΠΈΠ· Π½Π΅Ρ‡Π΅Ρ‚Π½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ сравниваСтся со ΡΠ²ΠΎΠΈΠΌ сосСдом ΠΈΠ· Ρ‡Π΅Ρ‚Π½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΠΉ ΠΈΠ· Π½ΠΈΡ… Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ. Нисходящий просмотр списка продолТаСтся Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° послСдний Π½Π΅Ρ‡Π΅Ρ‚Π½Ρ‹ΠΉ элСмСнт (N — 1) Π² ΡΠΏΠΈΡΠΊΠ΅ Π½Π΅ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Π΅Ρ‚ся с ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ Ρ‡Π΅Ρ‚Π½Ρ‹ΠΌ элСмСнтом N. Если Π² ΡΠΏΠΈΡΠΊΠ΅ Π½Π΅Ρ‡Π΅Ρ‚Π½ΠΎΠ΅ число элСмСнтов, Ρ‚ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ элСмСнт Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΡ‡Π°ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² ΡΡ€Π°Π²Π½Π΅Π½ΠΈΠΈ. Π’ Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ просмотра вСдСтся подсчСт ΠΎΠ±ΠΌΠ΅Π½ΠΎΠ².

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

ΠœΠ΅Ρ‚ΠΎΠ΄ стандартного ΠΎΠ±ΠΌΠ΅Π½Π° (Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ «ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠ°») ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ элСмСнт списка Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ просмотрС. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ просмотрС запись с Π½Π°ΠΈΠ±ΠΎΠ»ΡŒΡˆΠΈΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ помСщаСтся Π² ΠΏΠΎΡΠ»Π΅Π΄Π½ΡŽΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ, ΠΏΡ€ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠΌ просмотрС запись со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΏΠΎ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π΅ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ пСрСмСщаСтся Π² ΠΏΡ€Π΅Π΄ΠΏΠΎΡΠ»Π΅Π΄Π½ΡŽΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ ΠΈ Ρ‚. Π΄. ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ элСмСнты ΠΏΠΎ ΡƒΠ±Ρ‹Π²Π°Π½ΠΈΡŽ.

ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ просмотрС ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт списка сравниваСтся со ΡΠ²ΠΎΠΈΠΌ нСпосрСдствСнным ΠΏΡ€Π΅Π΅ΠΌΠ½ΠΈΠΊΠΎΠΌ, ΠΈ, Ссли этот ΠΏΡ€Π΅Π΅ΠΌΠ½ΠΈΠΊ мСньшС, ΠΎΠ½ΠΈ ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ мСстами. Π’Π΅ΠΏΠ΅Ρ€ΡŒ больший элСмСнт, располоТСнный Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ, сравниваСтся с ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΎΠΌ ΠΈΠ· Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ. ОбмСн происходит, Ссли Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ больший ΠΈΠ· Π½ΠΈΡ… Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ. Π—Π°Ρ‚Π΅ΠΌ позиция 3 сравниваСтся с ΠΏΠΎΠ·ΠΈΡ†ΠΈΠ΅ΠΉ 4, позиция 4 с ΠΏΠΎΠ·ΠΈΡ†ΠΈΠ΅ΠΉ 5 ΠΈ Ρ‚. Π΄. ΠΊΠΎΠ³Π΄Π° позиция N — 1 сравниваСтся с ΠΏΠΎΠ·ΠΈΡ†ΠΈΠ΅ΠΉ N, просмотр заканчиваСтся.

Если Π² ΡΠΏΠΈΡΠΊΠ΅ элСмСнт k — 1 располоТСн Ρ€Π°Π½ΡŒΡˆΠ΅ Ρ‡Π΅ΠΌ k, Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ сравнСнии (k — 1): k Π±ΠΎΠ»ΡŒΡˆΠΈΠΉ элСмСнт ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Π² ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ k. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅ΠΌΡ‹ΠΉ Π²Π½ΠΈΠ·, считаСтся Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ наибольшим Π² ΡΠΏΠΈΡΠΊΠ΅. Когда ΠΏΡ€ΠΈ сравнСнии обнаруТиваСтся, Ρ‡Ρ‚ΠΎ k-ΠΉ элСмСнт большС, ΠΎΠ±ΠΌΠ΅Π½ Π½Π΅ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΡΡ€Π°Π²Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ элСмСнт, ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‰ΠΈΠΉΡΡ наибольшим (k — 1), ΠΈ Π΅Π³ΠΎ нСпосрСдствСнный ΠΏΡ€Π΅Π΅ΠΌΠ½ΠΈΠΊ k.

Π’Ρ‚ΠΎΡ€ΠΎΠΉ просмотр ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π΅Π½ ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ с Ρ‚ΠΎΠΉ лишь Ρ€Π°Π·Π½ΠΈΡ†Π΅ΠΉ, Ρ‡Ρ‚ΠΎ ΡƒΠΆΠ΅ установлСнная позиция ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ просмотр ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΡƒΡŽ ΡƒΡΡ‚Π°Π½ΠΎΠ²Π»Π΅Π½Π½ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ, укорачивая список.

ΠŸΠΎΠ΄ΡΡ‡Π΅Ρ‚ ΠΎΠ±ΠΌΠ΅Π½ΠΎΠ² вСдСтся для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ просмотра. ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ число ΠΎΠ±ΠΌΠ΅Π½ΠΎΠ² Π½Π΅ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ»ΠΎΡΡŒ, Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Π΅Ρ‚ сортировку.

Π°Π»Π³Sort (Π°Ρ€Π³ Ρ†Π΅Π» N, Ρ†Π΅Π» Ρ‚Π°Π± A [1:N])

Π½Π°Ρ‡ Ρ†Π΅Π» k, i, w

Π½Ρ† для k ΠΎΡ‚ N Π΄ΠΎ N — 1

Π½Ρ† для i ΠΎΡ‚ 1 Π΄ΠΎ N — k

Ссли A[i] > A [i + 1]

Ρ‚ΠΎ w:= A[i]

A[i]: = A [i + 1]

A [i + 1]: = w

всС

ΠΊΡ†

ΠΊΡ†

ΠΊΠΎΠ½

ΠŸΡ€ΠΈ сортировкС «ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠ°» выполняСтся N — 1 просмотр, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ Π½Π° i — ΠΌ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅ производится N — i ΡΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ. ΠžΠ±Ρ‰Π΅Π΅ количСсво сравнСний C = N (N — 1)/2, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΈΠΌΠ΅Π΅Ρ‚ порядок (N2).

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

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

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° заканчиваСтся, ΠΊΠΎΠ³Π΄Π° ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠ΅ сравнСниС ΠΎΡ…Π²Π°Ρ‚ΠΈΡ‚ (N + 1) — ΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚.

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

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

Бвязь ΠΌΠ΅ΠΆΠ΄Ρƒ процСссом, ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΠΌ ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΠ΅ сортировкС числа, ΠΈ ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ Ρ‚Π°ΠΊΠΎΠ²Π°, Ρ‡Ρ‚ΠΎ сортировка привлСкаСтся ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ. Π’Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ сопряТСно с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΈΠ·Π΄Π΅Ρ€ΠΆΠΊΠ°ΠΌΠΈ, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², Π²Ρ…ΠΎΠ΄ ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹. Π­Ρ‚ΠΈ ΠΈΠ·Π΄Π΅Ρ€ΠΆΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ выявлСны ΠΈ ΡƒΡ‡Ρ‚Π΅Π½Ρ‹ ΠΏΡ€ΠΈ Π°Π½Π°Π»ΠΈΠ·Π΅ использования ΠΌΠ΅Ρ‚ΠΎΠ΄Π° вставок Ρ‚Π°ΠΊΠΈΠΌ способом. Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΡƒ вставками ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΎΠ΄ΠΈΠ½ ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ процСсс.

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

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт помСщаСтся Π² Π²Π΅Ρ€Ρ…Π½ΡŽΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ области Π²Ρ‹Π²ΠΎΠ΄Π°. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт, присоСдиняСмый ΠΊ ΡΠΏΠΈΡΠΊΡƒ, сравниваСтся с ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ. Если ΠΊΠ»ΡŽΡ‡ Π½ΠΎΠ²ΠΎΠ³ΠΎ элСмСнта большС, ΠΎΠ½ ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ся Π² ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ Π·Π° ΠΏΠΎΠ·ΠΈΡ†ΠΈΠ΅ΠΉ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ элСмСнта. Если ΠΊΠ»ΡŽΡ‡ Π½ΠΎΠ²ΠΎΠ³ΠΎ элСмСнта мСньшС, Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт пСрСмСщаСтся Π² ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ 2, Π° Π½ΠΎΠ²Ρ‹ΠΉ элСмСнт помСщаСтся Π² ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ 1.

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

ΠœΠ΅Ρ‚ΠΎΠ΄ сортировки Π¨Π΅Π»Π»Π° Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° Π¨Π΅Π»Π»Π° являСтся Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ сортировки просСиваниСм. ПослСдний просмотр Π² ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ΅ Π¨Π΅Π»Π»Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π΅Π½ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ просСивания, описанному Π²Ρ‹ΡˆΠ΅. ΠŸΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ просмотры ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ‚ΠΎΡ‚ ΠΆΠ΅ тСхничСский ΠΏΡ€ΠΈΠ΅ΠΌ, Π½ΠΎ Π² Π½ΠΈΡ… ΡΡ€Π°Π²Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΈ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°ΡŽΡ‚ся Π½Π΅ Π½Π΅ΠΏΠΎΡΡ€Π΅Π΄ΡΡ‚Π²Π΅Π½Π½Ρ‹Π΅ сосСди, Π° ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ отстоящиС Π½Π° Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ расстояниС. НапримСр, позиция 1 сравниваСтся с ΠΏΠΎΠ·ΠΈΡ†ΠΈΠ΅ΠΉ 5, позиция 5 с ΠΏΠΎΠ·ΠΈΡ†ΠΈΠ΅ΠΉ 9, 9 с 13 ΠΈ Ρ‚. Π΄. Когда ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π° инвСрсия, Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ° Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½Ρ‹Ρ… сравнСний ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Ρ‚Π΅ ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ…ΠΎΠ΄ΠΈΠ»ΠΈ Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹Ρ… сравнСний. НапримСр, Ссли ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π° инвСрсия ΠΌΠ΅ΠΆΠ΄Ρƒ позициями 9 ΠΈ 13, Ρ‚ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π°Ρ вторичная ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ состоит ΠΈΠ· ΡΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ 5: 9 ΠΈ 1: 5.

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

ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ способами вычислСния Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ шага ΠΌΠ΅ΠΆΠ΄Ρƒ элСмСнтами ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌΠΈ сокращСния этого шага ΠΎΡ‚ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π° ΠΊ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Ρƒ.

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

КаТдоС ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠ΅ сравнСниС ΠšΠ»ΡŽΡ‡i: ΠΊΠ»ΡŽΡ‡i +шаг Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ пСрСсылку ΠΊΠ»ΡŽΡ‡i +шаг Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ. Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ 1 с ΠΏΠΎΠ·ΠΈΡ†ΠΈΠ΅ΠΉ 4, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ пСрСсылку ΠΈΠ· ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ 4 Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΈ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡Π° ΠΈΠ· Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ памяти с ΠΊΠ»ΡŽΡ‡ΠΎΠΌ ΠΈΠ· ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ 1. Если ΠΊΠ»ΡŽΡ‡i большС, ΠΎΠ½ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ся Π² ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ ΠΊΠ»ΡŽΡ‡i +шаг. Если ΠΊΠ»ΡŽΡ‡i +шаг большС, Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ. ΠŸΠ΅Ρ€Π΅ΡΡ‹Π»ΠΊΠ° Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ позволяСт эффСктивно ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Ρ‚ΡŒ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ элСмСнта этой части.

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

ИспользованиС Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ памяти эффСктивно Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π΄Π»ΠΈΠ½Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½Ρ‹Ρ… сравнСний Π½Π΅ ΠΌΠ΅Π½ΡŒΡˆΠ΅ 2. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ, скорСС всСго это Π²Π΅Ρ€Π½ΠΎ для списков ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠΉ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹ со ΡΠ»ΡƒΡ‡Π°ΠΉΠ½ΠΎ упорядочСнными Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, Ρ‚ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ с ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ ΠΎΠ±ΠΌΠ΅Π½Π°ΠΌΠΈ ΠΌΠΎΠΆΠ΅Ρ‚, Π²ΠΎΠΎΠ±Ρ‰Π΅ говоря, Π±Ρ‹Ρ‚ΡŒ Π»ΡƒΡ‡ΡˆΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΡ… сортировок Π¨Π΅Π»Π»Π°.

Быстрая сортировка ΠœΠ΅Ρ‚ΠΎΠ΄ быстрой сортировки Π±Ρ‹Π» Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ описан Π§.А. Π . Π₯ΠΎΠ°Ρ€ΠΎΠΌ Π’ 1962 Π³ΠΎΠ΄Ρƒ. Быстрая сортировка — это ΠΎΠ±Ρ‰Π΅Π΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ряда Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚Ρ€Π°ΠΆΠ°ΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ ΠΊ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΡŽ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°, Π²Π»ΠΈΡΡŽΡ‰Π΅Π³ΠΎ Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°.

ΠœΠ΅Ρ‚ΠΎΠ΄ быстрой сортировки. НСкоторый элСмСнт списка выбираСтся Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ «ΠΎΡΠ½ΠΎΠ²Ρ‹». ВсС элСмСнты, мСньшС основы, Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² ΠΏΠΎΠ·ΠΈΡ†ΠΈΡΡ… с Π½Π°Ρ‡Π°Π»Π° списка"; всС элСмСнты, большС основы, Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² ΠΏΠΎΠ·ΠΈΡ†ΠΈΡΡ… с ΠΊΠΎΠ½Ρ†Π° списка. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ ΡΡ€Π°Π²Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ с ΠΎΡΠ½ΠΎΠ²ΠΎΠΉ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ свою ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ большС ΠΈ Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Ρ‹ Π² ΠΏΠΈΡΠΊΠ΅ Π²Ρ‹ΡˆΠ΅ Π½Π΅Π΅, ΠΈΠ»ΠΈ ΠΊΠΎΠ³Π΄Π° мСньшС ΠΈ Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Ρ‹ Π² ΡΠΏΠΈΡΠΊΠ΅ Π½ΠΈΠΆΠ΅ Π½Π΅Π΅. Π­Ρ‚ΠΎ упорядочСниС составляСт этап сортировки. Π’ ΠΊΠΎΠ½Ρ†Π΅ этапа для размСщСния основы ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½Π° нСкоторая позиция Π² ΡΠΏΠΈΡΠΊΠ΅. Π­Ρ‚Π° позиция соотвСтствуСт мСсту основы Π² ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌ спискС, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π΅Π΅ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ адрСс Π² ΡΠΏΠΈΡΠΊΠ΅ опрСдСляСтся числом элСмСнтов Π²Ρ‹ΡˆΠ΅ ΠΈ Π½ΠΈΠΆΠ΅ Π½Π΅Π΅.

Π­Ρ‚Π°ΠΏ опрСдСляСт Π΄Π²Π΅ части. Если Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ основы Ρ…ΠΎΡ€ΠΎΡˆΠΎ аппроксимируСт ΠΌΠ΅Π΄ΠΈΠ°Π½Ρƒ списка, Ρ‚ΠΎ ΡΡ‚ΠΈ Π΄Π²Π΅ части Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ€Π°Π²Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹. Если основа являСтся Π½Π°ΠΈΡ…ΡƒΠ΄ΡˆΠ΅ΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ ΠΎΡ†Π΅Π½ΠΊΠΎΠΉ ΠΌΠ΅Π΄ΠΈΠ°Π½Ρ‹ (наибольшим ΠΈΠ»ΠΈ наимСньшим элСмСнтом списка), Ρ‚ΠΎ ΡΡ‚ΠΈ части Π±ΡƒΠ΄ΡƒΡ‚ Π΄Π»ΠΈΠ½ΠΎΠΉ 0 ΠΈ К — 1, Π³Π΄Π΅ К — это Π΄Π»ΠΈΠ½Π° исходного списка.

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

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

ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ пСрСсылки элСмСнтов Π΄Π°Π½Π½Ρ‹Ρ…. Один способ состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ основа пСрСсылаСтся Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ, Π° ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Π½Π°Ρ‡Π°Π»Π° списка пСрСмСщаСтся Π² ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΠ²ΡˆΡƒΡŽΡΡ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ. ΠŸΡ€ΠΈ этом освобоТдаСтся Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ позиция, ΠΊΡƒΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ элСмСнт. ПослС пСрСсылки свободная позиция сдвигаСтся Π² ΡΡ‡Π΅ΠΉΠΊΡƒ, Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡƒΡŽ Π±Π»ΠΈΠ·ΠΊΠΎ ΠΊ ΠΊΠΎΠ½Ρ†Ρƒ списка. ΠŸΡ€ΠΈ нисходящСм поискС отыскиваСтся элСмСнт для пСрСсылки Π² ΡΡ‚Ρƒ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ. Бвободная позиция чСрСдуСтся с Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ ΠΈ Π½ΠΈΠΆΠ½Π΅ΠΉ позициями Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π½Π΅ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ятся.

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

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

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° мСньшСй ΠΈΠ· Π΄Π²ΡƒΡ… частСй Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠΆΠΈΠ΄Π°ΡŽΡ‰ΠΈΡ… частСй Π² ΡΡ‚Π΅ΠΊΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ log2N. ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ частСй ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Π° ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΏΠΎ ΠΆΠ΅Π»Π°Π½ΠΈΡŽ программиста.

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

Алг QuickSort (Π°Ρ€Π³ Ρ†Π΅Π» m, t)

Π½Π°Ρ‡ Ρ†Π΅Π» i, j, x, w

i:= m

j:= t

x:= div (A (m + t), 2)

Π½Ρ†

Π½Ρ† ΠΏΠΎΠΊΠ° A[i] < x

i:=i+1

ΠΊΡ†

Π½Ρ† ΠΏΠΎΠΊΠ° A[j] > x

j:=j-1

ΠΊΡ†

Ссли i <= j

Ρ‚ΠΎ

w:= A[i]

A[i]: = A[j]

A[j]: = w

i:= i+1

j:= j-1

всС

ΠΊΡ† ΠΏΠΎΠΊΠ° i > j;

Ссли m < j

Ρ‚ΠΎ QuickSort (m, j);

всС

Ссли i < t

Ρ‚ΠΎ QuickSort (i, t);

всС

ΠΊΠΎΠ½

ΠžΡ†Π΅Π½ΠΈΠΌ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ массива Ρ€Π°Π²Π΅Π½ числу, ΡΠ²Π»ΡΡŽΡ‰Π΅ΠΌΡƒΡΡ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒΡŽ Π΄Π²ΠΎΠΉΠΊΠΈ, ΠΈ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠΈ элСмСнт X Π½Π°Ρ…одится Ρ‚ΠΎΡ‡Π½ΠΎ Π² ΡΠ΅Ρ€Π΅Π΄ΠΈΠ½Π΅ массива. Π’ ΡΡ‚ΠΎΠΌ случаС ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ просмотрС выполняСтся N ΡΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ ΠΈ ΠΌΠ°ΡΡΠΈΠ² раздСляСтся Π½Π° Π΄Π²Π΅ части Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌΠΈ N/2 сравнСний ΠΈ Ρ‚. Π΄. ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ,

C = N + 2 (N / 2) + 4 (N / 4) + … + N (N / N) = (N log2N).

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

Алг Sl (Π°Ρ€Π³ Ρ†Π΅Π» k, m, q, Ρ†Π΅Π» Ρ‚Π°Π± A [1:N])

Π½Π°Ρ‡ Ρ†Π΅Π» k, i, j, t, Ρ†Π΅Π» Ρ‚Π°Π± A [1:N]

i:= k

j:= m +1

t:= 1

Π½Ρ† ΠΏΠΎΠΊΠ° (i <= m) ΠΈ (j <= q)

Ссли A[i] <= A[j] Ρ‚ΠΎ

D[t]:= A[i]

i:= i +1

ΠΈΠ½Π°Ρ‡Π΅

D[t]: = A[j]

j:= j +1

t:= t +1

всС

ΠΊΡ†

Π½Ρ† ΠΏΠΎΠΊΠ° i = m

D[t]: = A[i]

i:= i +1

t:= t +1

Π½Ρ† ΠΏΠΎΠΊΠ° j:= q

D[t]: = A[j]

j:= j +1

t:= t +1

ΠΊΡ†

ΠΊΡ†

Π½Ρ† для i ΠΎΡ‚ 1 Π΄ΠΎ t — 1

A [k + i — 1]: = D[i]

ΠΊΡ†

ΠΊΠΎΠ½

Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° составляСт C = O (Nlog2N).

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