какая асимптотичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ поиска Π² отсортированном массивС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° n

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

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

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

какая асимптотичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ поиска Π² отсортированном массивС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° n. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая асимптотичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ поиска Π² отсортированном массивС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° n. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая асимптотичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ поиска Π² отсортированном массивС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° n. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая асимптотичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ поиска Π² отсортированном массивС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° n. Π€ΠΎΡ‚ΠΎ какая асимптотичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ поиска Π² отсортированном массивС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° n

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

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

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

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

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

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

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

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

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

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

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

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

Наглядно

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

какая асимптотичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ поиска Π² отсортированном массивС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° n. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая асимптотичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ поиска Π² отсортированном массивС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° n. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая асимптотичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ поиска Π² отсортированном массивС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° n. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая асимптотичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ поиска Π² отсортированном массивС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° n. Π€ΠΎΡ‚ΠΎ какая асимптотичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ поиска Π² отсортированном массивС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° nΠ’ΡƒΡ‚ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ основных Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² сортировки ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.

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

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

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Π°Π½Π°Π»ΠΈΠ· слоТности Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² (Ρ‡Π°ΡΡ‚ΡŒ 3)

ΠžΡ‚ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊΠ°: Π΄Π°Π½Π½Ρ‹ΠΉ тСкст даётся с Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ сокращСниями ΠΏΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ мСстами излишнСй «разТёванности» ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°. Автор Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ справСдливо ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ‚Π΅ΠΌΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŽ чСрСсчур простыми ΠΈΠ»ΠΈ общСизвСстными. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π»ΠΈΡ‡Π½ΠΎ ΠΌΠ½Π΅ этот тСкст ΠΏΠΎΠΌΠΎΠ³ ΡƒΠΏΠΎΡ€ΡΠ΄ΠΎΡ‡ΠΈΡ‚ΡŒ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ΡΡ знания ΠΏΠΎ Π°Π½Π°Π»ΠΈΠ·Ρƒ слоТности Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ². НадСюсь, Ρ‡Ρ‚ΠΎ ΠΎΠ½ окаТСтся ΠΏΠΎΠ»Π΅Π·Π΅Π½ ΠΈ ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ Π΅Ρ‰Ρ‘.
Из-Π·Π° большого ΠΎΠ±ΡŠΡ‘ΠΌΠ° ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠΈ я Ρ€Π°Π·Π±ΠΈΠ»Π° Π΅Ρ‘ Π½Π° части, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π² ΠΎΠ±Ρ‰Π΅ΠΉ слоТности Π±ΡƒΠ΄Π΅Ρ‚ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅.
Π― (ΠΊΠ°ΠΊ всСгда) Π±ΡƒΠ΄Ρƒ ΠΊΡ€Π°ΠΉΠ½Π΅ ΠΏΡ€ΠΈΠ·Π½Π°Ρ‚Π΅Π»ΡŒΠ½Π° Π·Π° Π»ΡŽΠ±Ρ‹Π΅ замСчания Π² Π»ΠΈΡ‡ΠΊΡƒ ΠΏΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡŽ качСства ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π°.

Π›ΠΎΠ³Π°Ρ€ΠΈΡ„ΠΌΡ‹

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ рСкомСндация: Π½Π° сорСвнованиях Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ часто Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ΡΡ Π½Π° Π‘++. Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ вашСго Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, Ρ‚Π°ΠΊ сразу ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈ Π³Ρ€ΡƒΠ±ΡƒΡŽ ΠΎΡ†Π΅Π½ΠΊΡƒ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ быстро ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, приняв, Ρ‡Ρ‚ΠΎ Π² сСкунду выполняСтся 1 000 000 ΠΊΠΎΠΌΠ°Π½Π΄. Π˜Ρ… количСство считаСтся ΠΈΠ· ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠΉ Π²Π°ΠΌΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ асимптотичСской ΠΎΡ†Π΅Π½ΠΊΠΈ, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰Π΅ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. НапримСр, вычислСниС ΠΏΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ с Θ( n ) Π·Π°ΠΉΠΌΡ‘Ρ‚ ΠΎΠΊΠΎΠ»ΠΎ сСкунды ΠΏΡ€ΠΈ n = 1 000 000.

РСкурсивная ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ

Если Π²Ρ‹ всё ΠΆΠ΅ Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹ Π² этом, Ρ‚ΠΎ Π²Ρ‹ всСгда ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ Ρ‚ΠΎΡ‡Π½ΡƒΡŽ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡƒΡ‚Ρ‘ΠΌ подсчёта количСства инструкций. ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΊ Π΄Π°Π½Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ Π΅Ρ‘ f( n ), ΠΈ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° линСйная (напомню, Ρ‡Ρ‚ΠΎ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Θ( n ) ).

ЛогарифмичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ

Одной ΠΈΠ· ΠΈΠ·Π²Π΅ΡΡ‚Π½Π΅ΠΉΡˆΠΈΡ… Π·Π°Π΄Π°Ρ‡ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ являСтся поиск значСния Π² массивС. ΠœΡ‹ ΡƒΠΆΠ΅ Ρ€Π΅ΡˆΠ°Π»ΠΈ Π΅Ρ‘ Ρ€Π°Π½Π΅Π΅ для ΠΎΠ±Ρ‰Π΅Π³ΠΎ случая. Π—Π°Π΄Π°Ρ‡Π° становится интСрСснСС, Ссли Ρƒ нас Π΅ΡΡ‚ΡŒ отсортированный массив, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π½Π°ΠΉΡ‚ΠΈ Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Одним ΠΈΠ· способов ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это являСтся Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ поиск. ΠœΡ‹ Π±Π΅Ρ€Ρ‘ΠΌ срСдний элСмСнт ΠΈΠ· нашСго массива: Ссли ΠΎΠ½ совпадаСт с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ искали, Ρ‚ΠΎ Π·Π°Π΄Π°Ρ‡Π° Ρ€Π΅ΡˆΠ΅Π½Π°. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС, Ссли Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ большС этого элСмСнта, Ρ‚ΠΎ ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π»Π΅ΠΆΠ°Ρ‚ΡŒ Π² ΠΏΡ€Π°Π²ΠΎΠΉ части массива. А Ссли мСньшС β€” Ρ‚ΠΎ Π² Π»Π΅Π²ΠΎΠΉ. ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°Π·Π±ΠΈΠ²Π°Ρ‚ΡŒ эти подмассивы Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ искомоС.
какая асимптотичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ поиска Π² отсортированном массивС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° n. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая асимптотичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ поиска Π² отсортированном массивС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° n. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая асимптотичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ поиска Π² отсортированном массивС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° n. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая асимптотичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ поиска Π² отсортированном массивС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° n. Π€ΠΎΡ‚ΠΎ какая асимптотичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ поиска Π² отсортированном массивС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° n
Π’ΠΎΡ‚ рСализация Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π² псСвдокодС:

Если Π²Ρ‹ Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅, Ρ‚ΠΎ ΠΎΡ‚Π²Π»Π΅ΠΊΠΈΡ‚Π΅ΡΡŒ ΠΈ Ρ€Π΅ΡˆΠΈΡ‚Π΅ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€.

Если Π²Ρ‹ ΠΏΡ€ΠΎΡ‡Π»ΠΈ Ρ€Π°Π·Π΄Π΅Π» ΠΎ Π»ΠΎΠ³Π°Ρ€ΠΈΡ„ΠΌΠ°Ρ… Π²Ρ‹ΡˆΠ΅, Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ для вас Π·Π½Π°ΠΊΠΎΠΌΡ‹ΠΌ. РСшив Π΅Π³ΠΎ, ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ:

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

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

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

Π˜Π·ΠΌΠ΅Ρ€ΠΈΡ‚ΡŒ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ β€” сСкундами ΠΈ ΠΌΠΈΠ½ΡƒΡ‚Π°ΠΌΠΈ β€” нСпросто. Одна ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π½Π΅ ΠΈΠ·-Π·Π° собствСнной нСэффСктивности, Π° ΠΏΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ ΠΌΠ΅Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы, нСсовмСстимости с ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, занятости памяти ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ процСссами…

Для измСрСния эффСктивности Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π»ΠΈ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ, ΠΈ ΠΎΠ½ΠΈ Π²Ρ‹Π΄Π°ΡŽΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ нСзависимо ΠΎΡ‚ срСды, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°. Π˜Π·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ асимптотичСской слоТности Π·Π°Π΄Π°Ρ‡ΠΈ производится с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ О-большого.

Π’ΠΎΡ‚ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅:

НС Π±ΠΎΠΉΡ‚Π΅ΡΡŒ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ опрСдСлСния! По сути, ΠΎΠ½ΠΎ опрСдСляСт асимптотичСскоС возрастаниС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΠ³Π΄Π° количСство Π²Π°ΡˆΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° Π²Ρ…ΠΎΠ΄Π΅ растСт Π² сторону бСсконСчности. НапримСр, Π²Ρ‹ сравниваСтС сортировку массива ΠΈΠ· 1000 элСмСнтов ΠΈ 10 элСмСнтов, ΠΈ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ возрастёт ΠΏΡ€ΠΈ этом врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Или Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄Π»ΠΈΠ½Ρƒ строки символов ΠΏΡƒΡ‚Π΅ΠΌ посимвольного ΠΏΡ€ΠΎΡ…ΠΎΠ΄Π° ΠΈ ΠΏΡ€ΠΈΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ 1 Π·Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ символ:

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ length Π²Ρ‹ сохранили Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ€Π°Π²Π½ΠΎΠ΅ количСству символов Π² строкС. НапримСр, length = 1000. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Π»ΠΈΠ½Ρƒ строки, Π½ΡƒΠΆΠ΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ доступ ΠΊ этой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π½Π° саму строку ΠΌΠΎΠΆΠ½ΠΎ Π΄Π°ΠΆΠ΅ Π½Π΅ ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ. И ΠΊΠ°ΠΊ Π±Ρ‹ ΠΌΡ‹ Π½ΠΈ мСняли Π΄Π»ΠΈΠ½Ρƒ, ΠΌΡ‹ всСгда ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ этой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС асимптотичСская ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ = O(1). ΠžΡ‚ измСнСния Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Ρ‚Π°ΠΊΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ Π½Π΅ мСняСтся, поиск Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ Π·Π° постоянноС врСмя. Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° являСтся асимптотичСски постоянной.

НСдостаток: Π²Ρ‹ Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚Π΅ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° Π½Π° Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ врСмя для обновлСния Π΅Ρ‘ значСния.

какая асимптотичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ поиска Π² отсортированном массивС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° n. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая асимптотичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ поиска Π² отсортированном массивС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° n. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая асимптотичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ поиска Π² отсортированном массивС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° n. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая асимптотичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ поиска Π² отсортированном массивС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° n. Π€ΠΎΡ‚ΠΎ какая асимптотичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ поиска Π² отсортированном массивС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° n

Но Π² ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚ квадратичная функция ΠΎΠ±Π³ΠΎΠ½ΠΈΡ‚ Π»ΠΈΠ½Π΅ΠΉΠ½ΡƒΡŽ, ΠΎΡ‚ этого Π½Π΅ ΡƒΠΉΡ‚ΠΈ.

какая асимптотичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ поиска Π² отсортированном массивС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° n. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая асимптотичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ поиска Π² отсортированном массивС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° n. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая асимптотичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ поиска Π² отсортированном массивС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° n. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая асимптотичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ поиска Π² отсортированном массивС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° n. Π€ΠΎΡ‚ΠΎ какая асимптотичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ поиска Π² отсортированном массивС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° n

Π’ случаС Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ поиска = Ξ©(1) (Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ Π·Π° постоянноС врСмя нСзависимо ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° массива).

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

АсимптотичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ²: Ρ‡Ρ‚ΠΎ Π·Π° Π·Π²Π΅Ρ€ΡŒ?

АсимптотичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² встрСчаСтся повсСмСстно. Доступно рассказываСм, Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅, Π³Π΄Π΅ ΠΈ ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ.

какая асимптотичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ поиска Π² отсортированном массивС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° n. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая асимптотичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ поиска Π² отсортированном массивС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° n. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая асимптотичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ поиска Π² отсортированном массивС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° n. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая асимптотичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ поиска Π² отсортированном массивС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° n. Π€ΠΎΡ‚ΠΎ какая асимптотичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ поиска Π² отсортированном массивС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° n

АсимптотичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² прСдставляСт собой врСмя ΠΈ ΠΏΠ°ΠΌΡΡ‚ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ понадобятся вашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π² процСссС экзСкуции. Одно Π΄Π΅Π»ΠΎ – Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹Π΅ ΠΈΠ»ΠΈ логарифмичСскиС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹, Π½ΠΎ совсСм Π΄Ρ€ΡƒΠ³ΠΎΠ΅ – ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΆΠ΅ Π·Π° всСм этим стоит.

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

Π Π°Π·ΠΎΠ±Ρ€Π°Π²ΡˆΠΈΡΡŒ Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Big O Notation, Π²Ρ‹ смоТСтС Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Π°ΡˆΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ максимально эффСктивного ΠΊΠΎΠ΄Π°.

БлоТности О(1) ΠΈ O(n) самыС простыС для понимания.

О(1) ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ трСбуСтся константноС врСмя. НапримСр, Π·Π° константноС врСмя выполняСтся поиск элСмСнта Π² Ρ…ΡΡˆ-Ρ‚Π°Π±Π»ΠΈΡ†Π΅, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π²Ρ‹ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚Π΅ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ элСмСнт, Π½Π΅ дСлая Π½ΠΈΠΊΠ°ΠΊΠΈΡ… сравнСний. Π’ΠΎ ΠΆΠ΅ самоС относится ΠΊ Π²Ρ‹Π·ΠΎΠ²Ρƒ i-Ρ‚ΠΎΠ³ΠΎ элСмСнта Π² массивС. Π’Π°ΠΊΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π΅ зависят ΠΎΡ‚ количСства Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

НапримСр, Ссли Ρƒ вас Π΅ΡΡ‚ΡŒ отсортированный массив, Π½Π°ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ 8 элСмСнтов, Π² Ρ…ΡƒΠ΄ΡˆΠ΅ΠΌ случаС Π²Π°ΠΌ понадобится ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Log_2(8)=3 сравнСний, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ Π½ΡƒΠΆΠ½Ρ‹ΠΉ элСмСнт.

Рассмотрим отсортированный ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив с 16 элСмСнтами:

какая асимптотичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ поиска Π² отсортированном массивС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° n. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая асимптотичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ поиска Π² отсортированном массивС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° n. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая асимптотичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ поиска Π² отсортированном массивС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° n. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая асимптотичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ поиска Π² отсортированном массивС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° n. Π€ΠΎΡ‚ΠΎ какая асимптотичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ поиска Π² отсортированном массивС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° n

Допустим, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ число 13.

ΠœΡ‹ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΌΠ΅Π΄ΠΈΠ°Π½Ρƒ массива ΠΈ сравниваСм элСмСнт ΠΏΠΎΠ΄ индСксом 7 с числом 13.

Π’Π°ΠΊ ΠΊΠ°ΠΊ наш массив отсортирован, Π° 16 большС, Ρ‡Π΅ΠΌ 13, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π΅ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ элСмСнты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ находятся ΠΏΠΎΠ΄ индСксом 7 ΠΈ Π²Ρ‹ΡˆΠ΅. Π’Π°ΠΊ ΠΌΡ‹ избавились ΠΎΡ‚ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ‹ массива.

Π”Π°Π»ΡŒΡˆΠ΅ снова Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΌΠ΅Π΄ΠΈΠ°Π½Ρƒ Π² ΠΎΡΡ‚Π°Π²ΡˆΠ΅ΠΉΡΡ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π΅ массива.

какая асимптотичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ поиска Π² отсортированном массивС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° n. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая асимптотичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ поиска Π² отсортированном массивС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° n. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая асимптотичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ поиска Π² отсортированном массивС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° n. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая асимптотичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ поиска Π² отсортированном массивС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° n. Π€ΠΎΡ‚ΠΎ какая асимптотичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ поиска Π² отсортированном массивС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° n

Π‘Ρ€Π°Π²Π½ΠΈΠ²Π°Π΅ΠΌ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ 8 мСньшС, Ρ‡Π΅ΠΌ 13. УмСньшаСм массив Π²Π΄Π²ΠΎΠ΅, Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ элСмСнт посСрСдинС ΠΈ Π΄Π΅Π»Π°Π΅ΠΌ Π΅Ρ‰Π΅ ΠΎΠ΄Π½ΠΎ сравнСниС. ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΡΠ΅ΠΌ процСсс, ΠΏΠΎΠΊΠ° Π½Π΅ останСтся ΠΎΠ΄ΠΈΠ½ элСмСнт Π² массивС. ПослСднСС сравнСниС Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½ΡƒΠΆΠ½Ρ‹ΠΉ элСмСнт. Π›ΡƒΡ‡ΡˆΠ΅Π΅ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ событий – Ссли пСрвая выбранная ΠΌΠ΅Π΄ΠΈΠ°Π½Π° ΠΈ Π΅ΡΡ‚ΡŒ вашС число. Но Π² Ρ…ΡƒΠ΄ΡˆΠ΅ΠΌ случаС Π²Ρ‹ ΡΠΎΠ²Π΅Ρ€ΡˆΠΈΡ‚Π΅ log_2(n) сравнСний.

Π’ΠΎ ΠΆΠ΅ самоС ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚, Ссли Π²Π°ΠΌ Π½Π°Π΄ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΉΡ‚ΠΈΡΡŒ ΠΏΠΎ элСмСнтам Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива.

ИспользованиС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π² O(n^2) ΠΈ Π²Ρ‹ΡˆΠ΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ функция 2^n ), являСтся ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΎΠΉ. Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², Ссли Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ваша ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° Π·Π° ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎΠ΅ врСмя ΠΈ Π·Π°Π½ΠΈΠΌΠ°Π»Π° ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ количСство памяти.

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

ΠΊΠ°ΠΊ Ρ€Π°ΡΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ поиска

Π― ΡΠ»Ρ‹ΡˆΠ°Π», ΠΊΠ°ΠΊ ΠΊΡ‚ΠΎ-Ρ‚ΠΎ сказал, Ρ‡Ρ‚ΠΎ ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ поиск Π΄Π΅Π»ΠΈΡ‚ ΠΏΠΎΠΏΠΎΠ»Π°ΠΌ Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для поиска, Ρ‚ΠΎ это Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ log (n). Π’Π°ΠΊ ΠΊΠ°ΠΊ я Π½Π΅ имСю матСматичСского образования, я Π½Π΅ ΠΌΠΎΠ³Ρƒ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΊ Π½Π΅ΠΌΡƒ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅. ΠœΠΎΠΆΠ΅Ρ‚ ΠΊΡ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ это Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅? это ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΊ логарифмичСской сСрии?

Π—Π΄Π΅ΡΡŒ Π±ΠΎΠ»Π΅Π΅ матСматичСский способ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ это, хотя ΠΈ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ слоТно. ИМО Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ понятнСС, Ρ‡Π΅ΠΌ Π½Π΅Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅:

Вопрос Π² Ρ‚ΠΎΠΌ, сколько Ρ€Π°Π· Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ N Π½Π° 2, ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ 1? По сути, это Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ поиск (ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° элСмСнтов), ΠΏΠΎΠΊΠ° Π²Ρ‹ Π½Π΅ нашли Π΅Π³ΠΎ. Π’ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅ это Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π°ΠΊ:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ сдСлайтС ΠΆΡƒΡ€Π½Π°Π» 2 :

это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΆΡƒΡ€Π½Π°Π» N Ρ€Π°Π·, ΠΏΠΎΠΊΠ° Ρƒ вас всС Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΎ. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π΄Π΅Π»ΠΈΡ‚ΡŒ log N (Β«Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ поиск»), ΠΏΠΎΠΊΠ° Π½Π΅ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ свой элСмСнт.

Для Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ поиска T (N) = T (N / 2) + O (1) // Ρ€Π΅ΠΊΡƒΡ€Ρ€Π΅Π½Ρ‚Π½ΠΎΠ΅ ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅

ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΎΡ€Π΅ΠΌΡƒ ΠœΠ°ΡΡ‚Π΅Ρ€Π° для вычислСния слоТности Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния Ρ€Π΅ΠΊΡƒΡ€Ρ€Π΅Π½Ρ‚Π½Ρ‹Ρ… ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ: T (N) = aT (N / b) + f (N)

Π—Π΄Π΅ΡΡŒ a = 1, b = 2 => log (Π±Π°Π·Π° b) = 1

Ρ‚Π°ΠΊΠΆΠ΅ здСсь f (N) = n ^ c log ^ k (n) // k = 0 & c = log (основаниС b)

Π˜Ρ‚Π°ΠΊ, T (N) = O (N ^ c log ^ (k + 1) N) = O (log (N))

T (n / 2) = T (n / 4) + 1 + 1

Как ΠΌΡ‹ взяли 2 ^ k = n

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π’Ρ€Π΅ΠΌΠ΅Π½ΠΈ O (log n)

Π­Ρ‚ΠΎ Π½Π΅ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ поиска, это Π½Π΅ сдСлало Π±Ρ‹ это log (n). Π­Ρ‚ΠΎ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ это логарифмичСски. Π—Π°Π΄ΡƒΠΌΠ°ΠΉΡ‚Π΅ΡΡŒ ΠΎΠ± этом Π½Π° ΠΌΠ³Π½ΠΎΠ²Π΅Π½ΠΈΠ΅. Если Ρƒ вас 128 записСй Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΈ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΊΠ°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ, Ρ‚ΠΎ, вСроятно, потрСбуСтся ΠΎΠΊΠΎΠ»ΠΎ 64 записСй Π² срСднСм, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ вашС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π­Ρ‚ΠΎ Π½ / 2 ΠΈΠ»ΠΈ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ΅ врСмя. ΠŸΡ€ΠΈ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠΌ поискС Π²Ρ‹ устраняСтС 1/2 Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… записСй Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ самоС большСС потрСбуСтся всСго 7 сравнСний, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ вашС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (логарифмичСская Π±Π°Π·Π° 2 ΠΈΠ· 128 Ρ€Π°Π²Π½Π° 7 ΠΈΠ»ΠΈ 2, Π° ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ 7 Ρ€Π°Π²Π½Π° 128). сила Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ поиска.

2,85. Log2 (7) составляСт

2,81. Π£ мСня Π½Π΅Ρ‚ матСматичСского Ρ„ΠΎΠ½Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ Π² 0,04, Π½ΠΎ я Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ это связано с отсутствиСм Π΄Ρ€ΠΎΠ±Π½Ρ‹Ρ… Π±ΠΈΡ‚ΠΎΠ² ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΌΠ°Π³ΠΈΠ΅ΠΉ πŸ™‚

Π­Ρ‚ΠΎ просто Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ матСматичСский ΠΆΠ°Ρ€Π³ΠΎΠ½ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π΄ΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ утвСрТдСния ΠΈ Ρ‚. Π”. Он ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ простоС объяснСниС. Когда n становится ΠΎΡ‡Π΅Π½ΡŒ большим, функция log n Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒ врСмя, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ для выполнСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π Π°Π·ΠΌΠ΅Ρ€ Β«Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π°Β», n, это просто Π΄Π»ΠΈΠ½Π° списка.

ΠŸΡ€ΠΎΡ‰Π΅ говоря, ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ поиска Π² O (log n) состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π²Π΄Π²ΠΎΠ΅ сокращаСт Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ Π½Π°Π±ΠΎΡ€ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ. ΠŸΡ€ΠΎΡ‰Π΅ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎΠ± этом Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ ситуации. На x итСрациях, ΠΊΠ°ΠΊΠΎΠΉ Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ список ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ поиска Π² max? ΠžΡ‚Π²Π΅Ρ‚ 2 ^ Ρ…. ΠžΡ‚ΡΡŽΠ΄Π° Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, Π² срСднСм Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ поиска трСбуСтся log2 n ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ для списка Π΄Π»ΠΈΠ½Ρ‹ n.

Если Π²Ρ‹ посмотритС Π½Π° простой ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄. Π’Ρ‹ просто удаляСтС ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρƒ элСмСнтов для поиска, ΠΏΠΎΠΊΠ° Π½Π΅ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ Π½ΡƒΠΆΠ½Ρ‹ΠΉ элСмСнт.

Π’ΠΎΡ‚ объяснСниС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π»ΠΈ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ.

Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ Ρ…ΡƒΠ΄ΡˆΠΈΠΉ случай Π±ΡƒΠ΄Π΅Ρ‚

Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ…ΡƒΠ΄ΡˆΠΈΠΉ случай, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ достигаСтС N / 2 x, Π³Π΄Π΅ x Ρ‚Π°ΠΊΠΎΠ², Ρ‡Ρ‚ΠΎ 2 x = N

Π’ Π΄Ρ€ΡƒΠ³ΠΈΡ… случаях N / 2 x, Π³Π΄Π΅ x Ρ‚Π°ΠΊΠΎΠ², Ρ‡Ρ‚ΠΎ 2 x x = N
=> log 2 (2 x ) = log 2 (N)
=> x * log 2 (2) = log 2 (N)
=> x * 1 = log 2 (N)
=> Π‘ΠΎΠ»Π΅Π΅ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ ⌊log 2 (N) + 1βŒ‹

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

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

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