Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

Π“Ρ€Π°Ρ„Ρ‹: основы Ρ‚Π΅ΠΎΡ€ΠΈΠΈ, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ поиска

Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

Aug 22, 2020 Β· 6 min read

Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

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

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π³Ρ€Π°Ρ„?

Π“ Ρ€ Π°Ρ„Ρ‹, Π² ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠΈ программистов, β€” это Π½Π΅ Ρ‚Π΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΠΈΠ·ΡƒΡ‡Π°Π»ΠΈ Π² школС. Π­Ρ‚ΠΎ Π½Π΅ столбиковыС Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠ»ΠΈ гистограммы.

Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… Π½Π°ΡƒΠΊ ΠΈ дискрСтной ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ, Π³Ρ€Π°Ρ„Ρ‹ β€” это абстрактный способ прСдставлСния Ρ‚ΠΈΠΏΠΎΠ² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π΄ΠΎΡ€ΠΎΠ³, ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰ΠΈΡ… Π³ΠΎΡ€ΠΎΠ΄Π°, ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²ΠΈΠ΄ΠΎΠ² сСтСй. Π“Ρ€Π°Ρ„Ρ‹ состоят ΠΈΠ· Ρ€Ρ‘Π±Π΅Ρ€ ΠΈ Π²Π΅Ρ€ΡˆΠΈΠ½. Π’Π΅Ρ€ΡˆΠΈΠ½Π° β€” это Ρ‚ΠΎΡ‡ΠΊΠ° Π½Π° Π³Ρ€Π°Ρ„Π΅, Π° Ρ€Π΅Π±Ρ€ΠΎ β€” это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ соСдиняСт Π΄Π²Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ Π½Π° Π³Ρ€Π°Ρ„Π΅.

Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

Π’ условиях Π·Π°Π΄Π°Ρ‡ ΠΈΠ· Ρ‚Π΅ΠΎΡ€ΠΈΠΈ Π³Ρ€Π°Ρ„ΠΎΠ² Π½Π° сорСвнованиях ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ говорится ΠΎ Ρ‚Π°ΠΊΠΈΡ… Π²Π΅Ρ‰Π°Ρ…, ΠΊΠ°ΠΊ сСти ΠΈ Ρ€Π΅ΡˆΡ‘Ρ‚ΠΊΠΈ.

Π’ΠΎΡ‚ список всСх Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ², относящихся ΠΊ Ρ‚Π΅ΠΎΡ€ΠΈΠΈ Π³Ρ€Π°Ρ„ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ:

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΎΠ² Π² ΠΊΠΎΠ΄Π΅

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

Π‘ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ Π΄Π²Π° способа прСдставлСния Π³Ρ€Π°Ρ„ΠΎΠ²: ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ смСТности ΠΈ списки смСТности. Π‘ΠΎΠ»ΡŒΡˆΠ΅ Π²Π°ΠΌ пригодится прСдставлСниС Π³Ρ€Π°Ρ„ΠΎΠ² Π² Π²ΠΈΠ΄Π΅ списка смСТности.

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ смСТности

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° смСТности прСдставляСт собой Π³Ρ€Π°Ρ„ Π² Π²ΠΈΠ΄Π΅ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌΠΈ V x V, Π³Π΄Π΅ V β€” количСство Π²Π΅Ρ€ΡˆΠΈΠ½ Π³Ρ€Π°Ρ„Π°. ΠœΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ смСТности Π»ΡƒΡ‡ΡˆΠ΅ всСго ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° VΒ² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ€Π°Π²Π½ΠΎ E (числу Ρ€Ρ‘Π±Π΅Ρ€), Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΊΠΎΠ³Π΄Π° Π³Ρ€Π°Ρ„ ΠΏΠ»ΠΎΡ‚Π½Ρ‹ΠΉ. Π—Π°ΠΏΠΈΡΡŒ a_ij ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, сколько Ρ€Ρ‘Π±Π΅Ρ€ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ i ΠΈ Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ j.

Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

Бписки смСТности

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

Поиск Π² Π³Π»ΡƒΠ±ΠΈΠ½Ρƒ

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Π½Π°ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π³Ρ€Π°Ρ„Ρ‹ Π² ΠΊΠΎΠ΄Π΅, ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ ΠΊ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΡŽ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² Π½Π° Π³Ρ€Π°Ρ„Π°Ρ…! Начнём с поиска Π² Π³Π»ΡƒΠ±ΠΈΠ½Ρƒ (DFS) ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠΈΠΌ поиском Π² ΡˆΠΈΡ€ΠΈΠ½Ρƒ (BFS). Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π·Π°Π³Ρ€ΠΎΠΌΠΎΠΆΠ΄Π°Ρ‚ΡŒ ΡΡ‚Π°Ρ‚ΡŒΡŽ, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ поиска ΠΏΡƒΡ‚ΠΈ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ здСсь Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒΡΡ (ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‰ΠΈΠ΅ΡΡ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠΌ поиска ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅Π³ΠΎ ΠΏΡƒΡ‚ΠΈ Π‘Π΅Π»Π»ΠΌΠ°Π½Π°-Π€ΠΎΡ€Π΄Π°).

Поиск Π² Π³Π»ΡƒΠ±ΠΈΠ½Ρƒ β€” это ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π±Π°Π·ΠΎΠ²Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² Π½Π° Π³Ρ€Π°Ρ„Π°Ρ…. Он примСняСтся для поиска расстояния ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ Π΄ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²Π΅Ρ€ΡˆΠΈΠ½ Π² Π³Ρ€Π°Ρ„Π΅. Π­Ρ‚ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΎΠ±Ρ…ΠΎΠ΄Π°.

Поиск Π² Π³Π»ΡƒΠ±ΠΈΠ½Ρƒ ΠΏΠΎΠΌΠ΅Ρ‡Π°Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ Π² Π³Ρ€Π°Ρ„Π΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π΄Π²ΡƒΡ… ΠΌΠ΅Ρ‚ΠΎΠΊ: посСщённая ΠΈΠ»ΠΈ Π½Π΅ посСщённая. Алгоритм ΠΏΠΎΠΌΠ΅Ρ‡Π°Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ ΠΊΠ°ΠΊ ΠΏΠΎΡΠ΅Ρ‰Ρ‘Π½Π½ΡƒΡŽ, Ссли удаётся ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ»ΠΎΠ². Он Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

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

Поиск Π² ΡˆΠΈΡ€ΠΈΠ½Ρƒ β€” Π΅Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΎΠ±Ρ…ΠΎΠ΄Π° Π³Ρ€Π°Ρ„ΠΎΠ². ВмСстС с Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠΌ поиска Π²Π³Π»ΡƒΠ±ΡŒ ΠΎΠ½ составит Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΡƒΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… сорСвнований ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ, ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, Ρ‚Π΅Ρ… ΠΈΠ· Π½ΠΈΡ…, Ρ‡Ρ‚ΠΎ относятся ΠΊ Π³Ρ€Π°Ρ„Π°ΠΌ.

Поиск Π² ΡˆΠΈΡ€ΠΈΠ½Ρƒ Ρ‚ΠΎΠΆΠ΅ ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ Π² Π³Ρ€Π°Ρ„Π΅ Π² ΠΎΠ΄Π½Ρƒ ΠΈΠ· Π΄Π²ΡƒΡ… ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΉ: посСщённых ΠΈΠ»ΠΈ нСпосСщённых. И Ρ†Π΅Π»ΡŒ Ρƒ ΠΎΠ±ΠΎΠΈΡ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΠΎΠ΄Π½Π° ΠΈ Ρ‚Π° ΠΆΠ΅: ΠΏΠΎΠΌΠ΅Ρ‡Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ Π² Π³Ρ€Π°Ρ„Π΅ ΠΊΠ°ΠΊ ΠΏΠΎΡΠ΅Ρ‰Ρ‘Π½Π½ΡƒΡŽ, Ссли удаётся ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ»ΠΎΠ². Π’ΠΎΡ‚ ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ поиска Π² ΡˆΠΈΡ€ΠΈΠ½Ρƒ:

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ поиска Π² ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ поиска Π² Π³Π»ΡƒΠ±ΠΈΠ½Ρƒ. Однако вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ Π²Π½ΠΈΠ· ΠΏΠΎ Π²Π΅Ρ‚Π²ΠΈ Π³Ρ€Π°Ρ„Π° ΠΈΠ»ΠΈ Π΄Π΅Ρ€Π΅Π²Π°, ΠΊΠ°ΠΊ это Π΄Π΅Π»Π°Π΅Ρ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ поиска Π² Π³Π»ΡƒΠ±ΠΈΠ½Ρƒ, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ поиска Π² ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ.

Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

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

Освоив Ρ‚Π΅ΠΎΡ€Π΅Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ, ΠΊΠ°ΡΠ°ΡŽΡ‰ΡƒΡŽΡΡ Π΄Π²ΡƒΡ… самых Π²Π°ΠΆΠ½Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΠΎΠ±Ρ…ΠΎΠ΄Π° Π½Π° Π³Ρ€Π°Ρ„Π°Ρ…, Π²Π°ΠΌ остаётся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эти Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Π² сорСвнованиях ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ. Π― Π±Ρ‹ ΠΏΠΎΡ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π» для Π½Π°Ρ‡Π°Π»Π° Codeforces: Ρ€Π΅ΡˆΠ°ΠΉΡ‚Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹Π΅ Ρ‚Π΅Π³Π°ΠΌΠΈ bfs ΠΈ dfs с Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΎΠΌ Π΄ΠΎ 1400. Когда почувствуСтС, Ρ‡Ρ‚ΠΎ ΡΠΏΡ€Π°Π²Π»ΡΠ΅Ρ‚Π΅ΡΡŒ с Π½ΠΈΠΌΠΈ, ΡƒΠ²Π΅Π»ΠΈΡ‡ΡŒΡ‚Π΅ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ.

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

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

Π“Ρ€Π°Ρ„Ρ‹: основы Ρ‚Π΅ΠΎΡ€ΠΈΠΈ, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ поиска

Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

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

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π³Ρ€Π°Ρ„?

Π“Ρ€Π°Ρ„Ρ‹, Π² ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠΈ программистов, β€” это Π½Π΅ Ρ‚Π΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΠΈΠ·ΡƒΡ‡Π°Π»ΠΈ Π² школС. Π­Ρ‚ΠΎ Π½Π΅ столбиковыС Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠ»ΠΈ гистограммы.

Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… Π½Π°ΡƒΠΊ ΠΈ дискрСтной ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ, Π³Ρ€Π°Ρ„Ρ‹ β€” это абстрактный способ прСдставлСния Ρ‚ΠΈΠΏΠΎΠ² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π΄ΠΎΡ€ΠΎΠ³, ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰ΠΈΡ… Π³ΠΎΡ€ΠΎΠ΄Π°, ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²ΠΈΠ΄ΠΎΠ² сСтСй. Π“Ρ€Π°Ρ„Ρ‹ состоят ΠΈΠ· Ρ€Ρ‘Π±Π΅Ρ€ ΠΈ Π²Π΅Ρ€ΡˆΠΈΠ½. Π’Π΅Ρ€ΡˆΠΈΠ½Π° β€” это Ρ‚ΠΎΡ‡ΠΊΠ° Π½Π° Π³Ρ€Π°Ρ„Π΅, Π° Ρ€Π΅Π±Ρ€ΠΎ β€” это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ соСдиняСт Π΄Π²Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ Π½Π° Π³Ρ€Π°Ρ„Π΅.

Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π³Ρ€Π°Ρ„Π°

Π’ условиях Π·Π°Π΄Π°Ρ‡ ΠΈΠ· Ρ‚Π΅ΠΎΡ€ΠΈΠΈ Π³Ρ€Π°Ρ„ΠΎΠ² Π½Π° сорСвнованиях ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ говорится ΠΎ Ρ‚Π°ΠΊΠΈΡ… Π²Π΅Ρ‰Π°Ρ…, ΠΊΠ°ΠΊ сСти ΠΈ Ρ€Π΅ΡˆΡ‘Ρ‚ΠΊΠΈ.

Π’ΠΎΡ‚ список всСх Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ², относящихся ΠΊ Ρ‚Π΅ΠΎΡ€ΠΈΠΈ Π³Ρ€Π°Ρ„ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ:

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΎΠ² Π² ΠΊΠΎΠ΄Π΅

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

Π‘ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ Π΄Π²Π° способа прСдставлСния Π³Ρ€Π°Ρ„ΠΎΠ²: ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ смСТности ΠΈ списки смСТности. Π‘ΠΎΠ»ΡŒΡˆΠ΅ Π²Π°ΠΌ пригодится прСдставлСниС Π³Ρ€Π°Ρ„ΠΎΠ² Π² Π²ΠΈΠ΄Π΅ списка смСТности.

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ смСТности

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° смСТности прСдставляСт собой Π³Ρ€Π°Ρ„ Π² Π²ΠΈΠ΄Π΅ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌΠΈ V x V, Π³Π΄Π΅ V β€” количСство Π²Π΅Ρ€ΡˆΠΈΠ½ Π³Ρ€Π°Ρ„Π°. ΠœΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ смСТности Π»ΡƒΡ‡ΡˆΠ΅ всСго ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° VΒ² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ€Π°Π²Π½ΠΎ E (числу Ρ€Ρ‘Π±Π΅Ρ€), Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΊΠΎΠ³Π΄Π° Π³Ρ€Π°Ρ„ ΠΏΠ»ΠΎΡ‚Π½Ρ‹ΠΉ. Π—Π°ΠΏΠΈΡΡŒ a_ij ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, сколько Ρ€Ρ‘Π±Π΅Ρ€ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ i ΠΈ Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ j.

Бписки смСТности

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

Поиск Π² Π³Π»ΡƒΠ±ΠΈΠ½Ρƒ

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Π½Π°ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π³Ρ€Π°Ρ„Ρ‹ Π² ΠΊΠΎΠ΄Π΅, ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ ΠΊ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΡŽ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² Π½Π° Π³Ρ€Π°Ρ„Π°Ρ…! Начнём с поиска Π² Π³Π»ΡƒΠ±ΠΈΠ½Ρƒ (DFS) ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠΈΠΌ поиском Π² ΡˆΠΈΡ€ΠΈΠ½Ρƒ (BFS). Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π·Π°Π³Ρ€ΠΎΠΌΠΎΠΆΠ΄Π°Ρ‚ΡŒ ΡΡ‚Π°Ρ‚ΡŒΡŽ, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ поиска ΠΏΡƒΡ‚ΠΈ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ здСсь Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒΡΡ (ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‰ΠΈΠ΅ΡΡ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠΌ поиска ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅Π³ΠΎ ΠΏΡƒΡ‚ΠΈ Π‘Π΅Π»Π»ΠΌΠ°Π½Π°-Π€ΠΎΡ€Π΄Π°).

Поиск Π² Π³Π»ΡƒΠ±ΠΈΠ½Ρƒ β€” это ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π±Π°Π·ΠΎΠ²Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² Π½Π° Π³Ρ€Π°Ρ„Π°Ρ…. Он примСняСтся для поиска расстояния ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ Π΄ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²Π΅Ρ€ΡˆΠΈΠ½ Π² Π³Ρ€Π°Ρ„Π΅. Π­Ρ‚ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΎΠ±Ρ…ΠΎΠ΄Π°.

Поиск Π² Π³Π»ΡƒΠ±ΠΈΠ½Ρƒ ΠΏΠΎΠΌΠ΅Ρ‡Π°Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ Π² Π³Ρ€Π°Ρ„Π΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π΄Π²ΡƒΡ… ΠΌΠ΅Ρ‚ΠΎΠΊ: посСщённая ΠΈΠ»ΠΈ Π½Π΅ посСщённая. Алгоритм ΠΏΠΎΠΌΠ΅Ρ‡Π°Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ ΠΊΠ°ΠΊ ΠΏΠΎΡΠ΅Ρ‰Ρ‘Π½Π½ΡƒΡŽ, Ссли удаётся ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ»ΠΎΠ². Он Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

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

Поиск Π² ΡˆΠΈΡ€ΠΈΠ½Ρƒ β€” Π΅Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΎΠ±Ρ…ΠΎΠ΄Π° Π³Ρ€Π°Ρ„ΠΎΠ². ВмСстС с Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠΌ поиска Π²Π³Π»ΡƒΠ±ΡŒ ΠΎΠ½ составит Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΡƒΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… сорСвнований ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ, ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, Ρ‚Π΅Ρ… ΠΈΠ· Π½ΠΈΡ…, Ρ‡Ρ‚ΠΎ относятся ΠΊ Π³Ρ€Π°Ρ„Π°ΠΌ.

Поиск Π² ΡˆΠΈΡ€ΠΈΠ½Ρƒ Ρ‚ΠΎΠΆΠ΅ ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ Π² Π³Ρ€Π°Ρ„Π΅ Π² ΠΎΠ΄Π½Ρƒ ΠΈΠ· Π΄Π²ΡƒΡ… ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΉ: посСщённых ΠΈΠ»ΠΈ нСпосСщённых. И Ρ†Π΅Π»ΡŒ Ρƒ ΠΎΠ±ΠΎΠΈΡ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΠΎΠ΄Π½Π° ΠΈ Ρ‚Π° ΠΆΠ΅: ΠΏΠΎΠΌΠ΅Ρ‡Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ Π² Π³Ρ€Π°Ρ„Π΅ ΠΊΠ°ΠΊ ΠΏΠΎΡΠ΅Ρ‰Ρ‘Π½Π½ΡƒΡŽ, Ссли удаётся ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ»ΠΎΠ². Π’ΠΎΡ‚ ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ поиска Π² ΡˆΠΈΡ€ΠΈΠ½Ρƒ:

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ поиска Π² ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ поиска Π² Π³Π»ΡƒΠ±ΠΈΠ½Ρƒ. Однако вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ Π²Π½ΠΈΠ· ΠΏΠΎ Π²Π΅Ρ‚Π²ΠΈ Π³Ρ€Π°Ρ„Π° ΠΈΠ»ΠΈ Π΄Π΅Ρ€Π΅Π²Π°, ΠΊΠ°ΠΊ это Π΄Π΅Π»Π°Π΅Ρ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ поиска Π² Π³Π»ΡƒΠ±ΠΈΠ½Ρƒ, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ поиска Π² ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ.

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

Освоив Ρ‚Π΅ΠΎΡ€Π΅Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ, ΠΊΠ°ΡΠ°ΡŽΡ‰ΡƒΡŽΡΡ Π΄Π²ΡƒΡ… самых Π²Π°ΠΆΠ½Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΠΎΠ±Ρ…ΠΎΠ΄Π° Π½Π° Π³Ρ€Π°Ρ„Π°Ρ…, Π²Π°ΠΌ остаётся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эти Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Π² сорСвнованиях ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ. Π― Π±Ρ‹ ΠΏΠΎΡ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π» для Π½Π°Ρ‡Π°Π»Π° Codeforces: Ρ€Π΅ΡˆΠ°ΠΉΡ‚Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹Π΅ Ρ‚Π΅Π³Π°ΠΌΠΈ bfs ΠΈ dfs с Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΎΠΌ Π΄ΠΎ 1400. Когда почувствуСтС, Ρ‡Ρ‚ΠΎ ΡΠΏΡ€Π°Π²Π»ΡΠ΅Ρ‚Π΅ΡΡŒ с Π½ΠΈΠΌΠΈ, ΡƒΠ²Π΅Π»ΠΈΡ‡ΡŒΡ‚Π΅ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ.

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

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

Алгоритмы Π½Π° Π³Ρ€Π°Ρ„Π°Ρ… β€” Π§Π°ΡΡ‚ΡŒ 0: Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ понятия

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

Π’ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅, Π“Ρ€Π°Ρ„ β€” это абстрактноС прСдставлСниС мноТСства ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ связСй ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ. Π“Ρ€Π°Ρ„ΠΎΠΌ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΏΠ°Ρ€Ρƒ (V, E) Π³Π΄Π΅ V это мноТСство Π²Π΅Ρ€ΡˆΠΈΠ½, Π° E мноТСство ΠΏΠ°Ρ€, каТдая ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… прСдставляСт собой связь (эти ΠΏΠ°Ρ€Ρ‹ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Ρ€Ρ‘Π±Ρ€Π°ΠΌΠΈ).
Π“Ρ€Π°Ρ„ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΈΠ»ΠΈ Π½Π΅ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ. Π’ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ Π³Ρ€Π°Ρ„Π΅, связи ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹ΠΌΠΈ (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΠ°Ρ€Ρ‹ Π² E ΡΠ²Π»ΡΡŽΡ‚ΡΡ упорядочСнными, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠ°Ρ€Ρ‹ (a, b) ΠΈ (b, a) это Π΄Π²Π΅ Ρ€Π°Π·Π½Ρ‹Π΅ связи). Π’ свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π² Π½Π΅ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ Π³Ρ€Π°Ρ„Π΅, связи Π½Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹Π΅, ΠΈ поэтому Ссли сущСствуСт связь (a, b) Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ Ρ‡Ρ‚ΠΎ сущСствуСт связь (b, a).

Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

НСориСнтированный Π³Ρ€Π°Ρ„: БосСдство (Π² ΠΆΠΈΠ·Π½ΠΈ). Если (1) сосСд (3), Ρ‚ΠΎ (3) сосСд (1). Π‘ΠΌ рис. 1.Π°

ΠžΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π³Ρ€Π°Ρ„: Бсылки. Π‘Π°ΠΉΡ‚ (1) ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Π½Π° сайт (3), Π½ΠΎ совсСм Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ (хотя Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ) Ρ‡Ρ‚ΠΎ сайт (3) ссылаСтся сайт (1). Π‘ΠΌ рис. 1.Π±

ΠŸΡƒΡ‚ΡŒ Π² Π³Ρ€Π°Ρ„Π΅ это конСчная ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π²Π΅Ρ€ΡˆΠΈΠ½, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ Π΄Π²Π΅ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ ΠΈΠ΄ΡƒΡ‰ΠΈΠ΅ подряд соСдинСны Ρ€Π΅Π±Ρ€ΠΎΠΌ. ΠŸΡƒΡ‚ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΈΠ»ΠΈ Π½Π΅ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ Π² зависимости ΠΎΡ‚ Π³Ρ€Π°Ρ„Π°. На рис 1.Π°, ΠΏΡƒΡ‚Π΅ΠΌ являСтся Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ [(1), (4), (5)] Π½Π° рис 1.Π±, [(1), (3), (4), (5)].

Π£ Π³Ρ€Π°Ρ„ΠΎΠ² Π΅ΡΡ‚ΡŒ Π΅Ρ‰Ρ‘ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π½Ρ‹Ρ… свойств (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ связными, Π΄Π²ΡƒΠ΄ΠΎΠ»ΡŒΠ½Ρ‹ΠΌΠΈ, ΠΏΠΎΠ»Π½Ρ‹ΠΌΠΈ), Π½ΠΎ я Π½Π΅ Π±ΡƒΠ΄Ρƒ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ всС эти свойства сСйчас, Π° Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… частях ΠΊΠΎΠ³Π΄Π° эти понятия понадобятся Π½Π°ΠΌ.

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΎΠ²

БущСствуСт Π΄Π²Π° способа прСдставлСния Π³Ρ€Π°Ρ„Π°, Π² Π²ΠΈΠ΄Π΅ списков смСТности ΠΈ Π² Π²ΠΈΠ΄Π΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ смСТности. Оба способа подходят для прСдставлСния ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΈ Π½Π΅ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π³Ρ€Π°Ρ„ΠΎΠ².

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° смСТности
Π­Ρ‚ΠΎΡ‚ способ являСтся ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ для прСдставлСния ΠΏΠ»ΠΎΡ‚Π½Ρ‹Ρ… Π³Ρ€Π°Ρ„ΠΎΠ², Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… количСство Ρ€Ρ‘Π±Π΅Ρ€ (|E|) ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ€Π°Π²Π½ΠΎ количСству Π²Π΅Ρ€ΡˆΠΈΠ½ Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π΅ (|V| 2 ).
Π’ Π΄Π°Π½Π½ΠΎΠΌ прСдставлСнии ΠΌΡ‹ заполняСм ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ |V| x |V| слСдущим ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:
A[i][j] = 1 (Если сущСствуСт Ρ€Π΅Π±Ρ€ΠΎ ΠΈΠ· i Π² j)
A[i][j] = 0 (Π˜Π½Π°Ρ‡Π΅)
Π”Π°Π½Π½Ρ‹ΠΉ способ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΈ Π½Π΅ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π³Ρ€Π°Ρ„ΠΎΠ². Для Π½Π΅ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π³Ρ€Π°Ρ„ΠΎΠ² ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° A являСтся симмСтричной (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ A[i][j] == A[j][i], Ρ‚.ΠΊ. Ссли сущСствуСт Ρ€Π΅Π±Ρ€ΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ i ΠΈ j, Ρ‚ΠΎ ΠΎΠ½ΠΎ являСтся ΠΈ Ρ€Π΅Π±Ρ€ΠΎΠΌ ΠΈΠ· i Π² j, ΠΈ Ρ€Π΅Π±Ρ€ΠΎΠΌ ΠΈΠ· j Π² i). Благодаря этому свойству ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΏΠΎΡ‡Ρ‚ΠΈ Π² Π΄Π²Π° Ρ€Π°Π·Π° использованиС памяти, храня элСмСнты Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ части ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹, Π½Π°Π΄ Π³Π»Π°Π²Π½ΠΎΠΉ диагональю)
ΠŸΠΎΠ½ΡΡ‚Π½ΠΎ Ρ‡Ρ‚ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄Π°Π½Π½ΠΎΠ³ΠΎ способа прСдставлСния, ΠΌΠΎΠΆΠ½ΠΎ быстро ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π΅ΡΡ‚ΡŒ Π»ΠΈ Ρ€Π΅Π±Ρ€ΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Π΅Ρ€ΡˆΠΈΠ½Π°ΠΌΠΈ v ΠΈ u, просто посмотрСв Π² ячСйку A[v][u].
Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны этот способ ΠΎΡ‡Π΅Π½ΡŒ Π³Ρ€ΠΎΠΌΠΎΠ·Π΄ΠΊΠΈΠΉ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ O (|V| 2 ) памяти для хранСния ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹.

Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅
На рис. 2 ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ прСдставлСния Π³Ρ€Π°Ρ„ΠΎΠ² ΠΈΠ· рис. 1 с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ† смСТности.

Бписки смСТности
Π”Π°Π½Π½Ρ‹ΠΉ способ прСдставлСния большС ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Ρ€Π°Π·Ρ€Π΅ΠΆΠ΅Π½Π½Ρ‹Ρ… Π³Ρ€Π°Ρ„ΠΎΠ², Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π³Ρ€Π°Ρ„ΠΎΠ² Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… количСство Ρ€Ρ‘Π±Π΅Ρ€ Π³ΠΎΡ€Π°Π·Π΄ΠΎ мСньшС Ρ‡Π΅ΠΌ количСство Π²Π΅Ρ€ΡˆΠΈΠ½ Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π΅ (|E| 2 ).
Π’ Π΄Π°Π½Π½ΠΎΠΌ прСдставлСнии ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ массив Adj содСрТащий |V| списков. Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ спискС Adj[v] содСрТатся всС Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ u, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ v ΠΈ u Π΅ΡΡ‚ΡŒ Ρ€Π΅Π±Ρ€ΠΎ. ΠŸΠ°ΠΌΡΡ‚ΡŒ трСбуСмая для прСдставлСния Ρ€Π°Π²Π½Π° O (|E| + |V|) Ρ‡Ρ‚ΠΎ являСтся Π»ΡƒΡ‡ΡˆΠΈΠΌ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΌ Ρ‡Π΅ΠΌ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° смСТности для Ρ€Π°Π·Ρ€Π΅ΠΆΠ΅Π½Π½Ρ‹Ρ… Π³Ρ€Π°Ρ„ΠΎΠ².
Π“Π»Π°Π²Π½Ρ‹ΠΉ нСдостаток этого способа прСдставлСния Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π½Π΅Ρ‚ быстрого способа ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ сущСствуСт Π»ΠΈ Ρ€Π΅Π±Ρ€ΠΎ (u, v).

Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅
На рис. 3 ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ прСдставлСния Π³Ρ€Π°Ρ„ΠΎΠ² ΠΈΠ· рис. 1 с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ списков смСТности.

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅

Π’Π΅ ΠΊΡ‚ΠΎ Π΄ΠΎΡ‡ΠΈΡ‚Π°Π» Π΄ΠΎ этого мСста, Π½Π°Π²Π΅Ρ€Π½ΠΎΠ΅ Π·Π°Π΄Π°Π»ΠΈ сСбС вопрос, Π° Π³Π΄Π΅ ΠΆΠ΅ собствСнно я смогу ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„Ρ‹. Как я ΠΈ ΠΎΠ±Π΅Ρ‰Π°Π» я Π±ΡƒΠ΄Ρƒ ΡΡ‚Π°Ρ€Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹. Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ Π² Π³ΠΎΠ»ΠΎΠ²Ρƒ это ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ ΡΠ΅Ρ‚ΡŒ. Π’Π΅Ρ€ΡˆΠΈΠ½Π°ΠΌΠΈ Π³Ρ€Π°Ρ„Π° ΡΠ²Π»ΡΡŽΡ‚ΡΡ люди, Π° Ρ€Π΅Π±Ρ€Π°ΠΌΠΈ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ (Π΄Ρ€ΡƒΠΆΠ±Π°). Π“Ρ€Π°Ρ„ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ я ΠΌΠΎΠ³Ρƒ Π΄Ρ€ΡƒΠΆΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с Ρ‚Π΅ΠΌΠΈ ΠΊΡ‚ΠΎ Π΄Ρ€ΡƒΠΆΠΈΡ‚ со ΠΌΠ½ΠΎΠΉ. Π›ΠΈΠ±ΠΎ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ (ΠΊΠ°ΠΊ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π² Π–Π–), Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° Π² Π΄Ρ€ΡƒΠ·ΡŒΡ, Π±Π΅Π· Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ добавлял вас. Если ΠΆΠ΅ ΠΎΠ½ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ вас Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Β«Π²Π·Π°ΠΈΠΌΠ½Ρ‹ΠΌΠΈ Π΄Ρ€ΡƒΠ·ΡŒΡΠΌΠΈΒ». Π’ΠΎ Π΅ΡΡ‚ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π²Π° Ρ€Π΅Π±Ρ€Π°: (Он, Π’Ρ‹) ΠΈ (Π’Ρ‹, Он)
Π•Ρ‰Ρ‘ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π³Ρ€Π°Ρ„Π°, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ я ΡƒΠΆΠ΅ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π» это ссылки с сайта Π½Π° сайт. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΠΌ Π’Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠΎΠΈΡΠΊΠΎΠ²ΡƒΡŽ систСму ΠΈ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΡ‡Π΅ΡΡ‚ΡŒ Π½Π° ΠΊΠ°ΠΊΠΈΠ΅ сайты Π΅ΡΡ‚ΡŒ большС ссылок (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ сайт A), ΠΏΡ€ΠΈ этом ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ сколько сайтов ссылаСтся Π½Π° сайт B, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ссылаСтся Π½Π° сайт A. Π£ вас Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° смСТности этих ссылок. Π’Ρ‹ Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ввСсти ΠΊΠ°ΠΊΡƒΡŽ Ρ‚ΠΎ систСму подсчёта Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³Π°, которая Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΎ подсчёты Π½Π° этой ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅, Π½Ρƒ, Π° Π΄Π°Π»ΡŒΡˆΠ΅β€¦ это Google (Ρ‚ΠΎΡ‡Π½Π΅Π΅ PageRank) =)

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

Π­Ρ‚ΠΎ нСбольшая Ρ‡Π°ΡΡ‚ΡŒ Ρ‚Π΅ΠΎΡ€ΠΈΠΈ которая понадобится Π½Π°ΠΌ Ρ‡Ρ‚ΠΎΠ±Ρ‹ для ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… частСй. НадСюсь Π²Π°ΠΌ Π±Ρ‹Π»ΠΎ понятно, Π° Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΏΠΎΠ½Ρ€Π°Π²ΠΈΠ»ΠΎΡΡŒ ΠΈ заинтСрСсовало Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ дальнСйшиС части! ΠžΡΡ‚Π°Π²Π»ΡΠΉΡ‚Π΅ свои ΠΎΡ‚Π·Ρ‹Π²Ρ‹ ΠΈ поТСлания Π² коммСнтариях.

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ части

BFS β€” Алгоритм поиска Π² ΡˆΠΈΡ€ΠΈΠ½Ρƒ

Библиография

ΠšΠΎΡ€ΠΌΠ΅Π½, ЛайзСрсон, РивСрст, Π¨Ρ‚Π°ΠΉΠ½ β€” Алгоритмы. ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ ΠΈ Π°Π½Π°Π»ΠΈΠ·. Π˜Π·Π΄Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ Π’ΠΈΠ»ΡŒΡΠΌΡ, 2007.
Π‘Π»ΠΎΠ²Π°Ρ€ΡŒ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ² Ρ‚Π΅ΠΎΡ€ΠΈΠΈ Π³Ρ€Π°Ρ„ΠΎΠ²
Π“Ρ€Π°Ρ„ β€” ΡΡ‚Π°Ρ‚ΡŒΡ Π² английской Π’ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ

Π‘Ρ‚Π°Ρ‚ΡŒΡ это кросс-пост ΠΈΠ· ΠΌΠΎΠ΅Π³ΠΎ Π±Π»ΠΎΠ³Π° β€” «Programing as is β€” записки программиста»

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

ВСория Π“Ρ€Π°Ρ„ΠΎΠ². Π§Π°ΡΡ‚ΡŒ 1 Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΈ классификация Π³Ρ€Π°Ρ„ΠΎΠ²

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

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

Π‘Π½Π°Ρ‡Π°Π»Π° ΠΏΠΎΠ΄ Π·Π΅ΠΌΠ»Π΅ΠΉ Π³ΠΎΡ€ΠΎΠ΄Π° ΠœΠΎΡΠΊΠ²Ρ‹ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π±Ρ‹Π»ΠΎ. ΠŸΠΎΡ‚ΠΎΠΌ Π±Ρ‹Π»Π° построСна пСрвая станция ΠΌΠ΅Ρ‚Ρ€ΠΎ, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΈ вторая ΠΈ Ρ‚Ρ€Π΅Ρ‚ΡŒΡ. ΠžΠ±Ρ€Π°Π·ΠΎΠ²Π°Π»ΠΎΡΡŒ мноТСство станций ΠΌΠ΅Ρ‚Ρ€ΠΎ. На ΠΊΠ°Ρ€Ρ‚Ρƒ Π±Ρ‹Π»ΠΎ занСсСно мноТСство Ρ‚ΠΎΡ‡Π΅ΠΊ. ПозТС ΠΌΠ΅ΠΆΠ΄Ρƒ станциями стали ΠΏΡ€ΠΎΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡƒΡ‚ΠΈ Π»ΠΈΠ½ΠΈΠΈ. И соСдинилась станция ΠΌΠ΅Ρ‚Ρ€ΠΎ А со станциСй ΠΌΠ΅Ρ‚Ρ€ΠΎ Π‘. ВсС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ станции Ρ‚Π°ΠΊΠΆΠ΅ стали соСдинятся Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΈ Π½Π° ΠΊΠ°Ρ€Ρ‚Π΅ появилось мноТСство Π»ΠΈΠ½ΠΈΠΉ. Π’ ΠΈΡ‚ΠΎΠ³Π΅ ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ Московский ΠΌΠ΅Ρ‚Ρ€ΠΎΠΏΠΎΠ»ΠΈΡ‚Π΅Π½ ΠΎΡ‡Π΅Π½ΡŒ красивый, я Ρ‚Π°ΠΌ Π±Ρ‹Π» провСрял.

Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅Π‘Ρ…Π΅ΠΌΠ° Московского ΠΌΠ΅Ρ‚Ρ€ΠΎ

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ какая красота. Π£ нас имССтся мноТСство Ρ‚ΠΎΡ‡Π΅ΠΊ (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π²Π΅Ρ€ΡˆΠΈΠ½Π°ΠΌΠΈ ΠΈΠ»ΠΈ ΡƒΠ·Π»Π°ΠΌΠΈ), Π° Ρ‚Π°ΠΊΠΆΠ΅ мноТСство Π»ΠΈΠ½ΠΈΠΉ (Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ Ρ€Ρ‘Π±Ρ€Π°ΠΌΠΈ ΠΈΠ»ΠΈ Π΄ΡƒΠ³Π°ΠΌΠΈ). ΠžΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΠΌ мноТСство Π²Π΅Ρ€ΡˆΠΈΠ½ Π±ΡƒΠΊΠ²ΠΎΠΉ V ΠΎΡ‚ английского vertexβˆ’Π²Π΅Ρ€ΡˆΠΈΠ½Π° ΠΈ мноТСство Ρ€Ρ‘Π±Π΅Ρ€ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΠΌ E ΠΎΡ‚ английского edgeβˆ’Ρ€Π΅Π±Ρ€ΠΎ. Π“Ρ€Π°Ρ„ Π² Ρ„ΠΎΡ€ΠΌΡƒΠ»Π°Ρ… ΠΈΠΌΠ΅Π½ΡƒΡŽΡ‚ Π±ΡƒΠΊΠ²ΠΎΠΉ G. ВсС Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹.

ΠžΡ‚ΠΌΠ΅Ρ‡Ρƒ, Ρ‡Ρ‚ΠΎ число Π²Π΅Ρ€ΡˆΠΈΠ½ обозначаСтся Π±ΡƒΠΊΠ²ΠΎΠΉ n:

Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

Число Ρ€Ρ‘Π±Π΅Ρ€ обозначаСтся Π±ΡƒΠΊΠ²ΠΎΠΉ m:

Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π³Ρ€Π°Ρ„ задаСтся ΠΈ обозначаСтся ΠΏΠ°Ρ€ΠΎΠΉ V,E:

Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

Π’Π°ΠΊΠΆΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„Π° рассказываСтся Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π½Π° Π₯Π°Π±Ρ€Π΅ (https://habr.com/ru/post/65367/)

ΠΠ΅Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ Π³Ρ€Π°Ρ„ являСтся ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒΡŽ Ρ‚ΠΎΡ‡Π΅ΠΊ ΠΈ Π»ΠΈΠ½ΠΈΠΉ. Π›ΠΈΠ½ΠΈΠΈ Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π·Π°Π΄Π°ΡŽΡ‚ΡΡ ΠΏΠ°Ρ€ΠΎΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½, располоТСнных Π½Π΅ Π²Π°ΠΆΠ½ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΌ порядкС.

Π Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„Π° ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅ΠΉ. ΠœΠΎΠΆΠ΅Ρ‚ Π»ΠΈ Π² G Π±Ρ‹Ρ‚ΡŒ пустым мноТСство E? Π”Π° Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ! Π’Π°ΠΊΠΎΠΉ Π³Ρ€Π°Ρ„ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌ, Π° Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ Π² Π½Π΅ΠΌ Π±ΡƒΠ΄ΡƒΡ‚ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ.

Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² информатикСНулСвой Π³Ρ€Π°Ρ„

Волько Π²ΠΎΡ‚ мноТСство V Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ пустым Π±Ρ‹Ρ‚ΡŒ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚. Π’Π΅Π΄ΡŒ мноТСство E Ρ€Ρ‘Π±Ρ€Π° задаСтся ΠΏΠ°Ρ€ΠΎΠΉ нСупорядочСнных Π²Π΅Ρ€ΡˆΠΈΠ½ мноТСства V. Π”Π²Π΅ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π΅Π±Ρ€ΠΎ, Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΊΠΎΠ½Ρ†Π°ΠΌΠΈ этого Ρ€Π΅Π±Ρ€Π°.

ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ E задаСтся ΠΏΠ°Ρ€ΠΎΠΉ нСупорядочСнных Π²Π΅Ρ€ΡˆΠΈΠ½ мноТСства V.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: ΠŸΡƒΡΡ‚ΡŒ мноТСство V = <1,2,3,4,5>. Π’ΠΎΠ³Π΄Π° мноТСство E =

Π“Ρ€Π°Ρ„ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

ВисячСй Π²Π΅Ρ€ΡˆΠΈΠ½ΠΎΠΉ называСтся Π²Π΅Ρ€ΡˆΠΈΠ½Π° которая соСдинСна Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΎΠ΄Π½ΠΎΠΉ сосСднСй Π²Π΅Ρ€ΡˆΠΈΠ½ΠΎΠΉ. Π’ нашСм случаи висячСй Π²Π΅Ρ€ΡˆΠΈΠ½ΠΎΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π²Π΅Ρ€ΡˆΠΈΠ½Π° 5, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½Π° соСдинСна Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с Π²Π΅Ρ€ΡˆΠΈΠ½ΠΎΠΉ 1.

Π‘Ρ‚Π΅ΠΏΠ΅Π½ΡŒ Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚, ΠΊΠ°ΠΊ:

Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

Максимальная ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΊΠΎΠ΅ количСство стСпСнСй Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π² Π³Ρ€Π°Ρ„Π΅ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ΡΡ, ΠΊΠ°ΠΊ:

Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

Π€ΠΎΡ€ΠΌΡƒΠ»Π° суммы стСпСнСй для G = V,E выглядит Ρ‚Π°ΠΊ:

Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

Π’ΠΎ Π΅ΡΡ‚ΡŒ сумма стСпСнСй всСх Π²Π΅Ρ€ΡˆΠΈΠ½ v Π³Ρ€Π°Ρ„Π° Ρ€Π°Π²Π½Π° ΡƒΠ΄Π²ΠΎΠ΅Π½Π½ΠΎΠΌΡƒ количСству Π΅Π³ΠΎ Ρ€Ρ‘Π±Π΅Ρ€ E. Π‘Ρ‡ΠΈΡ‚Π°Π΅ΠΌ количСство стСпСнСй Π² нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅. ΠžΡ‚ этого Π½ΠΈΠΊΡƒΠ΄Π° Π½Π΅ дСнСшься. Π― насчитал 12. А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ считаСм, сколько Ρƒ нас Ρ€Ρ‘Π±Π΅Ρ€. Π˜Ρ… 6! Π£ΠΌΠ½ΠΎΠΆΠ°Π΅ΠΌ Π½Π° 2 ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ 12. Π‘ΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅? НС Π΄ΡƒΠΌΠ°ΡŽ!

А Π΄Π°Π²Π°ΠΉΡ‚Π΅ прСдставим наш Π³Ρ€Π°Ρ„ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ Π²ΠΈΠ΄Π΅, Π½ΠΎ с сохранСниСм Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ°Ρ€. G Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²ΠΈΠ΄:

Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

Π—Π°ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅ я Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» ΠΏΠ°Ρ€Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ собой. Π’Π΅Ρ€ΡˆΠΈΠ½Π° 4 Ρ‚Π°ΠΊΠΆΠ΅ соСдиняСтся с Π²Π΅Ρ€ΡˆΠΈΠ½ΠΎΠΉ 3, Π° Ρƒ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ 1 ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡΡ‚Π°Π»Π°ΡΡŒ 4. Π’Π°ΠΊ ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π³Ρ€Π°Ρ„ ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²ΠΈΠ΄ ΠΈ Π·Π°ΠΊΠΎΠ½Π½ΠΎ Π»ΠΈ это?

ΠšΠ»Π°ΡΡΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π³Ρ€Π°Ρ„ΠΎΠ²

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠΌ классификации являСтся отсутствиС ΠΈΠ»ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Ρƒ Ρ€Π΅Π±Π΅Ρ€.

Π Π΅Π±Ρ€ΠΎ являСтся Π½Π΅ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ Ссли Ρƒ Π½Π΅Π³ΠΎ Π½Π΅Ρ‚ понятия Π½Π°Ρ‡Π°Π»Π° ΠΈΠ»ΠΈ ΠΊΠΎΠ½Ρ†Π°. Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΠ±Π° Π΅Π³ΠΎ ΠΊΠΎΠ½Ρ†Π° Ρ€Π°Π²Π½ΠΎΠΏΡ€Π°Π²Π½Ρ‹. Π’Π°ΠΊΠΎΠΉ Π³Ρ€Π°Ρ„ называСтся Π½Π΅ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ, ΠΎΠ±Ρ‹ΠΊΠ½ΠΎΠ²Π΅Π½Π½Ρ‹ΠΌ ΠΈΠ»ΠΈ Π½Π΅ΠΎΠ³Ρ€Π°Ρ„ΠΎΠΌ.

Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² информатикСНСориСнтированный Π³Ρ€Π°Ρ„

ΠžΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Ρ€Π΅Π±Ρ€ΠΎ обозначаСтся стрСлкой. И ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΎΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΎΡ‚ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ ΠΊ Π²Π΅Ρ€ΡˆΠΈΠ½Π΅. Π’ΠΎ Π΅ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹ΠΉ Π³Ρ€Π°Ρ„ ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π°Ρ‡Π°Π»ΠΎ ΠΈ ΠΊΠΎΠ½Π΅Ρ†. И называСтся ΠΎΠ½ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΈΠ»ΠΈ ΠΎΡ€Π³Ρ€Π°Ρ„ΠΎΠΌ.

Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ΠžΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π³Ρ€Π°Ρ„

Π’Π°ΠΊΠΆΠ΅ сущСствуСт Π³Ρ€Π°Ρ„ со ΡΠΌΠ΅ΡˆΠ°Π½Π½Ρ‹ΠΌΠΈ Ρ€Π΅Π±Ρ€Π°ΠΌΠΈ. Π­Ρ‚ΠΎ ΠΊΠΎΠ³Π΄Π° Π² Π³Ρ€Π°Ρ„Π΅ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚, ΠΊΠ°ΠΊ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Ρ€Ρ‘Π±Ρ€Π°, Ρ‚Π°ΠΊ ΠΈ Π½Π΅ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅.

Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅Π‘ΠΌΠ΅ΡˆΠ°Π½Π½Ρ‹ΠΉ Π³Ρ€Π°Ρ„

    Π’Ρ‚ΠΎΡ€Ρ‹ΠΌ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠΌ являСтся отсутствиС ΠΈΠ»ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΊΡ€Π°Ρ‚Π½Ρ‹Ρ… Ρ€Π΅Π±Π΅Ρ€.

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ΠœΡƒΠ»ΡŒΡ‚ΠΈΠ³Ρ€Π°Ρ„

    Π“Ρ€Π°Ρ„ Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΊΡ€Π°Ρ‚Π½Ρ‹Ρ… Ρ€Π΅Π±Π΅Ρ€ Π½Π΅Ρ‚, являСтся простым Π³Ρ€Π°Ρ„ΠΎΠΌ. Π’ простом Π³Ρ€Π°Ρ„Π΅ ΠΌΡ‹ просто Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌ ΠΏΠ°Ρ€Ρƒ Π²Π΅Ρ€ΡˆΠΈΠ½ для ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ€Π΅Π±Ρ€Π°, Π½ΠΎ Π² ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠ³Ρ€Π°Ρ„Π΅ Ρ‚Π°ΠΊΠΎΠ΅ ΡƒΠΆΠ΅ Π½Π΅ сработаСт, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ΄Π½Π° ΠΈ Ρ‚Π° ΠΆΠ΅ ΠΏΠ°Ρ€Π° Π²Π΅Ρ€ΡˆΠΈΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° Π΄Π²Π° Ρ€Π΅Π±Ρ€Π° ΠΈ Π½Π΅ понятно Ρ‡Ρ‚ΠΎ ΠΊ Ρ‡Π΅ΠΌΡƒ Π±ΡƒΠ΄Π΅Ρ‚ относится. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Ссли Π²Ρ‹ повстрСчаСтС ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠ³Ρ€Π°Ρ„, Ρ‚ΠΎ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Ρ€Π΅Π±Ρ€ΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ.

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

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

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

    Π˜Π»Π»ΡŽΡΡ‚Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Ρ‚Π΅ΠΎΡ€ΠΈΡŽ Π³Ρ€Π°Ρ„ΠΎΠ² ΠΈ Π΅Ρ‘ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅

    НС ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅ Ρ‚Π΅ΠΎΡ€ΠΈΡŽ Π³Ρ€Π°Ρ„ΠΎΠ²? Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ для вас. РасскаТСм ΠΎΠ± основных элСмСнтах Ρ‚Π΅ΠΎΡ€ΠΈΠΈ Π³Ρ€Π°Ρ„ΠΎΠ² ΠΈ рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΎΡ€ΠΈΠΈ.

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

    ВСория Π³Ρ€Π°Ρ„ΠΎΠ² прСдставляСт собой ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹Ρ… ΠΈ интСрСсных, Π½ΠΎ Π² Ρ‚ΠΎ ΠΆΠ΅ врСмя ΠΎΠ΄ΠΈΠ½ ΠΈΠ· самых слоТных ΠΈ нСпонятных Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅.

    ПониманиС ΠΈ использованиС Π³Ρ€Π°Ρ„ΠΎΠ² Π΄Π΅Π»Π°Π΅Ρ‚ нас Π±ΠΎΠ»Π΅Π΅ ΠΊΠ²Π°Π»ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ спСциалистами. По ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, Ρ‚Π°ΠΊ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ. Π“Ρ€Π°Ρ„ – это мноТСство Π²Π΅Ρ€ΡˆΠΈΠ½ V ΠΈ мноТСство Ρ€Ρ‘Π±Π΅Ρ€ E, содСрТащих ΡƒΠΏΠΎΡ€ΡΠ΄ΠΎΡ‡Π΅Π½Π½ΡƒΡŽ ΠΏΠ°Ρ€Ρƒ G=(V, E).

    ΠŸΡ‹Ρ‚Π°ΡΡΡŒ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ Ρ‚Π΅ΠΎΡ€ΠΈΡŽ Π³Ρ€Π°Ρ„ΠΎΠ² ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ программисты просто ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π°ΡŽΡ‚ этим Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ Π΄Π°Π½Π½ΠΎΠ΅ занятиС слишком скучным.

    Π›ΡƒΡ‡ΡˆΠΈΠΉ способ ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ – ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ ΠΈ Π³Π΄Π΅ ΠΎΠ½ΠΎ примСняСтся. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ примСнСния Ρ‚Π΅ΠΎΡ€ΠΈΠΈ Π³Ρ€Π°Ρ„ΠΎΠ², ΠΏΡ€ΠΎΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Π² ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ….

    ΠŸΡƒΡΡ‚ΡŒ эта ΡΡ‚Π°Ρ‚ΡŒΡ покаТСтся слишком Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ для ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Ρ… программистов, Π½ΠΎ, ΠΏΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ объяснСния Π³ΠΎΡ€Π°Π·Π΄ΠΎ эффСктивнСС сТатых ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ.

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

    БСмь мостов ΠšΡ‘Π½ΠΈΠ³ΡΠ±Π΅Ρ€Π³Π°

    Начнём с Ρ‚ΠΎΠ³ΠΎ, с Ρ‡Π΅ΠΌ Ρ‡Π°Ρ‰Π΅ всСго сталкиваСтся программист, Ρ‡ΠΈΡ‚Π°ΡŽΡ‰ΠΈΠΉ ΠΊΠ½ΠΈΠ³Ρƒ ΠΏΡ€ΠΎ Ρ‚Π΅ΠΎΡ€ΠΈΡŽ Π³Ρ€Π°Ρ„ΠΎΠ² – история ΠΏΡ€ΠΎ мосты ΠΈ островы ΠšΠ°Π»ΠΈΠ½ΠΈΠ½Π³Ρ€Π°Π΄Π°. Π’ ΠšΠ°Π»ΠΈΠ½ΠΈΠ½Π³Ρ€Π°Π΄Π΅ Π±Ρ‹Π»ΠΎ сСмь мостов, ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰ΠΈΡ… Π΄Π²Π° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… острова, ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½Π½Ρ‹Ρ… Ρ€Π΅ΠΊΠΎΠΉ ΠŸΡ€Π΅Π³ΠΎΠ»Ρ, ΠΈ Π΄Π²Π΅ части ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠΊΠ°, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Ρ‚ΠΎΠΉ ΠΆΠ΅ Ρ€Π΅ΠΊΠΎΠΉ.

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

    Π’ 18 Π²Π΅ΠΊΠ΅ это Π±Ρ‹Π» ΠšΡ‘Π½ΠΈΠ³ΡΠ±Π΅Ρ€Π³, Π³ΠΎΡ€ΠΎΠ΄ ΠŸΡ€ΡƒΡΡΠΈΠΈ, ΠΈ Π½Π° этой Ρ‚Π΅Ρ€Ρ€ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Π±Ρ‹Π»ΠΎ Π³ΠΎΡ€Π°Π·Π΄ΠΎ большС мостов. Π—Π°Π΄Π°Ρ‡Π° ΠΈΠ»ΠΈ просто Π³ΠΎΠ»ΠΎΠ²ΠΎΠ»ΠΎΠΌΠΊΠ° состояла Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π±Ρ‹Π»ΠΎ Π½Π°ΠΉΡ‚ΠΈ Ρ‚Π°ΠΊΠΎΠΉ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΠ» Ρ‡Π΅Ρ€Π΅Π· ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ мост Ρ€ΠΎΠ²Π½ΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·. Π’ΠΎΡ‚ ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π²ΠΈΠ΄ сСми мостов ΠšΡ‘Π½ΠΈΠ³ΡΠ±Π΅Ρ€Π³Π° Π² 18 Π²Π΅ΠΊΠ΅:

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

    ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ эту Π³ΠΎΠ»ΠΎΠ²ΠΎΠ»ΠΎΠΌΠΊΡƒ. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅, смоТСтС Π»ΠΈ Π²Ρ‹ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ ΠΏΠΎ всСм мостам Ρ€ΠΎΠ²Π½ΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·.

    Если Π²Ρ‹ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с этой Π·Π°Π΄Π°Ρ‡Π΅ΠΉ, Ρ‚ΠΎ Π·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ это Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. Π”Π°ΠΆΠ΅ Ссли Π²Ρ‹ ΠΎΡ‡Π΅Π½ΡŒ сильно ΠΏΡ‹Ρ‚Π°Π»ΠΈΡΡŒ, Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ Π²Π°ΠΌ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΡΠ΄Π°Ρ‚ΡŒΡΡ.

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

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

    Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ Π­ΠΉΠ»Π΅Ρ€ Π΄ΡƒΠΌΠ°Π», ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½ Π½Π°ΡˆΡ‘Π» Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅.

    НачнСм с прСдставлСния Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ³ΠΎ

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

    Π•ΡΡ‚ΡŒ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ Ρ€Π°Π·Π½Ρ‹Ρ… мСста: Π΄Π²Π° острова ΠΈ Π΄Π²Π΅ части ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠΊΠ°. И сСмь мостов. Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ, сущСствуСт Π»ΠΈ какая-Π»ΠΈΠ±ΠΎ Π·Π°ΠΊΠΎΠ½ΠΎΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ Π² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ количСства мостов, связанных с островами ΠΈΠ»ΠΈ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠΊΠΎΠΌ (ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ β€œΠ·Π΅ΠΌΠ»Ρβ€ для обозначСния Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… мСст)?

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

    На ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ взгляд каТСтся, Ρ‡Ρ‚ΠΎ это ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ шаблон. Π•ΡΡ‚ΡŒ Π½Π΅Ρ‡Ρ‘Ρ‚Π½ΠΎΠ΅ количСство мостов, связанных с ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π·Π΅ΠΌΠ»Ρ‘ΠΉ. Если Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΡΠ΅Ρ‡ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ мост ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·, Ρ‚ΠΎ Π²Π°ΠΌ достаточно Π·Π°ΠΉΡ‚ΠΈ Π½Π° зСмлю ΠΈ сойти с Π½Π΅Ρ‘, Ссли ΠΎΠ½Π° ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π° моста.

    На рисункС Π²Ρ‹ΡˆΠ΅ Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ Ссли Π²Ρ‹ Π·Π°Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ Π½Π° зСмлю, ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΡΡΡŒ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ мосту, Π²Ρ‹ всСгда ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΊΠΈΠ½ΡƒΡ‚ΡŒ зСмлю, пройдя ΠΏΠΎ Π΅Ρ‘ Π²Ρ‚ΠΎΡ€ΠΎΠΌΡƒ мосту. Всякий Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° появляСтся Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ мост, Π²Ρ‹ Π½Π΅ смоТСтС ΠΏΠΎΠΊΠΈΠ½ΡƒΡ‚ΡŒ зСмлю, ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²ΠΎΠΉΠ΄Ρ‘Ρ‚Π΅ Π² Π½Π΅Π΅.

    Если Π²Ρ‹ ΠΏΠΎΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ ΠΎΠ±ΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ это рассуТдСниС для ΠΎΠ΄Π½ΠΎΠ³ΠΎ участка Π·Π΅ΠΌΠ»ΠΈ, Ρ‚ΠΎ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π² случаС Ρ‡Ρ‘Ρ‚Π½ΠΎΠ³ΠΎ количСства мостов всСгда ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΊΠΈΠ½ΡƒΡ‚ΡŒ зСмлю, Π° Π² случаС Π½Π΅Ρ‡Ρ‘Ρ‚Π½ΠΎΠ³ΠΎ – Π½Π΅Ρ‚.

    ИзмСним условиС

    Π”Π°Π²Π°ΠΉΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π½ΠΎΠ²Ρ‹ΠΉ мост, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ измСнится количСство ΠΎΠ±Ρ‰ΠΈΡ… соСдинённых мостов, ΠΈ Ρ€Π΅ΡˆΠΈΡ‚ Π»ΠΈ ΠΎΠ½ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ:

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

    Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° Ρƒ нас Π΅ΡΡ‚ΡŒ Π΄Π²Π° Ρ‡Π΅Ρ‚Π½Ρ‹Ρ… (4 ΠΈ 4) ΠΈ Π΄Π²Π° Π½Π΅Ρ‡Π΅Ρ‚Π½Ρ‹Ρ… (3 ΠΈ 5) числа мостов, ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰ΠΈΡ… Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ части Π·Π΅ΠΌΠ»ΠΈ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ нарисуСм Π½ΠΎΠ²Ρ‹ΠΉ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ с Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ этого Π½ΠΎΠ²ΠΎΠ³ΠΎ моста.

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

    ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ Π³Ρ€Π°Ρ„Π°ΠΌ

    ΠœΡ‹ ΡƒΠ²ΠΈΠ΄Π΅Π»ΠΈ, Ρ‡Ρ‚ΠΎ число Ρ‡Ρ‘Ρ‚Π½Ρ‹Ρ… ΠΈ Π½Π΅Ρ‡Ρ‘Ρ‚Π½Ρ‹Ρ… мостов сыграло свою Ρ€ΠΎΠ»ΡŒ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ. Π’ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ вопрос. ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ мостов Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ? И Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π»ΠΈ это Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π²ΠΎ всСх случаях? ΠžΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ΡΡ, это Π½Π΅ Ρ‚Π°ΠΊ. Π’ΠΎΡ‚ Ρ‡Ρ‚ΠΎ сдСлал Π­ΠΉΠ»Π΅Ρ€. Он Π½Π°ΡˆΡ‘Π» способ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ количСство мостов ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π§Ρ‚ΠΎ Π±ΠΎΠ»Π΅Π΅ интСрСсно, Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ количСство участков Π·Π΅ΠΌΠ»ΠΈ с Π½Π΅Ρ‡Ρ‘Ρ‚Π½Ρ‹ΠΌ количСством соСдинённых мостов. ИмСнно Ρ‚ΠΎΠ³Π΄Π° Π­ΠΉΠ»Π΅Ρ€ Π½Π°Ρ‡Π°Π» ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Π·Π΅ΠΌΠ»ΠΈ ΠΈ мосты Π² Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ ΠΊΠ°ΠΊ Π³Ρ€Π°Ρ„Ρ‹. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Π³Ρ€Π°Ρ„ этой Π·Π°Π΄Π°Ρ‡ΠΈ (ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ моста Π½Π΅Ρ‚).

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

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

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

    Π˜Ρ‚Π°ΠΊ, Π³Ρ€Π°Ρ„Ρ‹ – Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ Π²Ρ‹Π±ΠΎΡ€ для Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ

    Но сСйчас Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠšΡ‘Π½ΠΈΠ³ΡΠ±Π΅Ρ€Π³ΡΠΊΠΈΡ… мостов ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½Π° с использованиСм Π³Ρ€Π°Ρ„ΠΎΠ². ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° количСство Π»ΠΈΠ½ΠΈΠΉ, выходящих ΠΈΠ· ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΡ€ΡƒΠ³Π°. Π‘ этого ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π½Π°Π·Ρ‹Π²Π°Π»ΠΈ β€œΠΊΡ€ΡƒΠ³Π°ΠΌΠΈβ€, Π±ΡƒΠ΄Π΅ΠΌ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π²Π΅Ρ€ΡˆΠΈΠ½Π°ΠΌΠΈ, Π° β€œΠ»ΠΈΠ½ΠΈΠΈβ€ – Ρ€Ρ‘Π±Ρ€Π°ΠΌΠΈ.

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

    Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ Π²Π°ΠΆΠ½Ρ‹ΠΌ ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠΌ являСтся Ρ‚Π°ΠΊ называСмая ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹, число Ρ€Ρ‘Π±Π΅Ρ€, связанных с Π²Π΅Ρ€ΡˆΠΈΠ½ΠΎΠΉ. Π’ нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²Ρ‹ΡˆΠ΅ число мостов, связанных с Π·Π΅ΠΌΠ»Ρ‘ΠΉ, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΎ ΠΊΠ°ΠΊ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹.

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

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

    ΠŸΡƒΡ‚ΡŒ Π­ΠΉΠ»Π΅Ρ€Π° ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ Π½Π΅ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π³Ρ€Π°Ρ„Π° G(V, E) являСтся Ρ‚Π°ΠΊΠΈΠΌ ΠΏΡƒΡ‚Ρ‘ΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Ρ€Π΅Π±Ρ€ΠΎ G появляСтся Π½Π° Π½Ρ‘ΠΌ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·. Если G ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡƒΡ‚ΡŒ Π­ΠΉΠ»Π΅Ρ€Π°, Ρ‚ΠΎ ΠΎΠ½ называСтся Π³Ρ€Π°Ρ„ΠΎΠΌ Π­ΠΉΠ»Π΅Ρ€Π°.

    Π’Π΅ΠΎΡ€Π΅ΠΌΠ°

    ΠšΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ Π½Π΅ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ связный Π³Ρ€Π°Ρ„ – это Π³Ρ€Π°Ρ„ Π­ΠΉΠ»Π΅Ρ€Π° Ρ‚ΠΎΠ³Π΄Π° ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Ρ€ΠΎΠ²Π½ΠΎ Π΄Π²Π΅ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ Π½Π΅Ρ‡Ρ‘Ρ‚Π½ΡƒΡŽ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ, ΠΈΠ»ΠΈ всС Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‡Ρ‘Ρ‚Π½ΡƒΡŽ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ.

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

    НовыС Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹

    ΠŸΡ€Π΅ΠΆΠ΄Π΅ всСго, Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π½ΠΎΠ²Ρ‹Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹, Π²ΡΡ‚Ρ€Π΅Ρ‚ΠΈΠ²ΡˆΠΈΠ΅ΡΡ Π² Ρ‚Π΅ΠΎΡ€Π΅ΠΌΠ΅ ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ Π²Ρ‹ΡˆΠ΅:

    НСкоторыС ΠΈΠ· этих Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ² ΠΌΡ‹ Π·Π°Ρ‚Ρ€ΠΎΠ½Π΅ΠΌ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡƒΠ½ΠΊΡ‚Π°Ρ….

    Π“Ρ€Π°Ρ„Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈ Π½Π΅ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ.

    Π­Ρ‚ΠΎ ΠΎΠ΄Π½ΠΎ ΠΈΠ· интСрСсных свойств Π³Ρ€Π°Ρ„ΠΎΠ². К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Π²ΠΎΠ·ΡŒΠΌΡ‘ΠΌ Facebook ΠΈ Twitter. β€œΠ”Ρ€ΡƒΠΆΠ±Π°β€ Π² Facebook ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»Π΅Π³ΠΊΠΎ прСдставлСна ΠΊΠ°ΠΊ Π½Π΅ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π³Ρ€Π°Ρ„. НапримСр, Ссли Алиса являСтся Π΄Ρ€ΡƒΠ³ΠΎΠΌ Π‘ΠΎΠ±Π°, Ρ‚ΠΎ Π‘ΠΎΠ± Ρ‚ΠΎΠΆΠ΅ являСтся Π΄Ρ€ΡƒΠ³ΠΎΠΌ Алисы. НСт ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ направлСния, ΠΎΠ±Π° Π΄Ρ€ΡƒΠΆΠ°Ρ‚ Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ.

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

    Π’Π°ΠΊΠΆΠ΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ, ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π½ΡƒΡŽ ΠΊΠ°ΠΊ Patrick: ΠΎΠ½Π° особСнная (Π½Π΅Ρ‚ Π΄Ρ€ΡƒΠ·Π΅ΠΉ), Ρ‚. ΠΊ. ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ€Ρ‘Π±Ρ€Π°. Π­Ρ‚ΠΎ всё Π΅Ρ‰Ρ‘ Ρ‡Π°ΡΡ‚ΡŒ Π³Ρ€Π°Ρ„Π°, Π½ΠΎ Π² Ρ‚Π°ΠΊΠΎΠΌ случаС ΠΌΡ‹ скаТСм, Ρ‡Ρ‚ΠΎ этот Π³Ρ€Π°Ρ„ нСсвязный (Ρ‚ΠΎ ΠΆΠ΅ самоС относится ΠΊ Π”ΠΆΠΎΠ½Ρƒ, ΠΡˆΠΎΡ‚Ρƒ ΠΈ Π‘Π΅Ρ‚Ρƒ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ΠΈ взаимосвязаны Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ, Π½ΠΎ ΠΎΡ‚Π΄Π΅Π»Π΅Π½Ρ‹ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ…). Π’ связном Π³Ρ€Π°Ρ„Π΅ Π½Π΅ сущСствуСт нСдостиТимых Π²Π΅Ρ€ΡˆΠΈΠ½, Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ°Ρ€ΠΎΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½.

    Π’ΠΎΠΏΡ€Π΅ΠΊΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ Facebook, Ссли Алиса Ρ„ΠΎΠ»Π»ΠΎΠ²ΠΈΡ‚ Π‘ΠΎΠ±Π° Π² Twitter, это Π½Π΅ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π‘ΠΎΠ± Ρ„ΠΎΠ»Π»ΠΎΠ²ΠΈΡ‚ Алису. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, β€œfollow” Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ направлСния, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ, какая Π²Π΅Ρ€ΡˆΠΈΠ½Π° (ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ) ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½ΠΎΠ΅ Ρ€Π΅Π±Ρ€ΠΎ (Ρ„ΠΎΠ»Π»ΠΎΠ²ΠΈΡ‚) ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Π΅ (Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ).

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

    ВСрнёмся ΠΊ Π³Ρ€Π°Ρ„Ρƒ Π­ΠΉΠ»Π΅Ρ€Π°

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

    Π˜Ρ‚Π°ΠΊ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ обсуТдали ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ ΠšΡ‘Π½ΠΈΠ³ΡΠ±Π΅Ρ€Π³ΡΠΊΠΈΡ… мостов ΠΈ Π³Ρ€Π°Ρ„Ρ‹ Π­ΠΉΠ»Π΅Ρ€Π° Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ? Π­Ρ‚ΠΎ Π½Π΅ Ρ‚Π°ΠΊ скучно, ΠΈ, исслСдуя Π·Π°Π΄Π°Ρ‡Ρƒ ΠΈ Π²Ρ‹ΡˆΠ΅ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, ΠΌΡ‹ ΠΊΠΎΡΠ½ΡƒΠ»ΠΈΡΡŒ основных элСмСнтов Π³Ρ€Π°Ρ„ΠΎΠ² (Π²Π΅Ρ€ΡˆΠΈΠ½Π°, Ρ€Π΅Π±Ρ€ΠΎ, Π²ΠΈΠ΄Ρ‹ Π³Ρ€Π°Ρ„ΠΎΠ² ΠΈ Ρ‚. ΠΏ.), избСгая сухого тСорСтичСского ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°. И Π½Π΅Ρ‚, ΠΌΡ‹ Π΅Ρ‰Ρ‘ Π½Π΅ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ»ΠΈ с Π³Ρ€Π°Ρ„Π°ΠΌΠΈ Π­ΠΉΠ»Π΅Ρ€Π° ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ Π²Ρ‹ΡˆΠ΅.

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

    ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΎΠ²: Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅

    Π­Ρ‚ΠΎ довольно ΡƒΡ‚ΠΎΠΌΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Π·Π°Π΄Π°Ρ‡Π°, поэтому Π±ΡƒΠ΄ΡŒΡ‚Π΅ Ρ‚Π΅Ρ€ΠΏΠ΅Π»ΠΈΠ²Ρ‹. ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅ противостояниС массивов ΠΈ связных списков? Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ массивы, Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ быстрый доступ ΠΊ элСмСнту, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ списки, Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ½Π° быстрая вставка/ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ элСмСнта ΠΈ Ρ‚.Π΄. Вряд Π»ΠΈ Π²Ρ‹ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π»ΠΈΡΡŒ с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, β€œΠΊΠ°ΠΊ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ списки”. Π’ случаС Π³Ρ€Π°Ρ„ΠΎΠ² фактичСскоС прСдставлСниС Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ бСспокоит, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ сначала Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ Π²Ρ‹ ΡΠΎΠ±ΠΈΡ€Π°Π΅Ρ‚Π΅ΡΡŒ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„. И ΠΏΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Π²Π°ΠΌ это Π½Π΅ понравится. Бписок смСТности, ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° смСТности, ΠΈΠ»ΠΈ, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, список Ρ€Ρ‘Π±Π΅Ρ€?

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

    ΠŸΡ€Π΅ΠΆΠ΄Π΅ всСго, Π½Π°Ρ‡Π½Ρ‘ΠΌ с Π΄Π΅Ρ€Π΅Π²Π°. Π”ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ, Π²Ρ‹ Π²ΠΈΠ΄Π΅Π»ΠΈ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·.

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

    ΠŸΡ€ΠΎΡΡ‚ΠΎ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΎ состоит ΠΈΠ· Π²Π΅Ρ€ΡˆΠΈΠ½ ΠΈ Ρ€Ρ‘Π±Π΅Ρ€, это Π³Ρ€Π°Ρ„. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΡΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ прСдставлСно Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ.

    Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ слишком простым для людСй, Π·Π½Π°ΠΊΠΎΠΌΡ‹Ρ… с Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΌΠΈ Π΄Π΅Ρ€Π΅Π²ΡŒΡΠΌΠΈ, ΠΎΠ΄Π½Π°ΠΊΠΎ всё ΠΆΠ΅ стоит ΠΏΡ€ΠΎΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ это, Ρ‡Ρ‚ΠΎΠ±Ρ‹ всС ΠΏΠΎΠ½ΠΈΠΌΠ°Π»ΠΈ, ΠΎ Ρ‡Ρ‘ΠΌ ΠΈΠ΄Ρ‘Ρ‚ Ρ€Π΅Ρ‡ΡŒ (ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ всё Π΅Ρ‰Ρ‘ ΠΈΠΌΠ΅Π΅ΠΌ Π΄Π΅Π»ΠΎ с псСвдокодом).

    Если Π²Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚Π΅ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ с Π΄Π΅Ρ€Π΅Π²ΡŒΡΠΌΠΈ, Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ псСвдокод Π²Ρ‹ΡˆΠ΅, Π° Π·Π°Ρ‚Π΅ΠΌ слСдуйтС инструкциям Π½Π° рисункС Π½ΠΈΠΆΠ΅.

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

    Π‘ΠΈΠ½Π°Ρ€Π½ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ поиска

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

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

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

    ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΎΠ² ΠΈ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… Π΄Π΅Ρ€Π΅Π²ΡŒΠ΅Π² (ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Airbnb)

    Π”Π΅Ρ€Π΅Π²ΡŒΡ – ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ структуры Π΄Π°Π½Π½Ρ‹Ρ…. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ Π½Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Π»ΠΈ Π΄Π΅Ρ€Π΅Π²ΠΎ с нуля Π² своих ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…. Но Π²Ρ‹, вСроятно, использовали ΠΈΡ…, Π΄Π°ΠΆΠ΅ Π½Π΅ замСчая. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим искусствСнный, Π½ΠΎ Ρ†Π΅Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈ попытаСмся ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ Π½Π° вопрос β€œΠ·Π°Ρ‡Π΅ΠΌβ€: β€œΠ·Π°Ρ‡Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ поиска?”.

    Как Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Π² Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠΌ Π΄Π΅Ρ€Π΅Π²Π΅ поиска Π΅ΡΡ‚ΡŒ поиск. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, всё, Ρ‡Ρ‚ΠΎ нуТдаСтся Π² быстром поискС, слСдуСт ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ поиска. β€œΠ‘Π»Π΅Π΄ΡƒΠ΅Ρ‚β€ Π½Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚ β€œΠ½Π°Π΄ΠΎβ€. Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π³Π»Π°Π²Π½ΠΎΠ΅ – это Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Ρ… инструмСнтов. БущСствуСт ΠΌΠ½ΠΎΠ³ΠΎ ситуаций, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… простой связный список со ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ O(N) Π±ΡƒΠ΄Π΅Ρ‚ Π»ΡƒΡ‡ΡˆΠ΅ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ Π΄Π΅Ρ€Π΅Π²Π° со ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ O(logN).

    Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ BST, скорСС всСго std::map ΠΈΠ»ΠΈ std::set Π² C++. Однако Π² этом ΡƒΡ€ΠΎΠΊΠ΅ ΠΌΡ‹ Π²ΠΎΠ»ΡŒΠ½Ρ‹ ΠΈΠ·ΠΎΠ±Ρ€Π΅Ρ‚Π°Ρ‚ΡŒ собствСнноС колСсо. BST Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° практичСски Π² любом соврСмСнном языкС программирования. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ ΠΈΡ… Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ вашСго любимого языка.

    ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ Airbnb

    ΠŸΡ€ΠΈΠ±Π»ΠΈΠΆΠ°ΡΡΡŒ ΠΊ «Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ», Π²ΠΎΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ попытаСмся Ρ€Π΅ΡˆΠΈΡ‚ΡŒ – Airbnb Home Search.

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

    Как ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ быстро ΠΈΡΠΊΠ°Ρ‚ΡŒ Π΄ΠΎΠΌΠ° Π½Π° основС Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ запроса с мноТСством Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²? Π­Ρ‚ΠΎ слоТная Π·Π°Π΄Π°Ρ‡Π°. Она становится Ρ‚Ρ€ΡƒΠ΄Π½Π΅Π΅, Ссли ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Airbnb Ρ…Ρ€Π°Π½ΠΈΡ‚ 4 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π° списков.
    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

    Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΈΡ‰ΡƒΡ‚ Π΄ΠΎΠΌΠ°, Π΅ΡΡ‚ΡŒ шанс, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ β€œΠΊΠΎΡΠ½ΡƒΡ‚ΡŒΡΡβ€ 4 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² записСй, хранящихся Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Ρ‹ «Ρ‚ΠΎΠΏ-Π»ΠΈΡΡ‚Π°ΠΌΠΈβ€œ, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌΠΈ Π½Π° домашнСй страницС сайта, ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΠΎΡ‡Ρ‚ΠΈ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π±Ρ‹Π²Π°Π΅Ρ‚ слишком Π»ΡŽΠ±ΠΎΠΏΡ‹Ρ‚Π΅Π½, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹ списков. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ Π΄ΠΎΠΌ, просмотрСв Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 1000 ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

    НаиболСС Π²Π°ΠΆΠ½Ρ‹ΠΌ Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ здСсь являСтся количСство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΎΠ½Π»Π°ΠΉΠ½, Ρ‚.ΠΊ. ΠΎΡ‚ этого зависят структуры Π΄Π°Π½Π½Ρ‹Ρ…, Π²Ρ‹Π±ΠΎΡ€ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² Ρ†Π΅Π»ΠΎΠΌ. ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ Ссли ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 100 ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π΅ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡ‚ΡŒΡΡ ΠΎΠ± этом Π²ΠΎΠΎΠ±Ρ‰Π΅.

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

    Google, Facebook, Airbnb, Netflix, Amazon, Twitter ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΈΠΌΠ΅ΡŽΡ‚ Π΄Π΅Π»ΠΎ с ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹ΠΌ количСством Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ для обслуТивания ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² Π±Π°ΠΉΡ‚ Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠ°ΠΆΠ΄ΡƒΡŽ сСкунду начинаСтся с Π½Π°ΠΉΠΌΠ° Ρ…ΠΎΡ€ΠΎΡˆΠΈΡ… ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ². Всё, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Ρ‚Π°ΠΊΠΈΠΌ компаниям – это ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€, способный Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ самым быстрым ΠΈ эффСктивным способом.

    Π˜Ρ‚Π°ΠΊ, Π²ΠΎΡ‚ классичСский ΠΏΡ€ΠΈΠΌΠ΅Ρ€. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ посСщаСт домашнюю страницу (ΠΌΡ‹ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎΠ± Airbnb) ΠΈ пытаСтся ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ всС прСдлоТСния, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠ΅Π΅ соотвСтствиС. Как Π±Ρ‹ ΠΌΡ‹ ΡΠΏΡ€Π°Π²ΠΈΠ»ΠΈΡΡŒ с этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ?

    РассчитываСм ΠΎΠ±ΡŠΡ‘ΠΌ Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΠΎΠΉ памяти

    Π”Π°Π²Π°ΠΉΡ‚Π΅ Π½Π°Ρ‡Π½Ρ‘ΠΌ с Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ:

    Бколько памяти потрСбуСтся для хранСния Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ…? Если ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ Π΄Π΅Π»ΠΎ с 4 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π°ΠΌΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ† Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈ, Ссли ΠΌΡ‹, вСроятно, Π·Π½Π°Π΅ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ памяти: 4M * sizeof(one_unit).

    Рассмотрим ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ β€œΠ΄ΠΎΠΌβ€ ΠΈ Π΅Π³ΠΎ свойства. По ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, рассмотрим Ρ‚Π΅ свойства, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄Π΅Π»ΠΎ ΠΏΡ€ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ (β€œΠ΄ΠΎΠΌβ€ – это наша Π΅Π΄ΠΈΠ½ΠΈΡ†Π°). ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π΅Π³ΠΎ ΠΊΠ°ΠΊ структуру C++ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ псСвдокодС. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»Π΅Π³ΠΊΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ схСмы MobgoDB ΠΈΠ»ΠΈ Π΅Ρ‰Ρ‘ Π²ΠΎ Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ. ΠœΡ‹ просто обсуТдаСм ΠΈΠΌΠ΅Π½Π° ΠΈ Ρ‚ΠΈΠΏΡ‹ свойств (ΠΏΠΎΠ΄ΡƒΠΌΠ°ΠΉΡ‚Π΅ ΠΎΠ± использовании bitfields ΠΈΠ»ΠΈ bitsets для экономии пространства).

    ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, эта структура Π½Π΅ являСтся ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎΠΉ. Она создана Π½Π° основС Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ² Airbnb с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ списков свойств, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΠΈΡ‚ΡŒ поисковыС запросы. Π­Ρ‚ΠΎ просто ΠΏΡ€ΠΈΠΌΠ΅Ρ€.

    РассматриваСм ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ AirbnbHome ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅

    Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ, сколько Π±Π°ΠΉΡ‚ Π² памяти Π·Π°ΠΉΠΌΡ‘Ρ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ AirbnbHome.

    Имя дома

    Π€ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ

    Π€ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ хранятся Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°Ρ…, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Amazon S3 (насколько я знаю, это ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Π΅Ρ€Π½ΠΎ для Airbnb, Π½ΠΎ ΠΎΠΏΡΡ‚ΡŒ ΠΆΠ΅, Amazon S3 – это просто ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅).

    URL Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΉ

    Учитывая Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ Π½Π΅ сущСствуСт стандартного ограничСния Π½Π° URL-адрСса, Π²ΠΎΠ·ΡŒΠΌΡ‘ΠΌ 2000 символов. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, учитывая, Ρ‡Ρ‚ΠΎ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ объявлСнии Π΅ΡΡ‚ΡŒ 5 Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΉ Π² срСднСм, это Π·Π°ΠΉΠΌΡ‘Ρ‚

    ID Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΉ

    ID хоста

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

    Услуги

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

    НапримСр, Ссли Ρƒ Π΄ΠΎΠΌΠ° Π΅ΡΡ‚ΡŒ ΡΡ‚ΠΈΡ€Π°Π»ΡŒΠ½Π°Ρ машина:

    Или Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ:

    ΠŸΡ€Π°Π²ΠΈΠ»Π° Π΄ΠΎΠΌΠ°, Ρ‚ΠΈΠΏ Π΄ΠΎΠΌΠ°

    Π’Π° ΠΆΠ΅ идСя (ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ для поля удобств), Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Ρ‚ΠΈΠΏΠ° Π΄ΠΎΠΌΠ° ΠΈ ΠΏΡ€Π°Π²ΠΈΠ» Π΄ΠΎΠΌΠ°.

    Код страны, Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π³ΠΎΡ€ΠΎΠ΄Π°

    Как ΡƒΠΆΠ΅ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡŒ Π² коммСнтариях ΠΊΠΎΠ΄Π° Π²Ρ‹ΡˆΠ΅, ΠΌΡ‹ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΡˆΠΈΡ€ΠΎΡ‚Ρƒ ΠΈ Π΄ΠΎΠ»Π³ΠΎΡ‚Ρƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ гСопространствСнных запросов. ВмСсто этого ΠΌΡ‹ сохраняСм ΠΊΠΎΠ΄ страны ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π³ΠΎΡ€ΠΎΠ΄Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΡƒΠ·ΠΈΡ‚ΡŒ поиск ΠΏΠΎ ΠΌΠ΅ΡΡ‚ΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ. Код страны ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ прСдставлСн ΠΊΠ°ΠΊ 2, 3 символа ΠΈΠ»ΠΈ 3 Ρ†ΠΈΡ„Ρ€Ρ‹. ΠœΡ‹ сохраним числовоС прСдставлСниС ΠΈ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ushort для Π½Π΅Π³ΠΎ. К (Π½Π΅)ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, сущСствуСт Π³ΠΎΡ€Π°Π·Π΄ΠΎ большС Π³ΠΎΡ€ΠΎΠ΄ΠΎΠ², Ρ‡Π΅ΠΌ стран, поэтому ΠΌΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π³ΠΎΡ€ΠΎΠ΄Π°. ВмСсто этого ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ фактичСскоС Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π³ΠΎΡ€ΠΎΠ΄Π°, сохраняя Π² срСднСм 50 Π±Π°ΠΉΡ‚ для названия Π³ΠΎΡ€ΠΎΠ΄Π° ΠΈ для ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… случаСв, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Π³ΠΎΡ€ΠΎΠ΄ с 85-Π±ΡƒΠΊΠ²Π΅Π½Π½Ρ‹ΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ.

    ΠœΡ‹ Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, которая ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ это Ρ‚ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ свСрхдлинный Π³ΠΎΡ€ΠΎΠ΄ (Π½Π΅ ΠΏΡ‹Ρ‚Π°ΠΉΡ‚Π΅ΡΡŒ Π΅Π³ΠΎ произнСсти). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, учитывая Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ расходы памяти Π½Π° строки ΠΈ Π²Π΅ΠΊΡ‚ΠΎΡ€Ρ‹, ΠΌΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ 32 Π±Π°ΠΉΡ‚Π° (Π½Π° всякий случай) ΠΊ ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ структуры. ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π² 64-Π±ΠΈΡ‚Π½ΠΎΠΉ систСмС, хотя ΠΌΡ‹ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ ΠΎΡ‡Π΅Π½ΡŒ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹Π΅ значСния для int ΠΈ short.

    Π˜Ρ‚ΠΎΠ³ подсчёта

    ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΏΠΎΠ΄Π·Π°Π΄Π°Ρ‡Π΅

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

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

    Если ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ сСбС всС 4 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Ρ‚ΠΎ это Π΄Π΅Ρ€Π΅Π²ΠΎ вырастСт ΠΎΡ‡Π΅Π½ΡŒ сильно. ΠœΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΎΡ‡ΠΈΠΌ, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ расходы памяти Ρ‚Π°ΠΊΠΆΠ΅ растут, Ρ‚.ΠΊ. ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π΄Π΅Ρ€Π΅Π²ΠΎ для хранСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΡƒΠ·Π΅Π» ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π»Π΅Π²Ρ‹ΠΉ ΠΈ ΠΏΡ€Π°Π²Ρ‹ΠΉ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠ΅ элСмСнты, ΠΎΠ½ добавляСт Π΄ΠΎ 8 Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π±Π°ΠΉΡ‚ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ Π΄ΠΎΡ‡Π΅Ρ€Π½Π΅ΠΌΡƒ элСмСнту (ΠΏΡ€ΠΈ условии, Ρ‡Ρ‚ΠΎ это 64-разрядная систСма). Для 4 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² это ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 62ΠœΠ‘, Ρ‡Ρ‚ΠΎ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌΠΈ 2Π“Π‘ выглядит довольно скромно.

    Π”Π΅Ρ€Π΅Π²ΠΎ Π½Π° послСднСм рисункС ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° поиска любого элСмСнта Π±ΡƒΠ΄Π΅Ρ‚ O(log N).

    Π’Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ²

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

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

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

    Бмысл вычислСния алгоритмичСской слоТности Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ зависимости ΠΌΠ΅ΠΆΠ΄Ρƒ количСством ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

    НапримСр, массив ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π²Ρ‹ΡˆΠ΅ ΠΈΠΌΠ΅Π» 100 элСмСнтов, ΠΈ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ΅ количСство ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎΡΡŒ для нахоТдСния Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ элСмСнта. Если количСство элСмСнтов массива увСличится Π΄ΠΎ 1423, Ρ‚ΠΎ количСство ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ увСличится Π΄ΠΎ 1423. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ получаСтся Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ. ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ возрастаСт с ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ΠΌ количСства элСмСнтов. Доступ ΠΊ Π»ΡŽΠ±ΠΎΠΌΡƒ элСмСнту массива Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ константноС врСмя, Ρ‚.Π΅. О(1). Π­Ρ‚ΠΎ ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ΡΡ структурой массива. ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ элСмСнту Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ вычислСния Π΅Π³ΠΎ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ элСмСнта.

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

    Ясно ΠΎΠ΄Π½ΠΎ: Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ поиска Ρ…Ρ€Π°Π½ΠΈΡ‚ свои ΡƒΠ·Π»Ρ‹ Π² отсортированном порядкС. Π˜Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊΠΎΠ²Π° Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° поиска элСмСнта Π² Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠΌ Π΄Π΅Ρ€Π΅Π²Π΅? НуТно Ρ€Π°ΡΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ количСство ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для нахоТдСния элСмСнта (для Ρ…ΡƒΠ΄ΡˆΠ΅Π³ΠΎ случая).

    ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Π½Π° ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ Π²Ρ‹ΡˆΠ΅. Когда ΠΌΡ‹ Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΠΌ поиск с корня, ΠΏΠ΅Ρ€Π²ΠΎΠ΅ сравнСниС ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Ρ‚Ρ€Ρ‘ΠΌ Ρ€Π°Π·Π½Ρ‹ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌ.

    22 сравнСния Π² Ρ…ΡƒΠ΄ΡˆΠ΅ΠΌ случаС.

    ВСрнёмся ΠΊ Π΄Π΅Ρ€Π΅Π²Ρƒ

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

    Π’ этой Π·Π°Π΄Π°Ρ‡Π΅ ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ Π²ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π²Π°ΠΆΠ½ΠΎΠ΅ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅.

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

    Как ΠΈ Ρ…ΡΡˆ-Ρ‚Π°Π±Π»ΠΈΡ†Π°, ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ доступ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ Π½Π°Π±ΠΎΡ€Ρƒ Π΄ΠΎΠΌΠΎΠ² ΠΏΠΎ Ρ†Π΅Π½Π΅. ВсС Π΄ΠΎΠΌΠ° с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΉ Ρ†Π΅Π½ΠΎΠΉ сгруппированы Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ΅ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ сэкономит Π½Π°ΠΌ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ пространство, Ссли ΠΌΡ‹ Ρ…Ρ€Π°Π½ΠΈΠΌ домашниС ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ вмСсто Ρ†Π΅Π»ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π²Ρ‹ΡˆΠ΅ (структура AirbnbHome). НаиболСС вСроятным сцСнариСм являСтся сохранСниС всСх ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, Π² домашнСм ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π΅ Ρ…Π΅Ρˆ-Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ для домашнСго ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ…ΡΡˆ-Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, которая ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Ρ†Π΅Π½Ρ‹ с ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°ΠΌΠΈ Π΄ΠΎΠΌΠΎΠ².

    Балансировка ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π΅ΡˆΠ°ΡŽΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для BST, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ это СдинствСнная гарантия выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с Π΄Π΅Ρ€Π΅Π²ΠΎΠΌ Π·Π° O(logN).

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

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

    Π­Ρ‚ΠΎ ΡƒΠΆΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° Π³Ρ€Π°Ρ„. Π­Ρ‚Π° ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΡ прСдставляСт собой Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ замаскированныС структуры Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π³Ρ€Π°Ρ„Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ приводят нас ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ Ρ€Π°Π·Π΄Π΅Π»Ρƒ.

    ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΎΠ²: Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

    ΠŸΠ»ΠΎΡ…Π°Ρ Π½ΠΎΠ²ΠΎΡΡ‚ΡŒ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ прСдставлСния Π³Ρ€Π°Ρ„ΠΎΠ² Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π½Π΅ сущСствуСт СдинствСнно истинного прСдставлСния Π³Ρ€Π°Ρ„Π°. Π’ΠΎΡ‚ ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π½Π΅ сущСствуСт std::graph Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ…. Π£ нас ΡƒΠΆΠ΅ Π±Ρ‹Π» шанс ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ β€œΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉβ€ Π³Ρ€Π°Ρ„ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ поиска. Π‘ΡƒΡ‚ΡŒ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ всякоС Π΄Π΅Ρ€Π΅Π²ΠΎ – это Π³Ρ€Π°Ρ„, Π½ΠΎ Π½Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π³Ρ€Π°Ρ„ – Π΄Π΅Ρ€Π΅Π²ΠΎ. ПослСдняя ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΡ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π°ΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ нас Π΅ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π΅Ρ€Π΅Π²ΡŒΠ΅Π² ΠΏΠΎΠ΄ ΠΎΠ΄Π½ΠΎΠΉ абстракциСй, «Ρ†Π΅Π½Ρ‹ ΠΏΡ€ΠΎΡ‚ΠΈΠ² Π΄ΠΎΠΌΠΎΠ²β€œ, ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π²Π΅Ρ€ΡˆΠΈΠ½ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΏΠΎ своСму Ρ‚ΠΈΠΏΡƒ, Ρ†Π΅Π½Ρ‹ – это Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ Π³Ρ€Π°Ρ„Π°, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ†Π΅Π½Ρ‹ ΠΈ относящиСся ΠΊΠΎ всСму Π΄Π΅Ρ€Π΅Π²Ρƒ id Π΄ΠΎΠΌΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Ρ†Π΅Π½Π΅. Π­Ρ‚ΠΎ большС ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° Π³ΠΈΠ±Ρ€ΠΈΠ΄Π½ΡƒΡŽ структуру Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Π΅ΠΌ Π½Π° простой Π³Ρ€Π°Ρ„, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ ΠΏΡ€ΠΈΠ²Ρ‹ΠΊΠ»ΠΈ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Π² ΡƒΡ‡Π΅Π±Π½ΠΈΠΊΠ°Ρ….

    Π­Ρ‚ΠΎ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π² прСдставлСнии Π³Ρ€Π°Ρ„ΠΎΠ².

    НС сущСствуСт фиксированной структуры Π΄Π°Π½Π½Ρ‹Ρ… для прСдставлСния Π³Ρ€Π°Ρ„Π° (Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ BST с ΠΈΡ… ΡƒΠ·Π»Π°ΠΌΠΈ ΠΈ Π»Π΅Π²Ρ‹ΠΌΠΈ/ΠΏΡ€Π°Π²Ρ‹ΠΌΠΈ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΌΠΈ элСмСнтами). Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ для вас способом (Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ), Π³Π»Π°Π²Π½ΠΎΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ β€œΠ²ΠΈΠ΄Π΅Π»ΠΈβ€ это ΠΊΠ°ΠΊ Π³Ρ€Π°Ρ„. Под этим ΠΌΡ‹ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² Π½Π° Π³Ρ€Π°Ρ„Π°Ρ….

    Π§Ρ‚ΠΎ касаСтся N-Π°Ρ€Π½ΠΎΠ³ΠΎ Π΄Π΅Ρ€Π΅Π²Π°, это скорСС Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Ρ‚ΡŒ Π³Ρ€Π°Ρ„.

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

    И ΠΏΠ΅Ρ€Π²ΠΎΠ΅, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ Π² Π³ΠΎΠ»ΠΎΠ²Ρƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΡƒΠ·Π΅Π» N-Π°Ρ€Π½ΠΎΠ³ΠΎ Π΄Π΅Ρ€Π΅Π²Π°, это Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ этого:

    Π­Ρ‚Π° структура прСдставляСт собой СдинствСнный ΡƒΠ·Π΅Π» Π΄Π΅Ρ€Π΅Π²Π°. ПолноС Π΄Π΅Ρ€Π΅Π²ΠΎ выглядит ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

    Π“Ρ€Π°Ρ„ ΠΈ Π΄Π΅Ρ€Π΅Π²ΠΎ

    Π“Ρ€Π°Ρ„ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° n-Π°Ρ€Π½ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с нСбольшой Ρ€Π°Π·Π½ΠΈΡ†Π΅ΠΉ.

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

    Π­Ρ‚ΠΎ Π³Ρ€Π°Ρ„? НСт. Π― имСю Π² Π²ΠΈΠ΄Ρƒ Π΄Π°, Π½ΠΎ это Ρ‚ΠΎ ΠΆΠ΅ самоС N-Π°Ρ€Π½ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ, просто ΠΏΠ΅Ρ€Π΅Π²Ρ‘Ρ€Π½ΡƒΡ‚ΠΎΠ΅. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ Π΄Π΅Ρ€Π΅Π²ΠΎ (Π΄Π°ΠΆΠ΅ Ссли это яблоня, Π»ΠΈΠΌΠΎΠ½Π½ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ ΠΈΠ»ΠΈ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ поиска), Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹, Ρ‡Ρ‚ΠΎ это Π³Ρ€Π°Ρ„. Π˜Ρ‚Π°ΠΊ, разрабатывая структуру для Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ Π³Ρ€Π°Ρ„Π°, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ‚Ρƒ ΠΆΠ΅ структуру:

    Достаточно Π»ΠΈ этого для создания ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠ³ΠΎ Π³Ρ€Π°Ρ„Π°?

    НСт. И Π²ΠΎΡ‚ ΠΏΠΎΡ‡Π΅ΠΌΡƒ. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Π½Π° эти Π΄Π²Π° Π³Ρ€Π°Ρ„Π° ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΠΉ ΠΈ Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ:

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

    Π“Ρ€Π°Ρ„ Π½Π° рисункС слСва Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π΅Π΄ΠΈΠ½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ Π²Ρ…ΠΎΠ΄Π° (это скорСС лСс, Ρ‡Π΅ΠΌ ΠΎΠ΄Π½ΠΎ Π΄Π΅Ρ€Π΅Π²ΠΎ). Π“Ρ€Π°Ρ„ Π½Π° рисункС справа Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ нСдостиТимых Π²Π΅Ρ€ΡˆΠΈΠ½. Π—Π²ΡƒΡ‡ΠΈΡ‚ Π·Π½Π°ΠΊΠΎΠΌΠΎ.

    Π“Ρ€Π°Ρ„ являСтся связным, Ссли сущСствуСт ΠΏΡƒΡ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ°Ρ€ΠΎΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½.

    ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π΅ сущСствуСт ΠΏΡƒΡ‚ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ°Ρ€ΠΎΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½ для Π³Ρ€Π°Ρ„Π° β€œΡ†Π΅Π½Ρ‹ vs. дома” (Ссли это Π½Π΅ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ, просто ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Ρ†Π΅Π½Ρ‹ Π½Π΅ связаны Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ). ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это просто ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π½Π΅ Π² состоянии ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ с ΠΎΠ΄Π½ΠΎΠΉ структурой GraphNode, Π΅ΡΡ‚ΡŒ случаи, ΠΊΠΎΠ³Π΄Π° Π½Π°ΠΌ приходится ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄Π΅Π»ΠΎ с Ρ‚Π°ΠΊΠΈΠΌΠΈ нСсвязанными Π³Ρ€Π°Ρ„Π°ΠΌΠΈ. ВзглянитС Π½Π° этот класс:

    Подобно Ρ‚ΠΎΠΌΡƒ, ΠΊΠ°ΠΊ N-Π°Ρ€Π½ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ строится Π²ΠΎΠΊΡ€ΡƒΠ³ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡƒΠ·Π»Π° (ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠ³ΠΎ), связный Π³Ρ€Π°Ρ„ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ построСн Π²ΠΎΠΊΡ€ΡƒΠ³ «ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ» Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹. Говорят, Ρ‡Ρ‚ΠΎ Π΄Π΅Ρ€Π΅Π²ΡŒΡ β€œΡƒΠΊΠΎΡ€Π΅Π½Π΅Π½Ρ‹β€, Ρ‚.Π΅. Ρƒ Π½ΠΈΡ… Π΅ΡΡ‚ΡŒ Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ Ρ‚ΠΎΡ‡ΠΊΠ°. Бвязный Π³Ρ€Π°Ρ„ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ прСдставлСн ΠΊΠ°ΠΊ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ (с нСсколькими Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ свойствами), это ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Π½ΠΎ ΠΈΠΌΠ΅ΠΉΡ‚Π΅ Π² Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ фактичСскоС прСдставлСниС ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΊ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ, ΠΎΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΊ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ Π΄Π°ΠΆΠ΅ для связного Π³Ρ€Π°Ρ„Π°. Однако, учитывая ΠΏΡ€ΠΈΡ€ΠΎΠ΄Ρƒ Π³Ρ€Π°Ρ„ΠΎΠ², нСсвязанный Π³Ρ€Π°Ρ„ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ прСдставлСн ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

    Для ΠΎΠ±Ρ…ΠΎΠ΄ΠΎΠ² Π³Ρ€Π°Ρ„Π°, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ BFS/DFS, Π²ΠΏΠΎΠ»Π½Π΅ СстСствСнно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€Π΅Π²ΠΎΠ²ΠΈΠ΄Π½ΠΎΠ΅ прСдставлСниС. Однако Ρ‚Π°ΠΊΠΈΠ΅ случаи, ΠΊΠ°ΠΊ поиск ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅Π³ΠΎ ΠΏΡƒΡ‚ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ прСдставлСния Π³Ρ€Π°Ρ„Π°. ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅ Π³Ρ€Π°Ρ„ Π­ΠΉΠ»Π΅Ρ€Π°? Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ β€œΡΠΉΠ»Π΅Ρ€Π½ΠΎΡΡ‚ΡŒβ€ Π³Ρ€Π°Ρ„Π°, ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΎΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ ΠΏΡƒΡ‚ΡŒ Π­ΠΉΠ»Π΅Ρ€Π° Π²Π½ΡƒΡ‚Ρ€ΠΈ Π½Π΅Π³ΠΎ. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ сначала ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΡΠ΅Ρ‚ΠΈΡ‚ΡŒ всС Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· ΠΏΡƒΡ‚Ρ‘ΠΌ ΠΎΠ±Ρ…ΠΎΠ΄Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ€Π΅Π±Ρ€Π°, ΠΈ ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΎΡ…ΠΎΠ΄ заканчиваСтся, Π° ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ Π½Π΅ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Π΅ Ρ€Ρ‘Π±Ρ€Π°, Ρ‚ΠΎ Π³Ρ€Π°Ρ„ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡƒΡ‚ΠΈ Π­ΠΉΠ»Π΅Ρ€Π°, ΠΈ поэтому Π½Π΅ являСтся Π³Ρ€Π°Ρ„ΠΎΠΌ Π­ΠΉΠ»Π΅Ρ€Π°.

    БущСствуСт Π±ΠΎΠ»Π΅Π΅ быстрый ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ.

    ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»Π΅Π³ΠΊΠΎ ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ этот ΠΊΠΎΠ΄, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ удовлСтворял всСм вашим потрСбностям.

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Twitter: ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° доставки Ρ‚Π²ΠΈΡ‚ΠΎΠ²

    Π’ΠΎΡ‚ Π΅Ρ‰Ρ‘ ΠΎΠ΄Π½ΠΎ прСдставлСния Π³Ρ€Π°Ρ„Π°, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ΠΉ смСТности, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π² ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π³Ρ€Π°Ρ„Π°Ρ… (вспомнитС ΠΏΡ€ΠΈΠΌΠ΅Ρ€ с Ρ„ΠΎΠ»Π»ΠΎΠ²Π΅Ρ€Π°ΠΌΠΈ Twitter).

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

    Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π΅ΡΡ‚ΡŒ 8 Π²Π΅Ρ€ΡˆΠΈΠ½. Π˜Ρ‚Π°ΠΊ, всё, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ, это ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° |V| x |V| (|V| количСство строк ΠΈ |V| количСство столбцов). Если Π΅ΡΡ‚ΡŒ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½ΠΎΠ΅ Ρ€Π΅Π±Ρ€ΠΎ ΠΎΡ‚ v Π΄ΠΎ u, Ρ‚ΠΎ элСмСнт, находящийся Π² [v][u] Ρ€Π°Π²Π΅Π½ Π΅Π΄ΠΈΠ½ΠΈΡ†Π΅. Π˜Π½Π°Ρ‡Π΅ ΠΎΠ½ Ρ€Π°Π²Π΅Π½ Π½ΡƒΠ»ΡŽ.

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

    Как Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, эта ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° слишком скудна, Π΅Π΅ СдинствСнный плюс – это быстрый доступ ΠΊ элСмСнту. Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ„ΠΎΠ»Π»ΠΎΠ²ΠΈΡ‚ Π»ΠΈ ΠŸΠ°Ρ‚Ρ€ΠΈΠΊ Π“ΡƒΠ±ΠΊΡƒ Π‘ΠΎΠ±Π°, ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ просто ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ [Patrick] [Sponge Bob]. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список подписчиков Ann, ΠΌΡ‹ просто ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌ всю ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ Ann. ΠœΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ смСТности ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Π½Π΅ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π³Ρ€Π°Ρ„ΠΎΠ², ΠΈ вмСсто ΠΎΠ΄Π½ΠΎΠ³ΠΎ значСния, Ссли сущСствуСт Ρ€Π΅Π±Ρ€ΠΎ ΠΈΠ· V Π² U, ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΎΠ±Π° значСния, Ρ€Π°Π²Π½Ρ‹ΠΌΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ†Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ссли adj_matrix[v][u] = 1, Ρ‚ΠΎ ΠΈ adj_matrix[u][v] Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ€Π°Π²Π½ΡΡ‚ΡŒΡΡ Π΅Π΄ΠΈΠ½ΠΈΡ†Π΅. ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° смСТности Π½Π΅ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π³Ρ€Π°Ρ„Π° симмСтрична ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π³Π»Π°Π²Π½ΠΎΠΉ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ.

    ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ вмСсто хранСния Π΅Π΄ΠΈΠ½ΠΈΡ† ΠΈ Π½ΡƒΠ»Π΅ΠΉ Π² ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ смСТности ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ‚Π°ΠΌ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ β€œΠ±ΠΎΠ»Π΅Π΅ полСзноС”, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, вСсовыС коэффициСнты.

    Одним ΠΈΠ· Π»ΡƒΡ‡ΡˆΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π³Ρ€Π°Ρ„ с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ расстоянии ΠΎΡ‚ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ Π΄ΠΎ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹.

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

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

    ИспользованиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ смСТности для хранСния Π³Ρ€Π°Ρ„Π° Ρ„ΠΎΠ»Π»ΠΎΠ²Π΅Ρ€ΠΎΠ² каТСтся Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΎΠ΄Π½Π°ΠΊΠΎ Π½Π΅ стоит Π·Π°Π±Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² Twitter сСйчас сущСствуСт порядка 300 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, поэтому Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ смСТности для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ… Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠΊΠΎΠ»ΠΎ 300 * 300 * 1 Π±Π°ΠΉΡ‚. Π’ΠΎ Π΅ΡΡ‚ΡŒ

    82000 Ρ‚Π΅Ρ€Π°Π±Π°ΠΉΡ‚, Ρ‡Ρ‚ΠΎ составляСт

    1024 * 82000 Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚. Bitsets? BitBoard ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΠΌ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΌΠΎΡ‡ΡŒ, ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΠ² Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π΄ΠΎ

    10000 Ρ‚Π΅Ρ€Π°Π±Π°ΠΉΡ‚. Всё Π΅Ρ‰Ρ‘ слишком ΠΌΠ½ΠΎΠ³ΠΎ. ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° смСТности – ΠΏΠ»ΠΎΡ…ΠΎΠΉ Π²Ρ‹Π±ΠΎΡ€, Ρ‚.ΠΊ. заставляСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ большС мСста, Ρ‡Π΅ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ. Π’ΠΎΡ‚ ΠΏΠΎΡ‡Π΅ΠΌΡƒ использованиС списка Ρ€Π΅Π±Π΅Ρ€, ΠΈΠ½Ρ†ΠΈΠ΄Π΅Π½Ρ‚Π½Ρ‹Ρ… Π²Π΅Ρ€ΡˆΠΈΠ½Π°ΠΌ, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ. Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° смСТности позволяСт Π½Π°ΠΌ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ‚ΠΎΠΌ, подписан Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅Ρ‚, Π° Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎ подписчиках, Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ этого:

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅
    Π˜Π»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΡ справа называСтся списком смСТности.

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

    Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ, Ρ„ΠΎΠ»Π»ΠΎΠ²ΠΈΡ‚ Π»ΠΈ ΠŸΠ°Ρ‚Ρ€ΠΈΠΊ Liz, ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Ρ…Π΅Ρˆ-Ρ‚Π°Π±Π»ΠΈΡ†Π΅ (константноС врСмя) ΠΈ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ всС элСмСнты Π² спискС, ΡΡ€Π°Π²Π½ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт с элСмСнтом β€œLiz” (Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ΅ врСмя). Π›ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ΅ врСмя Π½Π΅ Ρ‚Π°ΠΊ ΡƒΠΆ ΠΈ ΠΏΠ»ΠΎΡ…ΠΎ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π±Ρ€Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ фиксированноС количСство Π²Π΅Ρ€ΡˆΠΈΠ½, смСТных с β€œΠŸΠ°Ρ‚Ρ€ΠΈΠΊΠΎΠΌβ€. Π˜Ρ‚Π°ΠΊ, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 300 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² записСй Ρ…Π΅Ρˆ-Ρ‚Π°Π±Π»ΠΈΡ†, каТдая ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π²Π΅ΠΊΡ‚ΠΎΡ€. НСизвСстно сколько элСмСнтов Ρ‚ΠΎΡ‡Π½ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π²Π΅ΠΊΡ‚ΠΎΡ€, Ρ‚.ΠΊ. отсутствуСт статистика. ΠŸΠΎΠ³ΡƒΠ³Π»ΠΈΠ², ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ срСднСС количСство подписчиков

    12 Ρ‚Π΅Ρ€Π°Π±Π°ΠΉΡ‚. НСльзя ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ этот ΠΎΠ±ΡŠΡ‘ΠΌ ΠΈΠ΄Π΅Π°Π»Π΅Π½, Π½ΠΎ, Π²ΠΎ всяком случаС, это Π»ΡƒΡ‡ΡˆΠ΅, Ρ‡Π΅ΠΌ 10 000 Ρ‚Π΅Ρ€Π°Π±Π°ΠΉΡ‚.

    ЧСстно говоря, нСльзя Ρ‚ΠΎΡ‡Π½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ 12 Ρ‚Π΅Ρ€Π°Π±Π°ΠΉΡ‚ являСтся Ρ€Π°Π·ΡƒΠΌΠ½Ρ‹ΠΌ числом.

    Π§Ρ‚ΠΎ Π² Twitter Π³Π»Π°Π²Π½ΠΎΠ΅?

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

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

    ΠžΠΏΡΡ‚ΡŒ ΠΆΠ΅, ΠΌΡ‹ Π½Π΅ Π·Π½Π°Π΅ΠΌ ΠΎ Ρ‚ΠΎΠΌ, сколько Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ трСбуСтся для доставки ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚Π²ΠΈΡ‚Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ Π΄ΠΎΡˆΡ‘Π» Π΄ΠΎ всСх Ρ„ΠΎΠ»Π»ΠΎΠ²Π΅Ρ€ΠΎΠ², Π½ΠΎ ΠΏΠΎ общСдоступной статистикС ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎ постится ΠΎΠΊΠΎΠ»ΠΎ 500 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² Ρ‚Π²ΠΈΡ‚ΠΎΠ².

    Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, процСсс, ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΡ‘Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅, происходит 500 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² Ρ€Π°Π· ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ дСнь.

    НСльзя Π½Π°ΠΉΡ‚ΠΈ ΠΊΠ°ΠΊΡƒΡŽ-Π»ΠΈΠ±ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΏΠΎ скорости ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Ρ‚Π²ΠΈΡ‚ΠΎΠ². МоТно ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ это врСмя Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠΊΠΎΠ»ΠΎ пяти сСкунд. Но ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° β€œΡ‚ΡΠΆΡ‘Π»Ρ‹Π΅ случаи”: знамСнитости с Π±ΠΎΠ»Π΅Π΅, Ρ‡Π΅ΠΌ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠΌ Ρ„ΠΎΠ»Π»ΠΎΠ²Π΅Ρ€ΠΎΠ². Они ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΎ своСм Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌ Π·Π°Π²Ρ‚Ρ€Π°ΠΊΠ΅ Π² Π΄ΠΎΠΌΠΈΠΊΠ΅ Π½Π° пляТС, Π½ΠΎ Twitter Π±ΡƒΠ΄Π΅Ρ‚ ΡΡ‚Π°Ρ€Π°Ρ‚ΡŒΡΡ ΠΈΠ·ΠΎ всСх сил, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ этот супСр-ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π°ΠΌ Ρ„ΠΎΠ»Π»ΠΎΠ²Π΅Ρ€ΠΎΠ².

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

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

    Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΎΡΠ½ΠΎΠ²Ρ‹Π²Π°ΡΡΡŒ Π½Π° этой ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° Liz постит Π½ΠΎΠ²Ρ‹ΠΉ Ρ‚Π²ΠΈΡ‚, Π“ΡƒΠ±ΠΊΠ° Π‘ΠΎΠ± ΠΈ Ann Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ этот Ρ‚Π²ΠΈΡ‚ Π² своСй Π»Π΅Π½Ρ‚Π΅ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ врСмя. ΠžΠ±Ρ‰ΠΈΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ для достиТСния этой Ρ†Π΅Π»ΠΈ – сохранСниС ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… структур для Π»Π΅Π½Ρ‚Ρ‹ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Π’ случаС 300+ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Twitter, ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅ 300+ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² Π»Π΅Π½Ρ‚ (для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ). Π’ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅, всякий Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ постит Ρ‚Π²ΠΈΡ‚, ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список подписчиков ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π»Π΅Π½Ρ‚Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ…. Π›Π΅Π½Ρ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ прСдставлСна Π² качСствС связного списка ΠΈΠ»ΠΈ АВЛ-Π΄Π΅Ρ€Π΅Π²Π°.

    Π­Ρ‚ΠΎ всСго лишь основная идСя, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ абстрагировали ΠΎΡ‚ фактичСского прСдставлСния Π»Π΅Π½Ρ‚Ρ‹, ΠΈ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ доставку быстрСС, Ссли ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ.

    Π­Ρ‚ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π΅ΡˆΠ°ΡŽΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для «Ρ‚яТСлых случаСв», ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ срСди ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² послСдоватСлСй Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ находятся Π±Π»ΠΈΠΆΠ΅ ΠΊ ΠΊΠΎΠ½Ρ†Ρƒ, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΠΎΠ·ΠΆΠ΅, Ρ‡Π΅ΠΌ Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ находятся Π±Π»ΠΈΠΆΠ΅ ΠΊ Π½Π°Ρ‡Π°Π»Ρƒ списка.

    ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡŽΡ‚ свою Π»Π΅Π½Ρ‚Ρƒ, ΠΎΠ½ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ Π½ΠΎΠ²Ρ‹ΠΉ Ρ‚Π²ΠΈΡ‚.

    БправСдливости Ρ€Π°Π΄ΠΈ слСдуСт ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ просто ΠΊΠΎΡΠ½ΡƒΠ»ΠΈΡΡŒ Π²Π΅Ρ€Ρ…ΡƒΡˆΠΊΠΈ айсбСрга Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π² Airbnb ΠΈΠ»ΠΈ Twitter. Π­Ρ‚ΠΎ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρƒ Ρ‚Π°Π»Π°Π½Ρ‚Π»ΠΈΠ²Ρ‹Ρ… ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ Ρ‚Π°ΠΊΠΈΡ… Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Π² слоТных систСмах, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Twitter, Google, Facebook, Amazon, Airbnb ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ…. ΠŸΡ€ΠΎΡΡ‚ΠΎ ΠΈΠΌΠ΅ΠΉΡ‚Π΅ это Π² Π²ΠΈΠ΄Ρƒ, читая эту ΡΡ‚Π°Ρ‚ΡŒΡŽ.

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅
    Бмысл дСмонстрации ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ доставки Ρ‚Π²ΠΈΡ‚ΠΎΠ² Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΎΠ², Π½ΠΎ ΠΏΠΎΠΊΠ° Π±Π΅Π· использования Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ².

    ΠœΡ‹ обсуТдали Π΄ΠΎΠΌΠ° Airbnb ΠΈ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡŽ, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ графичСскиС прСдставлСния, ΠΈ Π³Π»Π°Π²Π½ΠΎΠΉ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎΠΉ Π²Π΅Ρ‰ΡŒΡŽ Π±Ρ‹Π»Π° Π½Π΅ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ эффСктивно Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎΠΌΠ° с нСсколькими ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°. Π•ΡΡ‚ΡŒ Π»ΠΈ Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² Π½Π° Π³Ρ€Π°Ρ„Π°Ρ…? ΠœΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Ρ‚ΠΎΡ‡Π½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Π½ΠΎ, ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ. Π§Ρ‚ΠΎ, Ссли ΠΌΡ‹ прСдставим ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ ΠΊΠ°ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ?

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅
    ΠœΡ‹ Π΄Π°ΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ этот Π½Π°Π±ΠΎΡ€, сгруппировав удобства ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ Ρ‚ΠΈΠΏΠ°ΠΌ.

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅
    Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Ρ‡Ρ‚ΠΎ Ссли ΠΌΡ‹ прСдставляСм Airbnb Π΄ΠΎΠΌΠ° ΠΊΠ°ΠΊ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹, Π° Π·Π°Ρ‚Π΅ΠΌ соСдиним ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π΄ΠΎΠΌ с Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅ΠΌΡƒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚?

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅
    ИзмСнСниС этой ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Ρ‘ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΡ…ΠΎΠΆΠ΅ΠΉ Π½Π° ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ Π³Ρ€Π°Ρ„Π°, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ Π΄Π²ΡƒΠ΄ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ Π³Ρ€Π°Ρ„ΠΎΠΌ.

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

    Алгоритмы Π½Π° Π³Ρ€Π°Ρ„Π°Ρ…: Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅

    Π”Π²ΡƒΠ΄ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Π³Ρ€Π°Ρ„ ΠΈΠ»ΠΈ Π±ΠΈΠ³Ρ€Π°Ρ„ β€” это Π³Ρ€Π°Ρ„, мноТСство Π²Π΅Ρ€ΡˆΠΈΠ½ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ Π½Π° Π΄Π²Π΅ части Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Ρ€Π΅Π±Ρ€ΠΎ Π³Ρ€Π°Ρ„Π° соСдиняСт ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ части с ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ Π²Π΅Ρ€ΡˆΠΈΠ½ΠΎΠΉ Π΄Ρ€ΡƒΠ³ΠΎΠΉ части, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π½Π΅ сущСствуСт Ρ€Π΅Π±Ρ€Π°, ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰Π΅Π³ΠΎ Π΄Π²Π΅ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ части. β€” ВикипСдия.

    Π—Π°Π΄Π°Ρ‡Π°

    Π›ΡŽΠ±Π°Ρ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π³Ρ€Π°Ρ„Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ классифицирована ΠΊΠ°ΠΊ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π³Ρ€Π°Ρ„Π°. Π’Ρ‹ Π² Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎΠΌ смыслС ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π²Ρ‹Π²ΠΎΠ΄ΡΡ‰ΡƒΡŽ всС Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ Π³Ρ€Π°Ρ„Π°. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΈΠ· нас боится Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠ΄Ρ‘Ρ‚ Ρ€Π΅Ρ‡ΡŒ Π² ΡƒΡ‡Π΅Π±Π½ΠΈΠΊΠ°Ρ…. Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π₯ΠΎΠΏΠΊΡ€ΠΎΡ„Ρ‚Π°-ΠšΠ°Ρ€ΠΏΠ° для сопоставлСния Π΄Π²ΡƒΠ΄ΠΎΠ»ΡŒΠ½Ρ‹Ρ… Π³Ρ€Π°Ρ„ΠΎΠ² ΠΊ нашСй Π·Π°Π΄Π°Ρ‡Π΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ Π΄ΠΎΠΌΠΎΠ² Airbnb:

    Π”Π°Π½ Π΄Π²ΡƒΠ΄ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Π³Ρ€Π°Ρ„ Π΄ΠΎΠΌΠΎΠ² Airbnb (H) ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ² (F), Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт (Π²Π΅Ρ€ΡˆΠΈΠ½Π°) H ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ сосСдними элСмСнтами (Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹) F (с ΠΎΠ±Ρ‰ΠΈΠΌ Ρ€Π΅Π±Ρ€ΠΎΠΌ). Найти подмноТСство H, состоящСС ΠΈΠ· Π²Π΅Ρ€ΡˆΠΈΠ½, смСТных с Π²Π΅Ρ€ΡˆΠΈΠ½Π°ΠΌΠΈ Π² подмноТСствС F.

    Алгоритм Π₯ΠΎΠΏΠΊΡ€ΠΎΡ„Ρ‚Π° β€” ΠšΠ°Ρ€ΠΏΠ° β€” Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΠΉ Π½Π° Π²Ρ…ΠΎΠ΄ Π΄Π²ΡƒΠ΄ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Π³Ρ€Π°Ρ„ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΠΉ максимальноС ΠΏΠΎ мощности паросочСтаниС, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ наибольшСС мноТСство Ρ€Ρ‘Π±Π΅Ρ€, Ρ‚Π°ΠΊΠΈΡ… Ρ‡Ρ‚ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ Π΄Π²Π° Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ±Ρ‰ΡƒΡŽ Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ. β€” ВикипСдия.

    Π§ΠΈΡ‚Π°Ρ‚Π΅Π»ΠΈ, Π·Π½Π°ΠΊΠΎΠΌΡ‹Π΅ с этим Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠΌ, ΡƒΠΆΠ΅ Π·Π½Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ это Π½Π΅ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ Π½Π°ΡˆΡƒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ Π΄Π²Π° Ρ€Π΅Π±Ρ€Π° Π½Π΅ ΠΈΠΌΠ΅Π»ΠΈ ΠΎΠ±Ρ‰Π΅ΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹.

    Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ, Π³Π΄Π΅ Π΅ΡΡ‚ΡŒ всСго 4 Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° ΠΈ 8 Π΄ΠΎΠΌΠΎΠ² (Ρ€Π°Π΄ΠΈ простоты).

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅
    РСшСниС нашСй Π·Π°Π΄Π°Ρ‡ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ наличия Ρ€Ρ‘Π±Π΅Ρ€ с ΠΎΠ±Ρ‰ΠΈΠΌΠΈ Π²Π΅Ρ€ΡˆΠΈΠ½Π°ΠΌΠΈ, Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… ΠΊ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ Π²Π΅Ρ€ΡˆΠΈΠ½Π°ΠΌ Π΄ΠΎΠΌΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ Π² ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅ подмноТСство Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ², Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π₯ΠΎΠΏΠΊΡ€ΠΎΡ„Ρ‚Π°-ΠšΠ°Ρ€ΠΏΠ° устраняСт Ρ‚Π°ΠΊΠΈΠ΅ Ρ€Ρ‘Π±Ρ€Π° с ΠΎΠ±Ρ‰ΠΈΠΌΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΌΠΈ Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ ΠΈ создаСт Ρ€Ρ‘Π±Ρ€Π°, ΠΈΠ½Ρ†ΠΈΠ΄Π΅Π½Ρ‚Π½Ρ‹Π΅ Π²Π΅Ρ€ΡˆΠΈΠ½Π°ΠΌ ΠΎΠ±ΠΎΠΈΡ… подмноТСств.

    ВзглянитС Π½Π° ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ Π²Ρ‹ΡˆΠ΅: всё, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ, это Π΄ΠΎΠΌΠ° D ΠΈ G, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‚ всСм Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ΠΌ значСниям Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ².

    Нам Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ всС ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ Ρ€Π΅Π±Ρ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ±Ρ‰ΡƒΡŽ ΠΊΠΎΠ½Π΅Ρ‡Π½ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ.

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

    Алгоритм Π₯ΠΎΠΏΠΊΡ€ΠΎΡ„Ρ‚Π°-ΠšΠ°Ρ€ΠΏΠ° (ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅) основан Π½Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°Ρ… ΠΎΠ±Ρ…ΠΎΠ΄Π° Π³Ρ€Π°Ρ„ΠΎΠ² DFS (Depth First Search – ΠΎΠ±Ρ…ΠΎΠ΄ Π² Π³Π»ΡƒΠ±ΠΈΠ½Ρƒ) ΠΈ BFS (Breadth First Search – ΠΎΠ±Ρ…ΠΎΠ΄ Π² ΡˆΠΈΡ€ΠΈΠ½Ρƒ).

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

    ΠŸΠΎΡ‡Ρ‚ΠΈ Ρ‚ΠΎ ΠΆΠ΅ самоС происходит с Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΌΠΈ Π΄Π΅Ρ€Π΅Π²ΡŒΡΠΌΠΈ: Π²Ρ‹ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚Π΅ значСния ΡƒΠ·Π»Π°, Π·Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ ΠΊ Π΄Π²ΡƒΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΡƒΠ·Π»Π°ΠΌ. Π—Π΄Π΅ΡΡŒ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Ρ‚Ρ€ΠΈ Ρ€Π°Π·Π½Ρ‹Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°:

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

    Насчёт рСкурсии

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

    ΠžΠ±Ρ…ΠΎΠ΄ Π³Ρ€Π°Ρ„Π°: DFS ΠΈ BFS

    Π‘Π°ΠΌΡ‹Π΅ распространённыС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ для Π³Ρ€Π°Ρ„ΠΎΠ²

    Если Π²Ρ‹ Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ, ΠΏΠΎΠ΄ΡƒΠΌΠ°ΠΉΡ‚Π΅ ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ структурС Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для хранСния ΡƒΠ·Π»ΠΎΠ² ΠΏΡ€ΠΈ ΠΎΠ±Ρ…ΠΎΠ΄Π΅ Π΄Π΅Ρ€Π΅Π²Π°. ΠœΡ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π΄Π²Π° основных Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΎΠ±Ρ…ΠΎΠ΄Π° Π³Ρ€Π°Ρ„Π°, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ поиск Π² Π³Π»ΡƒΠ±ΠΈΠ½Ρƒ (DFS) ΠΈ поиск Π² ΡˆΠΈΡ€ΠΈΠ½Ρƒ (BFS).

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

    Поиск Π² Π³Π»ΡƒΠ±ΠΈΠ½Ρƒ исслСдуСт самыС дальниС Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹, поиск Π² ΡˆΠΈΡ€ΠΈΠ½Ρƒ исслСдуСт блиТайшиС.

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

    BFS – это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ, Ссли ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ Π³Ρ€Π°Ρ„ΠΎΠ² поэтапно. Для этого Π½Π°ΠΌ понадобится ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ (структура Π΄Π°Π½Π½Ρ‹Ρ…) для хранСния «ΡƒΡ€ΠΎΠ²Π½Ρ» Π³Ρ€Π°Ρ„Π° ΠΏΡ€ΠΈ Π²Ρ‹Π²Π΅Π΄Π΅Π½ΠΈΠΈ (ΠΈΠ»ΠΈ посСщСнии) Π΅Π³ΠΎ β€œΡ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ уровня”. На ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹, ΠΏΠΎΠΌΠ΅Ρ‰Ρ‘Π½Π½Ρ‹Π΅ Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, ΠΈΠΌΠ΅ΡŽΡ‚ Π³ΠΎΠ»ΡƒΠ±ΠΎΠΉ Ρ†Π²Π΅Ρ‚.

    На ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡŽΡ‚ΡΡ ΠΈΠ· ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ, ΠΈ, посСщая ΠΊΠ°ΠΆΠ΄ΡƒΡŽ Π²Ρ‹Π±Ρ€Π°Π½Π½ΡƒΡŽ Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ, ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π΅Ρ‘ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠ΅ элСмСнты Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ (для ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ уровня). Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ достаточно прост, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ»ΠΎΠ²ΠΈΡ‚ΡŒ ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ идСю BFS. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ Π³Ρ€Π°Ρ„ связан.

    Π˜ΠΌΠ΅ΠΉΡ‚Π΅ Π² Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ рСализация ΠΎΠ±Ρ…ΠΎΠ΄Π° измСняСтся Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ прСдставляСтС Π³Ρ€Π°Ρ„.

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

    Uber ΠΈ Π·Π°Π΄Π°Ρ‡Π° ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅Π³ΠΎ ΠΏΡƒΡ‚ΠΈ (Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ДСйкстры)

    БСрвСрная Ρ‡Π°ΡΡ‚ΡŒ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… запросов, отправляя ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· запросов ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈΠ»ΠΈ нСскольким водитСлям поблизости. Π₯ΠΎΡ‚ΡŒ ΠΏΡ€ΠΎΡ‰Π΅ ΠΈ ΠΈΠ½ΠΎΠ³Π΄Π° Π΄Π°ΠΆΠ΅ Ρ€Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π΅Π΅ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ запрос ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ всСм водитСлями, находящимся поблизости, всё ΠΆΠ΅ потрСбуСтся ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°.

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

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅
    Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ ΠΏΡƒΡ‚ΠΈ ΠΎΡ‚ автомобиля ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½Ρ‹ ΠΆΠ΅Π»Ρ‚Ρ‹ΠΌ. Π—Π°Π΄Π°Ρ‡Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°ΡΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ минимальноС расстояниС ΠΌΠ΅ΠΆΠ΄Ρƒ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΌ ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, Π½Π°ΠΉΡ‚ΠΈ ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠΈΠΉ ΠΏΡƒΡ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ.

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅
    ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΠΌ этот сСгмСнт Π² Π²ΠΈΠ΄Π΅ Π³Ρ€Π°Ρ„Π°:

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

    Π­Ρ‚ΠΎ Π½Π΅ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π²Π·Π²Π΅ΡˆΠ΅Π½Π½Ρ‹ΠΉ Π³Ρ€Π°Ρ„. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠΈΠΉ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Π΅Ρ€ΡˆΠΈΠ½Π°ΠΌΠΈ B (Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ) ΠΈ А (ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ), ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π½Π°ΠΉΡ‚ΠΈ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ, состоящий ΠΈΠ· Ρ€Π΅Π±Π΅Ρ€ с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ значСниями.

    Алгоритм дСйствий

    ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΡ это ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, ΠΌΡ‹ Π½Π°Ρ‡Π½Π΅ΠΌ с Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ B (Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ) Π² качСствС Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΡƒΠ·Π»Π°. Для ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Π΄Π²ΡƒΡ… шагов:

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

    Π’ нашСй структурС нСпосСщённых Π²Π΅Ρ€ΡˆΠΈΠ½ находятся всС Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹. Π’Π°ΠΊΠΆΠ΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ, Π² ΠΏΡ€Π°Π²ΠΎΠΉ части ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ. Для всСх Π²Π΅Ρ€ΡˆΠΈΠ½ Ρ‚Π°ΠΌ Π±ΡƒΠ΄ΡƒΡ‚ всС самыС ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅ расстояния ΠΎΡ‚ B ΠΈ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ (ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½Π½ΠΎΠΉ β€œPrev”) Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π΅Π΄ΡƒΡ‚ ΠΊ Π²Π΅Ρ€ΡˆΠΈΠ½Π΅. НапримСр, ΠΎΡ‚ B Π΄ΠΎ F расстояниС = 20, Π·Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ ΠΌΡ‹ считаСм B.

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅
    ΠœΡ‹ ΠΏΠΎΠΌΠ΅Ρ‡Π°Π΅ΠΌ B ΠΊΠ°ΠΊ ΠΏΠΎΡΠ΅Ρ‰Ρ‘Π½Π½ΡƒΡŽ Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ сосСднСй – F.

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

    Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΏΠΎΠΌΠ΅Ρ‡Π°Π΅ΠΌ F ΠΊΠ°ΠΊ ΠΏΠΎΡΠ΅Ρ‰Ρ‘Π½Π½ΡƒΡŽ ΠΈ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ, Π΄ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ расстояниС минимально. Π­Ρ‚ΠΎ Π²Π΅Ρ€ΡˆΠΈΠ½Π° G.

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ΠšΠ°ΠΊ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π² Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ΅, Ссли Π²Π΅Ρ€ΡˆΠΈΠ½Π° назначСния ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½Π° посСщСнной (ΠΏΡ€ΠΈ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Π° ΠΌΠ΅ΠΆΠ΄Ρƒ двумя ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ ΡƒΠ·Π»Π°ΠΌΠΈ, ΠΊΠ°ΠΊ Π² нашСм случаС), Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, наш ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ шаг останавливаСт Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ значСниями.

    Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρƒ нас Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΊ ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅Π΅ расстояниС ΠΎΡ‚ B Π΄ΠΎ A, Ρ‚Π°ΠΊ ΠΈ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ Ρ‡Π΅Ρ€Π΅Π· Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ F ΠΈ G.

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

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

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

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

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