Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π³Ρ€ΠΎΠΊΠ°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹

Β«Π“Ρ€ΠΎΠΊΠ°Π΅ΠΌ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹Β»: ΠΎΠ±Π·ΠΎΡ€ самой Π»ΡƒΡ‡ΡˆΠ΅ΠΉ ΠΊΠ½ΠΈΠ³ΠΈ ΠΏΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌ

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π³Ρ€ΠΎΠΊΠ°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π³Ρ€ΠΎΠΊΠ°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π³Ρ€ΠΎΠΊΠ°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π³Ρ€ΠΎΠΊΠ°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π³Ρ€ΠΎΠΊΠ°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹

Π’ΠΎΡ‚ ΠΌΡ‹ ΠΈ Π΄ΠΎΠ±Ρ€Π°Π»ΠΈΡΡŒ Π΄ΠΎ ΠΎΠ±Π·ΠΎΡ€Π° ΠΊΠ½ΠΈΠ³ΠΈ, Ρ‚Π°ΠΊ любимой ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ программистами. И Π½Π΅ Π²Π°ΠΆΠ½ΠΎ, Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС Π²Ρ‹ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ β€” Π²Ρ‹ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎ Π½Π΅ΠΉ ΡΠ»Ρ‹ΡˆΠ°Π»ΠΈ. Β«Π“Ρ€ΠΎΠΊΠ°Π΅ΠΌ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹Β» Π½Π°ΡƒΡ‡ΠΈΡ‚ вас алгоритмичСски ΠΌΡ‹ΡΠ»ΠΈΡ‚ΡŒ ΠΈ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ Ρ€Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ.

Python ΠΈΠ·ΡƒΡ‡ΠΈΠ»ΠΈ, web-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Django Ρ‚ΠΎΠΆΠ΅, ΠΏΡ€ΠΎ машинноС ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π²ΠΎΠΎΠ±Ρ‰Π΅ молчим… Но это всё практичСски бСсполСзно Π±Π΅Π· знания Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ². Π‘Ρ‚ΠΎΠΈΡ‚ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ собСсСдованиях Π½Π° Junior ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ, нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС Π²Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅Ρ‚Π΅, Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡ… ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ. А Ссли Π²Ρ‹ middle ΠΈΠ»ΠΈ senior dev, Ρ‚ΠΎ ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Π±ΡƒΠ΄ΡƒΡ‚ послоТнСС.

НСмного ΠΎΠ± Π°Π²Ρ‚ΠΎΡ€Π΅

ΠΠ΄ΠΈΡ‚ΡŒΡ Π‘Ρ…Π°Ρ€Π³Π°Π²Π° β€” программист ΠΈΠ· ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Etsy. Π’ своС врСмя Π΄Π°ΠΆΠ΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ магистра матСматичСских Π½Π°ΡƒΠΊ (Π°, ΠΊΠ°ΠΊ Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΈ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ° Π±Π΅Π·Ρ€Π°Π·Ρ€Ρ‹Π²Π½ΠΎ связаны). Π’ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π΅Ρ‰Π΅ ΠΈ Π²Π΅Π΄Π΅Ρ‚ свой Π±Π»ΠΎΠ³ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ Π½Π° Ρ‚Π΅Ρ…Π½ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΡƒ.

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

ΠŸΡ€ΠΎΠΉΠ΄Π΅ΠΌΡΡ ΠΏΠΎ оглавлСнию, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, с Ρ‡Π΅ΠΌ Π½Π°ΠΌ придСтся Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ:

А Π² Ρ‡Π΅ΠΌ ΡΡƒΡ‚ΡŒ?

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

ПодвСдСм ΠΈΡ‚ΠΎΠ³ΠΈ

ΠšΠ½ΠΈΠ³Ρƒ ΠΌΠΎΠΆΠ½ΠΎ смСло Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Ρ‚ΡŒ Π²ΠΎΠΎΠ±Ρ‰Π΅ всСм. Π’Π΅, ΠΊΡ‚ΠΎ ΡƒΠΆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚, смогут Π»Π΅Π³ΠΊΠΎ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ с Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌΠΈ. Π’Π΅, ΠΊΡ‚ΠΎ Π΄Π°ΠΆΠ΅ Π½Π΅ Π½Π°Ρ‡ΠΈΠ½Π°Π», смогут ΠΎΡ‡Π΅Π½ΡŒ быстро Π½Π°Ρ‡Π°Ρ‚ΡŒ. Π˜Π»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ быстро Π²ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒΡΡ Π² Ρ‚Π΅ΠΌΡƒ, Π° мноТСство ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠΉ ΠΏΡ€ΠΎΡ‡Π½ΠΎ Π·Π°ΠΊΡ€Π΅ΠΏΠΈΡ‚ ваши знания.

Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ· нашСго Telegram-ΠΊΠ°Π½Π°Π»Π° β€” Β«Π“Ρ€ΠΎΠΊΠ°Π΅ΠΌ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹Β».

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

Книга Β«Π“Ρ€ΠΎΠΊΠ°Π΅ΠΌ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹. Π˜Π»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ пособиС для программистов ΠΈ Π»ΡŽΠ±ΠΎΠΏΡ‹Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ…Β»

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π³Ρ€ΠΎΠΊΠ°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π³Ρ€ΠΎΠΊΠ°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π³Ρ€ΠΎΠΊΠ°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π³Ρ€ΠΎΠΊΠ°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π³Ρ€ΠΎΠΊΠ°Ρ‚ΡŒ алгоритмыАлгоритмы β€” это всСго лишь ΠΏΠΎΡˆΠ°Π³ΠΎΠ²Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡, ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Ρ‚Π°ΠΊΠΈΡ… Π·Π°Π΄Π°Ρ‡ ΡƒΠΆΠ΅ Π±Ρ‹Π»ΠΈ ΠΊΠ΅ΠΌ-Ρ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½Ρ‹, протСстированы ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Ρ‹. МоТно, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΏΠΎΠ³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΡΡ Π² Π³Π»ΡƒΠ±ΠΎΠΊΡƒΡŽ Ρ„ΠΈΠ»ΠΎΡΠΎΡ„ΠΈΡŽ гСниального ΠšΠ½ΡƒΡ‚Π°, ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ многостраничныС Ρ„ΠΎΠ»ΠΈΠ°Π½Ρ‚Ρ‹ с Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π°ΠΌΠΈ ΠΈ обоснованиями, Π½ΠΎ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π»ΠΈ Π²Ρ‹ Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π½Π° это своС врСмя?

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π²Π΅Π»ΠΈΠΊΠΎΠ»Π΅ΠΏΠ½ΠΎ ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ, ΠΈ Π²Ρ‹ сразу ΠΏΠΎΠΉΠΌΠ΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ β€” это просто. А Π³Ρ€ΠΎΠΊΠ°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ β€” это вСсСлоС ΠΈ ΡƒΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ занятиС.

О книгС

Π― (ΠΠ΄ΠΈΡ‚ΡŒΡ Π‘Ρ…Π°Ρ€Π³Π°Π²Π°) ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго стрСмился ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠ½ΠΈΠ³Π° Π»Π΅Π³ΠΊΠΎ Ρ‡ΠΈΡ‚Π°Π»Π°ΡΡŒ. Π― избСгаю Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚ΠΎΠ²; ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π² ΠΊΠ½ΠΈΠ³Π΅ упоминаСтся новая концСпция, я Π»ΠΈΠ±ΠΎ объясняю Π΅Π΅ сразу, Π»ΠΈΠ±ΠΎ Π³ΠΎΠ²ΠΎΡ€ΡŽ, Π³Π΄Π΅ Π±ΡƒΠ΄Ρƒ ΠΎΠ±ΡŠΡΡΠ½ΡΡ‚ΡŒ. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ ΠΏΠΎΠ΄ΠΊΡ€Π΅ΠΏΠ»ΡΡŽΡ‚ΡΡ упраТнСниями ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½Ρ‹ΠΌΠΈ объяснСниями, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ свои прСдполоТСния ΠΈ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π½Π΅ потСряли Π½ΠΈΡ‚ΡŒ излоТСния.

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

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ Π±Ρ‹Π»ΠΎ Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΌΠ°Π½ΠΎ. НСт смысла ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ с описаниСм всСх Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² сортировки β€” для этого Π΅ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ источники, ΠΊΠ°ΠΊ ВикипСдия ΠΈ Khan Academy. ВсС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹, описанныС Π² ΠΊΠ½ΠΈΠ³Π΅, ΠΈΠΌΠ΅ΡŽΡ‚ ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ†Π΅Π½Π½ΠΎΡΡ‚ΡŒ. Π― примСнял ΠΈΡ… Π² своСй Ρ€Π°Π±ΠΎΡ‚Π΅ программиста, ΠΈ ΠΎΠ½ΠΈ Π·Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‚ Ρ…ΠΎΡ€ΠΎΡˆΡƒΡŽ основу для изучСния Π±ΠΎΠ»Π΅Π΅ слоТных Ρ‚Π΅ΠΌ.

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΊΠ½ΠΈΠ³ΠΈ

Π’ ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Ρ‚Ρ€Π΅Ρ… Π³Π»Π°Π²Π°Ρ… Π·Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‚ΡΡ основы:

Π“Π»Π°Π²Π° 1 β€” Π²Ρ‹ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚Π΅ свой ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π½Π΅Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ: Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ поиск. Π’Π°ΠΊΠΆΠ΅ здСсь Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ основы Π°Π½Π°Π»ΠΈΠ·Π° скорости Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Β«O-большоС». Π­Ρ‚Π° запись часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΊΠ½ΠΈΠ³Π΅ для описания ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ быстроты выполнСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ².

Π“Π»Π°Π²Π° 2 β€” Π²Ρ‹ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚Π΅ΡΡŒ с двумя ΠΎΡΠ½ΠΎΠ²ΠΎΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‰ΠΈΠΌΠΈ структурами Π΄Π°Π½Π½Ρ‹Ρ…: массивами ΠΈ связанными списками. Π­Ρ‚ΠΈ структуры Π΄Π°Π½Π½Ρ‹Ρ… часто Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ Π² ΠΊΠ½ΠΈΠ³Π΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для создания Π±ΠΎΠ»Π΅Π΅ слоТных структур Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ…Π΅Ρˆ-Ρ‚Π°Π±Π»ΠΈΡ† (Π³Π»Π°Π²Π° 5).

Π“Π»Π°Π²Π° 3 β€” Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅ ΠΎ рСкурсии β€” ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΌ ΠΏΡ€ΠΈΠ΅ΠΌΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠΌ быстрой сортировки, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ рассказано Π² Π³Π»Π°Π²Π΅ 4).

По ΠΌΠΎΠ΅ΠΌΡƒ ΠΎΠΏΡ‹Ρ‚Ρƒ, Ρ‚Π΅ΠΌΡ‹ Β«O-большоС» ΠΈ рСкурсии слоТны для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ², поэтому Π² этих Ρ€Π°Π·Π΄Π΅Π»Π°Ρ… я сниТаю Ρ‚Π΅ΠΌΠΏ излоТСния ΠΈ ΠΏΡ€ΠΈΠ²ΠΎΠΆΡƒ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ объяснСния. Π’ ΠΎΡΡ‚Π°Π²ΡˆΠ΅ΠΉΡΡ части ΠΊΠ½ΠΈΠ³ΠΈ прСдставлСны Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹, часто примСняСмыС Π² Ρ€Π°Π·Π½Ρ‹Ρ… областях.

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

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

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

Алгоритм k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй рассматриваСтся Π² Π³Π»Π°Π²Π΅ 10. Π­Ρ‚ΠΎ простой Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ машинного обучСния; с Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ систСму, ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ оптичСского распознавания тСкста, систСму прогнозирования курсов Π°ΠΊΡ†ΠΈΠΉ β€” словом, всСго, Ρ‡Ρ‚ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ прогнозирования Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ (Β«ΠœΡ‹ Π΄ΡƒΠΌΠ°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Адит поставит этому Ρ„ΠΈΠ»ΡŒΠΌΡƒ 4 Π·Π²Π΅Π·Π΄Ρ‹Β») ΠΈΠ»ΠΈ классификации ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (Β«Π­Ρ‚ΠΎ Π±ΡƒΠΊΠ²Π° QΒ»).

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ шаг: Π² Π³Π»Π°Π²Π΅ 11 прСдставлСны 10 Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΠΎΠ΄ΠΎΠΉΠ΄ΡƒΡ‚ для дальнСйшСго изучСния Ρ‚Π΅ΠΌΡ‹.

Для ΠΊΠΎΠ³ΠΎ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° эта ΠΊΠ½ΠΈΠ³Π°

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

А ΠΌΠΎΠΆΠ΅Ρ‚, Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Π³Π΄Π΅ Π²Π°ΠΌ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ³ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ ΠΈ Π½Π΅ΠΏΠΎΠ»Π½Ρ‹ΠΉ список людСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ³ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ ΠΊΠ½ΠΈΠ³Π°:

β€” программисты-самоучки;
β€” студСнты, Π½Π°Ρ‡Π°Π²ΡˆΠΈΠ΅ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅;
β€” выпускники, ΠΆΠ΅Π»Π°ΡŽΡ‰ΠΈΠ΅ ΠΎΡΠ²Π΅ΠΆΠΈΡ‚ΡŒ ΠΏΠ°ΠΌΡΡ‚ΡŒ;
β€” спСциалисты ΠΏΠΎ Ρ„ΠΈΠ·ΠΈΠΊΠ΅/ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅/Π΄Ρ€ΡƒΠ³ΠΈΠΌ дисциплинам, ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‰ΠΈΠ΅ΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ.

Об Π°Π²Ρ‚ΠΎΡ€Π΅

ΠΠ΄ΠΈΡ‚ΡŒΡ Π‘Ρ…Π°Ρ€Π³Π°Π²Π° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ программистом Π² Etsy, ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-Ρ€Ρ‹Π½ΠΊΠ΅ авторских Ρ€Π°Π±ΠΎΡ‚. Он ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ магистра ΠΏΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ Π² Чикагском унивСрситСтС ΠΈ Π²Π΅Π΄Π΅Ρ‚ популярный ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ тСхничСский Π±Π»ΠΎΠ³ adit.io.

Для Π₯Π°Π±Ρ€ΠΎΠΆΠΈΡ‚Π΅Π»Π΅ΠΉ скидка 25% ΠΏΠΎ ΠΊΡƒΠΏΠΎΠ½Ρƒ β€” Алгоритмы

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

ΠšΠΎΠ½ΡΠΏΠ΅ΠΊΡ‚ ΠΊΠ½ΠΈΠ³ΠΈ Β«Π“Ρ€ΠΎΠΊΠ°Π΅ΠΌ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹Β» ΠΠ΄ΠΈΡ‚ΡŒΡ Π‘Ρ…Π°Ρ€Π³Π°Π²Π°

Π“Π»Π°Π²Π° 1. Знакомство с Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌΠΈ

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚?

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ значСния элСмСнта Π² сСрСдинС структуры Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ сравниваСтся с ΠΊΠ»ΡŽΡ‡ΠΎΠΌ.

Если ΠΊΠ»ΡŽΡ‡ мСньшС значСния сСрСдины, Ρ‚ΠΎ поиск осущСствляСтся Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π΅ элСмСнтов, ΠΈΠ½Π°Ρ‡Π΅ β€” Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ.

Поиск сводится ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ вновь опрСдСляСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ сСрСдинного элСмСнта Π² Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π΅ ΠΈ сравниваСтся с ΠΊΠ»ΡŽΡ‡ΠΎΠΌ.

ΠŸΡ€ΠΎΡ†Π΅ΡΡ продолТаСтся Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΉΠ΄Π΅Π½ элСмСнт со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠ»ΡŽΡ‡Π° ΠΈΠ»ΠΈ Π½Π΅ станСт пустым ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» для поиска.

РСализация Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π½Π° JavaScript:

«О-большоС» описываСт ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°.
«О-большоС» опрСдСляСт Ρ…ΡƒΠ΄ΡˆΠ΅Π΅ врСмя выполнСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°.

Π“Π»Π°Π²Π° 2. Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚?

Π½Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π½ΠΎΠΌΠ΅Ρ€ минимального значСния Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ спискС

ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌ ΠΎΠ±ΠΌΠ΅Π½ этого значСния со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ΅Ρ€Π²ΠΎΠΉ нСотсортированной ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ

Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ сортируСм хвост списка, ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΠ² ΠΈΠ· рассмотрСния ΡƒΠΆΠ΅ отсортированныС элСмСнты

РСализация Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π½Π° JavaScript:

Π“Π»Π°Π²Π° 3. РСкурсия

КаТдая рСкурсивная функция состоит ΠΈΠ· Π΄Π²ΡƒΡ… случаСв: Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΈ рСкурсивный.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ рСкурсивной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для подсчёта суммы элСмСнтов массива:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π³Ρ€ΠΎΠΊΠ°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π³Ρ€ΠΎΠΊΠ°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π³Ρ€ΠΎΠΊΠ°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π³Ρ€ΠΎΠΊΠ°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π³Ρ€ΠΎΠΊΠ°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹

Когда Π²Ρ‹ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π°Ρ функция приостанавливаСтся Π² частично Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎΠΌ состоянии.

ВсС Π²Ρ‹Π·ΠΎΠ²Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π² стСкС Π²Ρ‹Π·ΠΎΠ²ΠΎΠ².

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

Один ΠΈΠ· самых быстрых ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² сортировки массивов. Из-Π·Π° наличия ряда нСдостатков Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠ°ΠΌΠΈ.

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚?

Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠΏΠΎΡ€Π½Ρ‹ΠΉ элСмСнт ΠΈΠ· массива.

РСкурсивно ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π΄Π²Π° шага ΠΊ Π΄Π²ΡƒΠΌ подмассивам слСва ΠΈ справа ΠΎΡ‚ ΠΎΠΏΠΎΡ€Π½ΠΎΠ³ΠΎ элСмСнта. РСкурсия Π½Π΅ примСняСтся ΠΊ массиву, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ элСмСнт ΠΈΠ»ΠΈ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ элСмСнты.

РСализация Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π½Π° JavaScript:

Π‘ΠΎΠ²Π΅Ρ‚: ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΏΠΈΡˆΠΈΡ‚Π΅ Ρ€Π΅ΠΊΡƒΡ€ΡΠΈΠ²Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ задСйствован массив, Π±Π°Π·ΠΎΠ²Ρ‹ΠΌ случаСм часто оказываСтся пустой массив ΠΈΠ»ΠΈ массив ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ элСмСнта.

Π‘Ρ€Π΅Π΄Π½Π΅Π΅ врСмя выполнСния быстрой сортировки составляСт O(n log n).

5. Π₯эш-Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹

Π₯эш-функция Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ трСбованиям:
— Π”ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ
— Π Π°Π·Π½Ρ‹ΠΌ словам Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ числа

Π₯эш-функция Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΎ связываСт Π½Π°Π·Π²Π°Π½ΠΈΠ΅ с ΠΎΠ΄Π½ΠΈΠΌ индСксом, связываСт Ρ€Π°Π·Π½Ρ‹Π΅ строки с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ индСксами, Π·Π½Π°Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ массива ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ индСксы.

Ρ…ΡΡˆ-Ρ‚Π°Π±Π»ΠΈΡ†Π° = Ρ…ΡΡˆ-функция + массив

Π₯эш-Ρ‚Π°Π±Π»ΠΈΡ†Π° состоит ΠΈΠ· ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования Ρ…ΡΡˆ-Ρ‚Π°Π±Π»ΠΈΡ†:
— Поиск
— Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚ΠΎΠ²
— Кэш

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ:
— Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ
— МСньшая Π·Π°Ρ‚Ρ€Π°Ρ‚Π° рСсурсов сСрвСра

ΠšΠ΅ΡˆΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ хранятся Π² Ρ…ΡΡˆΠ΅.

Π₯ΠΎΡ€ΠΎΡˆΠ°Ρ Ρ…ΡΡˆ-функция создаёт минимальноС число ΠΊΠΎΠ»Π»ΠΈΠ·ΠΈΠΉ.

Π’ срСднСм Ρ…ΡΡˆ-Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ Π»ΡŽΠ±Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π·Π° врСмя O(1). Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΈ любом Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅ Ρ…ΡΡˆ-Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π²Ρ‹Π±ΠΎΡ€ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… Π·Π°ΠΉΠΌΡ‘Ρ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅ врСмя.

Для прСдотвращСния ΠΊΠΎΠ»Π»ΠΈΠ·ΠΈΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹:
— Π½ΠΈΠ·ΠΊΠΈΠΉ коэффициСнт заполнСния
— Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ Ρ…ΡΡˆ-функция

6. Поиск Π² ΡˆΠΈΡ€ΠΈΠ½Ρƒ

ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Π½Π°ΠΉΡ‚ΠΈ ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅Π΅ расстояниС ΠΌΠ΅ΠΆΠ΄Ρƒ двумя ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ.

Алгоритм Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Π³Ρ€Π°Ρ„Π°ΠΌΠΈ. Он ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ Π½Π° вопросы:
— сущСствуСт Π»ΠΈ ΠΏΡƒΡ‚ΡŒ ΠΎΡ‚ ΡƒΠ·Π»Π° A ΠΊ ΡƒΠ·Π»Ρƒ B?
— ΠΊΠ°ΠΊ выглядит ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠΈΠΉ ΠΏΡƒΡ‚ΡŒ ΠΎΡ‚ ΡƒΠ·Π»Π° A ΠΊ ΡƒΠ·Π»Ρƒ B?

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚?

ΠŸΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΡƒΠ·Π΅Π», с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ начинаСтся поиск, Π² ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΏΡƒΡΡ‚ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ.

Π˜Π·Π²Π»Π΅Ρ‡ΡŒ ΠΈΠ· Π½Π°Ρ‡Π°Π»Π° ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ ΡƒΠ·Π΅Π» U ΠΈ ΠΏΠΎΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΊΠ°ΠΊ Ρ€Π°Π·Π²Ρ‘Ρ€Π½ΡƒΡ‚Ρ‹ΠΉ.

Если ΡƒΠ·Π΅Π» U являСтся Ρ†Π΅Π»Π΅Π²Ρ‹ΠΌ ΡƒΠ·Π»ΠΎΠΌ, Ρ‚ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ поиск с Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ «успСх».

Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС, Π² ΠΊΠΎΠ½Π΅Ρ† ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ всС ΠΏΡ€Π΅Π΅ΠΌΠ½ΠΈΠΊΠΈ ΡƒΠ·Π»Π° U, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅Ρ‰Ρ‘ Π½Π΅ Ρ€Π°Π·Π²Ρ‘Ρ€Π½ΡƒΡ‚Ρ‹ ΠΈ Π½Π΅ находятся Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ.

Если ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ пуста, Ρ‚ΠΎ всС ΡƒΠ·Π»Ρ‹ связного Π³Ρ€Π°Ρ„Π° Π±Ρ‹Π»ΠΈ просмотрСны, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ†Π΅Π»Π΅Π²ΠΎΠΉ ΡƒΠ·Π΅Π» нСдостиТим ΠΈΠ· Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ; Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ поиск с Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Β«Π½Π΅ΡƒΠ΄Π°Ρ‡Π°Β».

РСализация Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π½Π° JavaScript:

Поиск Π² ΡˆΠΈΡ€ΠΈΠ½Ρƒ выполняСтся Π·Π° врСмя O(ΠΊΠΎΠ»-Π²ΠΎ Π²Π΅Ρ€ΡˆΠΈΠ½ + ΠΊΠΎΠ»-Π²ΠΎ Ρ€Ρ‘Π±Π΅Ρ€).

7. Алгоритм ДСйкстры

Алгоритм ДСйкстры вычисляСт ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠΈΠΉ ΠΏΡƒΡ‚ΡŒ Π²ΠΎ взвСшСнном Π³Ρ€Π°Ρ„Π΅.

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚?

Найти ΡƒΠ·Π΅Π» с наимСньшСй ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΡŽ

ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ стоимости сосСдСй

ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒ, ΠΏΠΎΠΊΠ° это Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ сдСлано для всСх ΡƒΠ·Π»ΠΎΠ² Π³Ρ€Π°Ρ„Π°

Π’Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ ΠΈΡ‚ΠΎΠ³ΠΎΠ²Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ

РСализация Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π½Π° JavaScript:

Алгоритм ДСйкстры Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹ΠΌΠΈ ацикличСскими Π³Ρ€Π°Ρ„Π°ΠΌΠΈ.

ΠšΠ»ΡŽΡ‡Π΅Π²Π°Ρ идСя Алгоритма ДСйкстры: Π² Π³Ρ€Π°Ρ„Π΅ ищСтся ΠΏΡƒΡ‚ΡŒ с наимСньшСй ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΡŽ. ΠŸΡƒΡ‚ΠΈ ΠΊ этому ΡƒΠ·Π»Ρƒ с мСньшими Π·Π°Ρ‚Ρ€Π°Ρ‚Π°ΠΌΠΈ Π½Π΅ сущСствуСт.

ΠŸΡ€ΠΎΡ…ΠΎΠ΄Ρ ΠΏΠΎ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ ΡƒΠ·Π»Π°ΠΌ Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ, ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ.

ΠšΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠΈΠΉ ΠΏΡƒΡ‚ΡŒ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ всСгда связываСтся с физичСским расстояниСм: ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ Π½Π° ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ характСристики.

Алгоритм ДСйкстры Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Ρ€Ρ‘Π±Π΅Ρ€ с ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ вСсом. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π‘Π΅Π»Π»ΠΌΠ°Π½Π°-Π€ΠΎΡ€Π΄Π°.

8. Π–Π°Π΄Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹

Π’ тСхничСской Ρ‚Ρ€Π΅ΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ: Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ шагС выбираСтся локально-ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, Π° Π² ΠΈΡ‚ΠΎΠ³Π΅ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ глобально-ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅.

ДоказываСтся, Ρ‡Ρ‚ΠΎ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠΌ шагС Π½Π΅ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡƒΡ‚ΠΈ ΠΊ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ: для всякого Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π΅ΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠ΅, согласованноС с ΠΆΠ°Π΄Π½Ρ‹ΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ ΠΈ Π½Π΅ Ρ…ΡƒΠΆΠ΅ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ.

ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄Π·Π°Π΄Π°Ρ‡Π°, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰Π°Ρ послС ΠΆΠ°Π΄Π½ΠΎΠ³ΠΎ Π²Ρ‹Π±ΠΎΡ€Π° Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠΌ шагС, Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Π° исходной.

РассуТдСниС Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ ΠΏΠΎ ΠΈΠ½Π΄ΡƒΠΊΡ†ΠΈΠΈ.

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях достаточно Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, способного Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ достаточно Ρ…ΠΎΡ€ΠΎΡˆΠΎ. Π–Π°Π΄Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ΡΡ просто, Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π±Π»ΠΈΠ·ΠΊΠΎ ΠΊ ΠΎΠΏΡ‚ΠΈΠΌΡƒΠΌΡƒ.

Когда вычислСниС Ρ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ слишком ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, примСняСтся ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ΅Π½Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ.

Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° оцСниваСтся ΠΏΠΎ:
— быстротС
— близости ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ

9. ДинамичСскоС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

ДинамичСскоС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ примСняСтся для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ характСристики ΠΏΡ€ΠΈ Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… ограничСниях.

10. Алгоритм k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй

Если Π²Ρ‹ ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠ»Π°ΡΡΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ Ρ‡Π΅Π³ΠΎ-Π»ΠΈΠ±ΠΎ, сначала ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ примСнСния: классификация ΠΈ рСгрСссия:
1. классификация = распрСдСлСниС ΠΏΠΎ катСгориям
2. рСгрСссия = ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡ‚Π²Π΅Ρ‚Π° (Π² числовом Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ)

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

ΠžΠ±Π·ΠΎΡ€ Π½Π° ΠΊΠ½ΠΈΠ³Ρƒ Β«Π“Ρ€ΠΎΠΊΠ°Π΅ΠΌ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹Β» ΠΠ΄ΠΈΡ‚ΡŒΡ Π‘Ρ…Π°Ρ€Π³Π°Π²Π°

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π³Ρ€ΠΎΠΊΠ°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π³Ρ€ΠΎΠΊΠ°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π³Ρ€ΠΎΠΊΠ°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π³Ρ€ΠΎΠΊΠ°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π³Ρ€ΠΎΠΊΠ°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹

Алгоритмы β€” это всСго лишь ΠΏΠΎΡˆΠ°Π³ΠΎΠ²Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡, ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Ρ‚Π°ΠΊΠΈΡ… Π·Π°Π΄Π°Ρ‡ ΡƒΠΆΠ΅ Π±Ρ‹Π»ΠΈ ΠΊΠ΅ΠΌ-Ρ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½Ρ‹, протСстированы ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Ρ‹. МоТно, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΏΠΎΠ³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΡΡ Π² Π³Π»ΡƒΠ±ΠΎΠΊΡƒΡŽ Ρ„ΠΈΠ»ΠΎΡΠΎΡ„ΠΈΡŽ гСниального ΠšΠ½ΡƒΡ‚Π°, ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ многостраничныС Ρ„ΠΎΠ»ΠΈΠ°Π½Ρ‚Ρ‹ с Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π°ΠΌΠΈ ΠΈ обоснованиями, Π½ΠΎ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π»ΠΈ Π²Ρ‹ Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π½Π° это своС врСмя? ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π²Π΅Π»ΠΈΠΊΠΎΠ»Π΅ΠΏΠ½ΠΎ ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ Β«Π“Ρ€ΠΎΠΊΠ°Π΅ΠΌ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹. Π˜Π»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ пособиС для программистов ΠΈ Π»ΡŽΠ±ΠΎΠΏΡ‹Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ…Β» ΠΈ Π²Ρ‹ сразу ΠΏΠΎΠΉΠΌΠ΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ β€” это просто. А Π³Ρ€ΠΎΠΊΠ°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ β€” это вСсСлоС ΠΈ ΡƒΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ занятиС.

ΠΠ±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ нСпонятноС ΠΈ ΡΡ‚Ρ€Π°ΡˆΠ½ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅. К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅, ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰Π΅Π³ΠΎ программиста ΠΊΠΈΠ΄Π°Π»ΠΎ Π² Π΄Ρ€ΠΎΠΆΡŒ ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ слова β€” Β«Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹Β». И эта ΠΊΠ½ΠΈΠ³Π° Ρ‚ΠΎΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ уТас. Но ΡƒΠΆΠ΅ ΠΎΠ΄Π½Π° ΠΎΠ±Π»ΠΎΠΆΠΊΠ° расслабляСт ваш ΠΌΠΎΠ·Π³. Π­Ρ‚ΠΈ ΠΌΡ‹ΡˆΠΊΠΈ β€” просто любовь.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π³Ρ€ΠΎΠΊΠ°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π³Ρ€ΠΎΠΊΠ°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π³Ρ€ΠΎΠΊΠ°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π³Ρ€ΠΎΠΊΠ°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π³Ρ€ΠΎΠΊΠ°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹

Π˜Π·ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² β€” это Π²Π°ΠΆΠ½Ρ‹ΠΉ этап Π² становлСнии программиста. МоТно сколь ΡƒΠ³ΠΎΠ΄Π½ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ Π² синтаксисС, Π½ΠΎ зная Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΅Π³ΠΎ Π½Π΅ получится Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡ΠΈ с высокой ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒΡŽ эффСктивности. Как ΠΈ Π² любой ΡƒΡ‡Ρ‘Π±Π΅, Π²Π°ΠΆΠ½ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ ΠΈΠ³Ρ€Π°Π΅Ρ‚ Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π°.

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

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

Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, Π² ΠΊΠ½ΠΈΠ³Π΅ Π΅Ρ‰Π΅ Π΅ΡΡ‚ΡŒ мноТСство ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠΉ (с ΠΎΡ‚Π²Π΅Ρ‚Π°ΠΌΠΈ), Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΊΡ€Π΅ΠΏΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΉΠ΄Π΅Π½Π½Ρ‹ΠΉ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, насколько ΠΎΠ½ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ Π±Ρ‹Π» усвоСн.

ΠŸΠ Π˜ΠœΠ•Π  Π—ΠΠ”ΠΠ§Π˜ Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ с Netflix сходство ΠΌΠ΅ΠΆΠ΄Ρƒ двумя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ ΠΎΡ†Π΅Π½ΠΈΒ­Π²Π°Π»ΠΎΡΡŒ ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅ расстояния. Но Π½Π΅ всС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΎΡ†Π΅Π½ΠΈΠ²Π°ΡŽΡ‚ Ρ„ΠΈΠ»ΡŒΠΌΡ‹ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ. Допустим, Π΅ΡΡ‚ΡŒ Π΄Π²Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π™ΠΎΠ³ΠΈ ΠΈ Пинки, вкусы ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚. Но Π™ΠΎΠ³ΠΈ ставит 5 Π±Π°Π»Π»ΠΎΠ² Π»ΡŽΠ±ΠΎΠΌΡƒ Ρ„ΠΈΠ»ΡŒΠΌΡƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΅ΠΌΡƒ понравился, Π° Пинки Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π·Π±ΠΎΡ€Ρ‡ΠΈΠ²Π° ΠΈ ставит «пятСр­ки» Ρ‚ΠΎΠ»ΡŒΠΊΠΎ самым Π»ΡƒΡ‡ΡˆΠΈΠΌ Ρ„ΠΈΠ»ΡŒΠΌΠ°ΠΌ. Π’Ρ€ΠΎΠ΄Π΅ Π±Ρ‹ вкусы ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅, Π½ΠΎ ΠΏΠΎ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ΅ расстояния ΠΎΠ½ΠΈ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ сосСдями. Как ΡƒΡ‡Π΅ΡΡ‚ΡŒ разли­чия Π² стратСгиях выставлСния ΠΎΡ†Π΅Π½ΠΎΠΊ?

Плюс ΠΊΠΎ всСму, Π°Π²Ρ‚ΠΎΡ€ Π΄Π°Π΅Ρ‚ совСты, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π½Ρ‹Π΅ ΠΈ ΡˆΠΈΡ€ΠΎΠΊΠΈΠ΅ знания ΠΏΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ Ρ‚Π΅ΠΌΠ°ΠΌ.

ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΊ ΠΏΡ€ΠΎΡ‡Ρ‚Π΅Π½ΠΈΡŽ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΌ программистам ΠΈ всСм ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‰ΠΈΠΌΡΡ.

Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ: Β«Π“Ρ€ΠΎΠΊΠ°Π΅ΠΌ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹Β» β€” ΠΎΠ΄Π½Π° 18 ΠΊΠ½ΠΈΠ³ ΠΏΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ (ΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ совСтуСм ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ всСм Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΌ программистам.

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

Π“Ρ€ΠΎΠΊΠ°Π΅ΠΌ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹. Π˜Π»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ пособиС для программистов ΠΈ Π»ΡŽΠ±ΠΎΠΏΡ‹Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ…

ΠŸΠΎΡΠΎΠ²Π΅Ρ‚ΡƒΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³Ρƒ Π΄Ρ€ΡƒΠ·ΡŒΡΠΌ! Π”Ρ€ΡƒΠ·ΡŒΡΠΌ – скидка 10%, Π²Π°ΠΌ – Ρ€ΡƒΠ±Π»ΠΈ

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π³Ρ€ΠΎΠΊΠ°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π³Ρ€ΠΎΠΊΠ°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π³Ρ€ΠΎΠΊΠ°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π³Ρ€ΠΎΠΊΠ°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π³Ρ€ΠΎΠΊΠ°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹

Π­Ρ‚Π° ΠΈ Π΅Ρ‰Ρ‘ 2 ΠΊΠ½ΠΈΠ³ΠΈ Π·Π° 299 β‚½

ΠžΡ‚Π·Ρ‹Π²Ρ‹ 20

ΠžΡ‚Π»ΠΈΡ‡Π½Π°Ρ ΠΊΠ½ΠΈΠ³Π°! Π•ΡΡ‚ΡŒ ошибки, Π½ΠΎ ΠΊΠ°ΠΊ я понял, ошибки, ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ Π² этом ΠΈΠ·Π΄Π°Π½ΠΈΠΈ, смотрСл Π±ΠΎΠ»Π΅Π΅ свСТСС ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π² ΠΊΠ½ΠΈΠΆΠ½ΠΎΠΌ ΠΌΠ°Π³Π°Π·ΠΈΠ½Π΅, Ρ‚Π°ΠΌ ΡƒΠΆΠ΅ всС исправлСно. Если Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π΅Π³ΠΎ.

ΠžΡ‚Π»ΠΈΡ‡Π½Π°Ρ ΠΊΠ½ΠΈΠ³Π°! Π•ΡΡ‚ΡŒ ошибки, Π½ΠΎ ΠΊΠ°ΠΊ я понял, ошибки, ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ Π² этом ΠΈΠ·Π΄Π°Π½ΠΈΠΈ, смотрСл Π±ΠΎΠ»Π΅Π΅ свСТСС ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π² ΠΊΠ½ΠΈΠΆΠ½ΠΎΠΌ ΠΌΠ°Π³Π°Π·ΠΈΠ½Π΅, Ρ‚Π°ΠΌ ΡƒΠΆΠ΅ всС исправлСно. Если Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π΅Π³ΠΎ.

ΠžΡ‚Π»ΠΈΡ‡Π½Π°Ρ ΠΊΠ½ΠΈΠ³Π° для старта ΠΈΠ»ΠΈ освСТСния Π·Π½Π°Π½ΠΈΠΉ

ЕдинствСнный нСдостаток – послС прочтСния хочСтся продолТСния ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅ Π² Ρ‚Π°ΠΊΠΎΠΌ ΠΆΠ΅ стилС

ΠžΡ‚Π»ΠΈΡ‡Π½Π°Ρ ΠΊΠ½ΠΈΠ³Π° для старта ΠΈΠ»ΠΈ освСТСния Π·Π½Π°Π½ΠΈΠΉ

ЕдинствСнный нСдостаток – послС прочтСния хочСтся продолТСния ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅ Π² Ρ‚Π°ΠΊΠΎΠΌ ΠΆΠ΅ стилС

Π₯ΠΎΡ€ΠΎΡˆΠ°Ρ ΠΊΠ½ΠΈΠ³Π°. Для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… программистов Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ. МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°Π²Π°Π½ΠΈΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠΈ ΠΈ курсов программированиия.

Π₯ΠΎΡ€ΠΎΡˆΠ°Ρ ΠΊΠ½ΠΈΠ³Π°. Для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… программистов Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ. МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°Π²Π°Π½ΠΈΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠΈ ΠΈ курсов программированиия.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π³Ρ€ΠΎΠΊΠ°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π³Ρ€ΠΎΠΊΠ°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π³Ρ€ΠΎΠΊΠ°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π³Ρ€ΠΎΠΊΠ°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π³Ρ€ΠΎΠΊΠ°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹

Π”ΠΎΠ±ΠΈΠ»Π° ΠΊΠ½ΠΈΠ³Ρƒ, ΠΌΠΎΠ³Ρƒ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ написано ярко с мноТСством ясных ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΠΉ, ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½ΠΎ свСТо ΠΈ ΠΌΠΎΠ»ΠΎΠ΄Ρ‘ΠΆΠ½ΠΎ.

ОсобСнно Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹:

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

Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π·Π°Π΄Π°Ρ‡ΠΈ коммивояТСра

рСкурсия, массивы ΠΈ списки, сСтка Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ²

Π΄Π΅Ρ€Π΅Π²ΠΎ, поиск Π² ΡˆΠΈΡ€ΠΈΠ½Ρƒ, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ДСйкстры

динамичСскоС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (git diff, расстояниС Π›Π΅Π²Π΅Π½ΡˆΡ‚Π΅ΠΉΠ½Π°)

нормализация ΠΈ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ систСма

Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ML (OCR, Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Ρ‹ ΠΈ ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·Ρ‹ forex)

НСоТиданно оказалось, Ρ‡Ρ‚ΠΎ ΠΎ комплСксных Π²Π΅Ρ‰Π°Ρ… ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π³ΠΎΠ²Π°Ρ€ΠΈΠ²Π°Ρ‚ΡŒ СстСствСнным языком Π±Π΅Π· сухой Ρ‚Π΅ΠΎΡ€ΠΈΠΈ.

Π‘Π΄Π΅Π»Π°Π»Π° Π·Π°ΠΌΠ΅Ρ‚ΠΊΠΈ, Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΊ Ρ‡Ρ‚Π΅Π½ΠΈΡŽ: всС 288 страниц ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ справочник!

МнС Π½Π΅ Ρ…Π²Π°Ρ‚ΠΈΠ»ΠΎ списка Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹, Π½ΠΎ я полагаю, Ρ‡Ρ‚ΠΎ Π·Π°Ρ†Π΅Π½ΡŽ ΠΈ английский ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π» Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ Β«Grokking Algorithms by Aditya Y. BhargavaΒ»

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

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

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