ΠΊΠ°ΠΊΠΈΠ΅ рСсурсы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для ΠΎΡ†Π΅Π½ΠΊΠΈ слоТности Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°

ΠžΡ†Π΅Π½ΠΊΠ° слоТности Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ²

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

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

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

ΠŸΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ основныС ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ ΠΎΡ†Π΅Π½ΠΊΠΈ ΠΈ привСсти ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΡ†Π΅Π½ΠΊΠΈ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅Π³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. На Π₯Π°Π±Ρ€Π°Ρ…Π°Π±Ρ€Π΅ ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΡ€ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΎΡ†Π΅Π½ΠΊΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², Π½ΠΎ ΠΎΠ½Π° ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π°, Π² основном, Π½Π° учащихся Π»ΠΈΡ†Π΅Π΅Π². Π”Π°Π½Π½ΡƒΡŽ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΡƒΠ³Π»ΡƒΠ±Π»Π΅Π½ΠΈΠ΅ΠΌ Ρ‚ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠΈ.

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

ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΌ слоТности Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° являСтся врСмя, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ ΠΎΠ±ΡŠΡ‘ΠΌ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠΉ памяти.
Π’Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈ Π°Π½Π°Π»ΠΈΠ·Π΅ слоТности для класса Π·Π°Π΄Π°Ρ‡ опрСдСляСтся Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ число, Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΡƒΡŽΡ‰Π΅Π΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ±ΡŠΡ‘ΠΌ Π΄Π°Π½Π½Ρ‹Ρ… – Ρ€Π°Π·ΠΌΠ΅Ρ€ Π²Ρ…ΠΎΠ΄Π°.
Π˜Ρ‚Π°ΠΊ, ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄, Ρ‡Ρ‚ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° – функция Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π²Ρ…ΠΎΠ΄Π°.
Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠΉ ΠΏΡ€ΠΈ ΠΎΠ΄Π½ΠΎΠΌ ΠΈ Ρ‚ΠΎΠΌ ΠΆΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅ Π²Ρ…ΠΎΠ΄Π°, Π½ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ понятия слоТности Π² Ρ…ΡƒΠ΄ΡˆΠ΅ΠΌ, срСднСм ΠΈΠ»ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ΠΌ случаС. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ, ΠΎΡ†Π΅Π½ΠΈΠ²Π°ΡŽΡ‚ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π² Ρ…ΡƒΠ΄ΡˆΠ΅ΠΌ случаС.

ВрСмСнная ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π² Ρ…ΡƒΠ΄ΡˆΠ΅ΠΌ случаС – функция Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π²Ρ…ΠΎΠ΄Π°, равная ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ количСству ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹Ρ… Π² Ρ…ΠΎΠ΄Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΏΡ€ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°.
Ёмкостная ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π² Ρ…ΡƒΠ΄ΡˆΠ΅ΠΌ случаС – функция Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π²Ρ…ΠΎΠ΄Π°, равная ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ количСству ячССк памяти, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π±Ρ‹Π»ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°.

ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ роста слоТности Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ²

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

Π¨Π°Π³ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° – ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ-располоТСнных элСмСнтарных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, врСмя выполнСния ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ зависит ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π²Ρ…ΠΎΠ΄Π°, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π° свСрху Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ константой.

Π’ΠΈΠ΄Ρ‹ асимптотичСских ΠΎΡ†Π΅Π½ΠΎΠΊ

O – ΠΎΡ†Π΅Π½ΠΊΠ° для Ρ…ΡƒΠ΄ΡˆΠ΅Π³ΠΎ случая

Рассмотрим ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ f(n) > 0, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ порядка g(n) > 0, Ρ€Π°Π·ΠΌΠ΅Ρ€ Π²Ρ…ΠΎΠ΄Π° n > 0.
Если f(n) = O(g(n)) ΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ константы c > 0, n0 > 0, Ρ‚ΠΎ
0 n0.

ΠΊΠ°ΠΊΠΈΠ΅ рСсурсы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для ΠΎΡ†Π΅Π½ΠΊΠΈ слоТности Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ рСсурсы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для ΠΎΡ†Π΅Π½ΠΊΠΈ слоТности Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ рСсурсы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для ΠΎΡ†Π΅Π½ΠΊΠΈ слоТности Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ рСсурсы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для ΠΎΡ†Π΅Π½ΠΊΠΈ слоТности Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ рСсурсы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для ΠΎΡ†Π΅Π½ΠΊΠΈ слоТности Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°

Ѐункция g(n) Π² Π΄Π°Π½Π½ΠΎΠΌ случаС асимптотичСски-точная ΠΎΡ†Π΅Π½ΠΊΠ° f(n). Если f(n) – функция слоТности Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, Ρ‚ΠΎ порядок слоТности опрСдСляСтся ΠΊΠ°ΠΊ f(n) – O(g(n)).

Π”Π°Π½Π½ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ опрСдСляСт класс Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ растут Π½Π΅ быстрСС, Ρ‡Π΅ΠΌ g(n) с Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ Π΄ΠΎ константного мноТитСля.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ асимптотичСских Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ
f(n)g(n)
2n 2 + 7n β€” 3n 2
98n*ln(n)n*ln(n)
5n + 2n
81
Ω – ΠΎΡ†Π΅Π½ΠΊΠ° для Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ случая

ΠšΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ ΠΎΡ†Π΅Π½ΠΊΠΈ слоТности Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ²

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

ВрСмСнная ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ Π›Π’Πš опрСдСляСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ l(Op), Π³Π΄Π΅ Op – Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π° ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°.
Ёмкостная ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ Π›Π’Πš опрСдСляСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ l(M), Π³Π΄Π΅ M – Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π° ячСйки памяти.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΡ†Π΅Π½ΠΊΠΈ слоТности ΠΏΡ€ΠΈ вычислСнии Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ°Π»Π°

НСобходимо ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° вычислСниС Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ°Π»Π°. Для этого напишСм Π½Π° псСвдокодС языка Π‘ Π΄Π°Π½Π½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ:

ВрСмСнная ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠΌ вСсовом ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ

Достаточно просто ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π²Ρ…ΠΎΠ΄Π° Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ – n.
ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ шагов – (n β€” 1).

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, врСмСнная ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ Π Π’Πš Ρ€Π°Π²Π½Π° O(n).

ВрСмСнная ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ логарифмичСском вСсовом ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡƒΠ½ΠΊΡ‚Π΅ слСдуСт Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, это ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ сравнСния. Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ измСнСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… (слоТСниС, ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅). ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ присваивания Π½Π΅ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ прСдполагаСтся, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° происходят ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ.

Π˜Ρ‚Π°ΠΊ, Π² Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ выдСляСтся Ρ‚Ρ€ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ:

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

ΠžΡ†Π΅Π½ΠΊΠ° слоТности Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², ΠΈΠ»ΠΈ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ О(log n)

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

ΠžΡ†Π΅Π½ΠΊΠ° слоТности Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², ΠΈΠ»ΠΈ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ О(log n)

ΠΊΠ°ΠΊΠΈΠ΅ рСсурсы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для ΠΎΡ†Π΅Π½ΠΊΠΈ слоТности Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ рСсурсы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для ΠΎΡ†Π΅Π½ΠΊΠΈ слоТности Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ рСсурсы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для ΠΎΡ†Π΅Π½ΠΊΠΈ слоТности Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ рСсурсы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для ΠΎΡ†Π΅Π½ΠΊΠΈ слоТности Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ рСсурсы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для ΠΎΡ†Π΅Π½ΠΊΠΈ слоТности Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°

НавСрняка Π²Ρ‹ Π½Π΅ Ρ€Π°Π· ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π»ΠΈΡΡŒ с обозначСниями Π²Ρ€ΠΎΠ΄Π΅ O(log n) ΠΈΠ»ΠΈ ΡΠ»Ρ‹ΡˆΠ°Π»ΠΈ Ρ„Ρ€Π°Π·Ρ‹ Ρ‚ΠΈΠΏΠ° «логарифмичСская Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΒ» Π² адрСс ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ². И Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΡ‚Π°Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ программистом, Π½ΠΎ Ρ‚Π°ΠΊ ΠΈ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ это Π·Π½Π°Ρ‡ΠΈΡ‚, β€” данная ΡΡ‚Π°Ρ‚ΡŒΡ для вас.

ΠžΡ†Π΅Π½ΠΊΠ° слоТности

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

O(n) β€” линСйная ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ

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

O(log n) β€” логарифмичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ

ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ β€” Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ поиск. Если массив отсортирован, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Π΅ΡΡ‚ΡŒ Π»ΠΈ Π² Π½Ρ‘ΠΌ ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ дСлСния ΠΏΠΎΠΏΠΎΠ»Π°ΠΌ. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ срСдний элСмСнт, Ссли ΠΎΠ½ большС искомого, Ρ‚ΠΎ отбросим Π²Ρ‚ΠΎΡ€ΡƒΡŽ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρƒ массива β€” Ρ‚Π°ΠΌ Π΅Π³ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎ Π½Π΅Ρ‚. Если ΠΆΠ΅ мСньшС, Ρ‚ΠΎ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚ β€” отбросим Π½Π°Ρ‡Π°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρƒ. И Ρ‚Π°ΠΊ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠΎΠΏΠΎΠ»Π°ΠΌ, Π² ΠΈΡ‚ΠΎΠ³Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ log n элСмСнтов.

O(n 2 ) β€” квадратичная ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ

Π‘Ρ‚Π°Ρ€Ρ‚ 4 ноября, 9 мСсяцСв, Онлайн, Π‘Π΅cΠΏΠ»Π°Ρ‚Π½ΠΎ

Π‘Ρ‹Π²Π°ΡŽΡ‚ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΡ†Π΅Π½ΠΊΠΈ ΠΏΠΎ слоТности, Π½ΠΎ всС ΠΎΠ½ΠΈ основаны Π½Π° Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅.

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

Наглядно

ВрСмя выполнСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ Π² зависимости ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ скорости 10 6 ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π² сСкунду:

ΠΊΠ°ΠΊΠΈΠ΅ рСсурсы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для ΠΎΡ†Π΅Π½ΠΊΠΈ слоТности Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ рСсурсы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для ΠΎΡ†Π΅Π½ΠΊΠΈ слоТности Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ рСсурсы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для ΠΎΡ†Π΅Π½ΠΊΠΈ слоТности Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ рСсурсы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для ΠΎΡ†Π΅Π½ΠΊΠΈ слоТности Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ рСсурсы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для ΠΎΡ†Π΅Π½ΠΊΠΈ слоТности Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°Π’ΡƒΡ‚ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ основных Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² сортировки ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.

Если хочСтся ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΈ слоТнСС, заглядывайтС Π² Π½Π°ΡˆΡƒ ΡΡ‚Π°Ρ‚ΡŒΡŽ ΠΈΠ· сСрии «Алгоритмы ΠΈ структуры Π΄Π°Π½Π½Ρ‹Ρ… для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…Β».

Π₯ΠΈΠ½Ρ‚ для программистов: Ссли Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ΡΡŒ Π½Π° сорСвнования Huawei Cup, Ρ‚ΠΎ бСсплатно ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ доступ ΠΊ ΠΎΠ½Π»Π°ΠΉΠ½-школС для участников. МоТно ΠΏΡ€ΠΎΠΊΠ°Ρ‡Π°Ρ‚ΡŒΡΡ ΠΏΠΎ Ρ€Π°Π·Π½Ρ‹ΠΌ Π½Π°Π²Ρ‹ΠΊΠ°ΠΌ ΠΈ Π²Ρ‹ΠΈΠ³Ρ€Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ·Ρ‹ Π² самом сорСвновании.

ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ рСгистрации

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

Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ². Big O. ΠžΡΠ½ΠΎΠ²Ρ‹.

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

Но вСдь врСмя выполнСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° зависит ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Π½Π° ΠΊΠ°ΠΊΠΎΠΌ устройствС Π΅Π³ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ. Один ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹ΠΉ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… устройствах выполняСтся Π·Π° Ρ€Π°Π·Π½ΠΎΠ΅ врСмя.

Big O ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π²Π΅Ρ€Ρ…Π½ΡŽΡŽ Π³Ρ€Π°Π½ΠΈΡ†Ρƒ зависимости ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Ρ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ количСством ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ процСссор.

РаспространённыС слоТности Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ²

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

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ β„– 1.

Π£ нас Π΅ΡΡ‚ΡŒ массив ΠΈΠ· 5 чисСл ΠΈ Π½Π°ΠΌ Π½Π°Π΄ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт.

Насколько возрастСт количСство ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΏΡ€ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²?
Нинасколько. Π”Π°ΠΆΠ΅ Ссли массив Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· 100, 1000 ΠΈΠ»ΠΈ 10 000 элСмСнтов Π½Π°ΠΌ всСравно потрСбуСтся ΠΎΠ΄Π½Π° опСрация.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ β„– 2.

Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π²ΡƒΡ… чисСл. Ѐункция всСгда выполняСт константноС количСство ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ β„– 3.

Π Π°Π·ΠΌΠ΅Ρ€ массива. ΠžΠΏΡΡ‚ΡŒ ΠΆΠ΅, функция всСгда выполняСт константной количСство ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.

ΠžΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ растёт с ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ΠΌ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, ΡƒΠ΄Π²ΠΎΠ΅Π½ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΡƒΠ΄Π²ΠΎΠΈΡ‚ ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ врСмя для выполнСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°.

Π’Π°ΠΊΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Π»Π΅Π³ΠΊΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΏΠΎ Π½Π°Π»ΠΈΡ‡ΠΈΡŽ Ρ†ΠΈΠΊΠ»Π° ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ элСмСнту массива.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ β„– 3.

ΠžΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° растёт логарифмичСски с ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ΠΌ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами это Ρ‚Π°ΠΊΠΎΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, Π³Π΄Π΅ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ бСрётся ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° элСмСнтов.

К Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌ с Ρ‚Π°ΠΊΠΎΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ относятся Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Ρ‚ΠΈΠΏΠ° β€œΠ Π°Π·Π΄Π΅Π»ΡΠΉ ΠΈ Властвуй” (Divide and Conquer), Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ поиск.

ΠžΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΡƒΠ΄Π²ΠΎΠ΅Π½ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ врСмя выполнСния Ρ‡ΡƒΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅, Ρ‡Π΅ΠΌ Π²Π΄Π²ΠΎΠ΅.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² с Ρ‚Π°ΠΊΠΎΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ: Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° слияниСм ΠΈΠ»ΠΈ мноТСством n элСмСнтов.

ΠžΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΡƒΠ΄Π²ΠΎΠ΅Π½ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ врСмя выполнСния Π² 4 Ρ€Π°Π·Π°. НапримСр, ΠΏΡ€ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² 10 Ρ€Π°Π·, количСство ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ (ΠΈ врСмя выполнСния) увСличится ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π² 100 Ρ€Π°Π·. Если Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΈΡ‡Π½ΡƒΡŽ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ, Ρ‚ΠΎ это ΠΏΠΎΠ²ΠΎΠ΄ ΠΏΠ΅Ρ€Π΅ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ использования Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Но ΠΈΠ½ΠΎΠ³Π΄Π° этого Π½Π΅ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ.

Π’Π°ΠΊΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Π»Π΅Π³ΠΊΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΏΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌ Ρ†ΠΈΠΊΠ»Π°ΠΌ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ β„– 1.

Π’ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΅ΡΡ‚ΡŒ Ρ†ΠΈΠΊΠ» Π² Ρ†ΠΈΠΊΠ»Π΅, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ массив Π΄Π»ΠΈΠ½ΠΎΠΉ n, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π±ΡƒΠ΄Π΅Ρ‚: O(n * n) = O(n 2 )

Π—Π°Ρ‡Π΅ΠΌ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ Big O

Π¨ΠΏΠ°Ρ€Π³Π°Π»ΠΊΠ°

НСбольшиС подсказки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°.

ΠŸΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ссылки

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

Анализ слоТности Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ². ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

Алгоритм β€” это Ρ‚ΠΎΡ‡Π½ΠΎΠ΅ прСдписаниС, ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π΅Π΅ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ процСсс, Π²Π΅Π΄ΡƒΡ‰ΠΈΠΉ ΠΎΡ‚ Π²Π°Ρ€ΡŒΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΊ искомому Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρƒ [1].

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

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅:

МодСль RAM (Random Access Machine)

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

МодСль состоит ΠΈΠ· памяти ΠΈ процСссора, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ такая модСль Π΄Π°Π»Π΅ΠΊΠ° ΠΎΡ‚ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, ΠΎΠ½Π° Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Π°Π½Π°Π»ΠΈΠ·Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ². ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π­Π’Πœ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Π½ΡΡ‚ΡŒΡΡ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈ Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠΉ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ, Π½ΠΎ это Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΆΠ΅ оптимизация ΠΊΠΎΠ΄Π°, Π° Π½Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°.

ΠŸΠΎΠ΄ΡΡ‡Π΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. ΠšΠ»Π°ΡΡΡ‹ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…

Одним ΠΈΠ· способов ΠΎΡ†Π΅Π½ΠΊΠΈ трудоСмкости (\(T_n\)) являСтся подсчСт количСства выполняСмых ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. Рассмотрим Π² качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ поиска минимального элСмСнта массива.

ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ этого Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π°:

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

ΠŸΠΎΠ½ΡΡ‚ΠΈΠ΅ срСднСго случая ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΎΡ†Π΅Π½ΠΊΠΈ повСдСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° с расчСтом Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π°Π±ΠΎΡ€Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… равновСроятны. Однако, такая ΠΎΡ†Π΅Π½ΠΊΠ° достаточно слоТна:

АсимптотичСскиС обозначСния

ΠŸΠΎΠ΄ΡΡ‡Π΅Ρ‚ количСства ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ позволяСт ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ². Однако, Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ простым ΠΏΡƒΡ‚Π΅ΠΌ. Анализ проводят с расчСтом Π½Π° достаточно большой объСм ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… (\( n \to \infty \)), поэтому ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ роста Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ слоТности, Π° Π½Π΅ Ρ‚ΠΎΡ‡Π½ΠΎΠ΅ количСство ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.

ΠŸΡ€ΠΈ Π°Π½Π°Π»ΠΈΠ·Π΅ скорости роста ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ постоянныС Ρ‡Π»Π΅Π½Ρ‹ ΠΈ ΠΌΠ½ΠΎΠΆΠΈΡ‚Π΅Π»ΠΈ Π² Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ, Ρ‚.Π΅. Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ \(f_x = 10 \cdot x^2 + 20 \) ΠΈ \( g_x = x^2\) эквивалСнтны с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния скорости роста. НСзначащиС Ρ‡Π»Π΅Π½Ρ‹ лишь Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ «волнистости», которая затрудняСт Π°Π½Π°Π»ΠΈΠ·.

Π’ ΠΎΡ†Π΅Π½ΠΊΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ асимптотичСскиС обозначСния, Π·Π°Π΄Π°ΡŽΡ‰ΠΈΠ΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ классы Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ:

Π—Π°ΠΏΠΈΡΡŒ \(f_n = \mathcal(g_n)\) ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ f классу \(\mathcal(g)\), Ρ‚.Π΅. функция f ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π° свСрху Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ g для достаточно Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°. \(\exists n_0 > 0, c > 0 : \forall n > n_0, f_n \leq c \cdot g_n\).

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ g снизу Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ f записываСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: \(g_n =\Omega(f_n)\). Нотации \(\Omega\) ΠΈ \(\mathcal\) взаимозамСняСмы: \(f_n = \mathcal(g_n) \Leftrightarrow g_n =\Omega(f_n)\).

ΠΊΠ°ΠΊΠΈΠ΅ рСсурсы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для ΠΎΡ†Π΅Π½ΠΊΠΈ слоТности Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ рСсурсы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для ΠΎΡ†Π΅Π½ΠΊΠΈ слоТности Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ рСсурсы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для ΠΎΡ†Π΅Π½ΠΊΠΈ слоТности Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ рСсурсы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для ΠΎΡ†Π΅Π½ΠΊΠΈ слоТности Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ рСсурсы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для ΠΎΡ†Π΅Π½ΠΊΠΈ слоТности алгоритмаАсимптотичСскиС обозначСния «О большоС» ΠΈ «ОмСга большоС»

Если Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ f ΠΈ g ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡƒΡŽ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ роста (\(f_n = \Theta(g_n)\)), Ρ‚ΠΎ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ константы \(c_1\) ΠΈ \(c_2\) Ρ‚Π°ΠΊΠΈΠ΅, Ρ‡Ρ‚ΠΎ \(\exists n_0 > 0 : \forall n > n_0, f_n \leq c_1 \cdot g_n, f_n \geq c_2 \cdot g_n\). ΠŸΡ€ΠΈ этом \(f_n = \Theta(g_n) \Leftrightarrow g_n = \Theta(f_n)\).

ΠΊΠ°ΠΊΠΈΠ΅ рСсурсы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для ΠΎΡ†Π΅Π½ΠΊΠΈ слоТности Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ рСсурсы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для ΠΎΡ†Π΅Π½ΠΊΠΈ слоТности Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ рСсурсы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для ΠΎΡ†Π΅Π½ΠΊΠΈ слоТности Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ рСсурсы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для ΠΎΡ†Π΅Π½ΠΊΠΈ слоТности Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ рСсурсы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для ΠΎΡ†Π΅Π½ΠΊΠΈ слоТности алгоритмаАсимптотичСскоС ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Β«Π’Π΅Ρ‚Π° большоС»

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π°Π½Π°Π»ΠΈΠ·Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ²

Алгоритм поиска минимального элСмСнта массива, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ N ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ Ρ†ΠΈΠΊΠ»Π°. Π’Ρ€ΡƒΠ΄ΠΎΠ΅ΠΌΠΊΠΎΡΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π΅ зависит ΠΎΡ‚ количСства элСмСнтов массива, поэтому ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ \(T^ = \mathcal(1)\). Π’ связи с этим, вСрхняя ΠΎΡ†Π΅Π½ΠΊΠ° всСго Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° \(T^_n = \mathcal(n) \cdot \mathcal(1) = \mathcal(n \cdot 1) = \mathcal(n)\). Аналогично вычисляСтся ниТняя ΠΎΡ†Π΅Π½ΠΊΠ° слоТности, Π° Π² силу Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° совпадаСт с Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ β€” ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°Ρ‚ΡŒ \(T^_n = \Theta(n) \).

Алгоритм ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠ²ΠΎΠΉ сортировки (bubble sort) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π΄Π²Π° Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»Π°. Π’ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡΡ€Π°Π²Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΠ°Ρ€Ρ‹ элСмСнтов ΠΈ Ссли оказываСтся, Ρ‡Ρ‚ΠΎ элСмСнты стоят Π² Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ порядкС β€” выполняСтся пСрСстановка. Π’Π½Π΅ΡˆΠ½ΠΈΠΉ Ρ†ΠΈΠΊΠ» выполняСтся Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π² массивС найдСтся Ρ…ΠΎΡ‚ΡŒ ΠΎΠ΄Π½Π° ΠΏΠ°Ρ€Π° элСмСнтов, Π½Π°Ρ€ΡƒΡˆΠ°ΡŽΡ‰ΠΈΡ… Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹ΠΉ порядок [2].

Π’Ρ€ΡƒΠ΄ΠΎΠ΅ΠΌΠΊΠΎΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ swap Π½Π΅ зависит ΠΎΡ‚ количСства элСмСнтов Π² массивС, поэтому оцСниваСтся ΠΊΠ°ΠΊ \(T^ = \Theta(1) \). Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ выполнСния Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ Ρ†ΠΈΠΊΠ»Π°, наибольший элСмСнт смСщаСтся Π² ΠΊΠΎΠ½Π΅Ρ† массива нСупорядочСнной части, поэтому Ρ‡Π΅Ρ€Π΅Π· N Ρ‚Π°ΠΊΠΈΡ… Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² массив Π² любом случаС окаТСтся отсортирован. Если ΠΆΠ΅ массив отсортирован, Ρ‚ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ Ρ†ΠΈΠΊΠ» Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ лишь ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·.

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

Для поиска наимСньшСго элСмСнта нСупорядочСнной части массива ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ функция indMin, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰Π°Ρ массив, Ρ€Π°Π·ΠΌΠ΅Ρ€ массива ΠΈ Π½ΠΎΠΌΠ΅Ρ€ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ, начиная с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ поиск. Анализ слоТности этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ Ρ‚ΠΎΠΌΡƒ, ΠΊΠ°ΠΊ это сдСлано для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ min β€” количСство ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ зависит ΠΎΡ‚ количСства ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… элСмСнтов: \( T^_ = \Theta(n β€” i)\).

Π£ сортировки Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ Π½Π΅Ρ‚ Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ внСсти различия Π² ΠΎΡ†Π΅Π½ΠΊΡƒ Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ ΠΈ Π½Π°ΠΈΡ…ΡƒΠ΄ΡˆΠ΅Π³ΠΎ случаСв, Π΅Π΅ Ρ‚Ρ€ΡƒΠ΄ΠΎΠ΅ΠΌΠΊΠΎΡΡ‚ΡŒ: \(T^