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

Алгоритм ДСйкстры. 
Π—Π°Π΄Π°Ρ‡Π° коммивояТСра Π² ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ‚ΠΎΡ€ΠΈΠΊΠ΅ ΠΈ ΠΏΡƒΡ‚ΠΈ ΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ

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

Алгоритм ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ‚Ρ€ΠΈ массива ΠΈΠ· n (= числу Π²Π΅Ρ€ΡˆΠΈΠ½ сСти) чисСл ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ массив a ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ ΠΌΠ΅Ρ‚ΠΊΠΈ с Π΄Π²ΡƒΠΌΡ значСниями: 0 (Π²Π΅Ρ€ΡˆΠΈΠ½Π° Π΅Ρ‰Ρ‘ Π½Π΅ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Π½Π°) ΠΈ 1 (Π²Π΅Ρ€ΡˆΠΈΠ½Π° ΡƒΠΆΠ΅ рассмотрСна); Π²Ρ‚ΠΎΡ€ΠΎΠΉ массив b ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ расстояния — Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠΈΠ΅ расстояния ΠΎΡ‚ vi Π΄ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹; Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ массив c ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ Π½ΠΎΠΌΠ΅Ρ€Π° Π²Π΅Ρ€ΡˆΠΈΠ½ — k-ΠΉ элСмСнт ck Π΅ΡΡ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€ прСдпослСднСй Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅ΠΌ… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Алгоритм ДСйкстры. Π—Π°Π΄Π°Ρ‡Π° коммивояТСра Π² ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ‚ΠΎΡ€ΠΈΠΊΠ΅ ΠΈ ΠΏΡƒΡ‚ΠΈ ΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Одним ΠΈΠ· Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π—Πš являСтся Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ нахоТдСния ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅ΠΉ Ρ†Π΅ΠΏΠΈ, содСрТащСй всС Π³ΠΎΡ€ΠΎΠ΄Π°. Π—Π°Ρ‚Π΅ΠΌ получСнная Ρ†Π΅ΠΏΡŒ дополняСтся Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΌ Π³ΠΎΡ€ΠΎΠ΄ΠΎΠΌ — получаСтся искомый Ρ‚ΡƒΡ€.

МоТно ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этой Π·Π°Π΄Π°Ρ‡ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, физичСскоС ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. На ΠΏΠ»ΠΎΡΠΊΠΎΠΉ доскС рисуСтся ΠΊΠ°Ρ€Ρ‚Π° мСстности, Π² Π³ΠΎΡ€ΠΎΠ΄Π°, Π»Π΅ΠΆΠ°Ρ‰ΠΈΠ΅ Π½Π° Ρ€Π°Π·Π²ΠΈΠ»ΠΊΠ΅ Π΄ΠΎΡ€ΠΎΠ³, Π²Π±ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π³Π²ΠΎΠ·Π΄ΠΈ, Π½Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ гвоздь надСваСтся ΠΊΠΎΠ»ΡŒΡ†ΠΎ, Π΄ΠΎΡ€ΠΎΠ³ΠΈ ΡƒΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π²Π΅Ρ€Ρ‘Π²ΠΊΠ°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΊ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΊΠΎΠ»ΡŒΡ†Π°ΠΌ. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅Π΅ расстояниС ΠΌΠ΅ΠΆΠ΄Ρƒ i ΠΈ k, Π½ΡƒΠΆΠ½ΠΎ Π²Π·ΡΡ‚ΡŒ I Π² ΠΎΠ΄Π½Ρƒ Ρ€ΡƒΠΊΡƒ ΠΈ k Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΈ Ρ€Π°ΡΡ‚ΡΠ½ΡƒΡ‚ΡŒ. Π’Π΅ Π²Π΅Ρ€Ρ‘Π²ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ натянутся ΠΈ Π½Π΅ Π΄Π°Π΄ΡƒΡ‚ Ρ€Π°Π·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ€ΡƒΠΊΠΈ ΡˆΠΈΡ€Π΅ ΠΈ ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠΈΠΉ ΠΏΡƒΡ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ i ΠΈ k. Однако матСматичСская ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°, которая ΠΏΡ€ΠΎΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΡƒΠ΅Ρ‚ эту Ρ„ΠΈΠ·ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ, выглядит ΠΎΡ‡Π΅Π½ΡŒ слоТно. Π˜Π·Π²Π΅ΡΡ‚Π½Ρ‹ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΏΠΎΠΏΡ€ΠΎΡ‰Π΅. Один ΠΈΠ· Π½ΠΈΡ… — Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ДСйкстры, ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ ДСйкстрой Π΅Ρ‰Ρ‘ Π² 1959 Π³. Π­Ρ‚ΠΎΡ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΎΠ±Ρ‰ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ:

Π’ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ, Π½Π΅ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΈΠ»ΠΈ смСшанной (Ρ‚. Π΅. Ρ‚Π°ΠΊΠΎΠΉ, Π³Π΄Π΅ Ρ‡Π°ΡΡ‚ΡŒ Π΄ΠΎΡ€ΠΎΠ³ ΠΈΠΌΠ΅Π΅Ρ‚ одностороннСС Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅) сСти Π½Π°ΠΉΡ‚ΠΈ ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠΈΠΉ ΠΏΡƒΡ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ двумя Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π²Π΅Ρ€ΡˆΠΈΠ½Π°ΠΌΠΈ.

Алгоритм ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ‚Ρ€ΠΈ массива ΠΈΠ· n (= числу Π²Π΅Ρ€ΡˆΠΈΠ½ сСти) чисСл ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ массив a ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ ΠΌΠ΅Ρ‚ΠΊΠΈ с Π΄Π²ΡƒΠΌΡ значСниями: 0 (Π²Π΅Ρ€ΡˆΠΈΠ½Π° Π΅Ρ‰Ρ‘ Π½Π΅ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Π½Π°) ΠΈ 1 (Π²Π΅Ρ€ΡˆΠΈΠ½Π° ΡƒΠΆΠ΅ рассмотрСна); Π²Ρ‚ΠΎΡ€ΠΎΠΉ массив b ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ расстояния — Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠΈΠ΅ расстояния ΠΎΡ‚ vi Π΄ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹; Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ массив c ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ Π½ΠΎΠΌΠ΅Ρ€Π° Π²Π΅Ρ€ΡˆΠΈΠ½ — k-ΠΉ элСмСнт ck Π΅ΡΡ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€ прСдпослСднСй Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅ΠΌ ΠΏΡƒΡ‚ΠΈ ΠΈΠ· vi Π² vk. ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° расстояний Dik Π·Π°Π΄Π°Ρ‘Ρ‚ Π΄Π»ΠΈΠ½Ρ‹ Π΄ΡƒΠ³ dik; Ссли Ρ‚Π°ΠΊΠΎΠΉ Π΄ΡƒΠ³ΠΈ Π½Π΅Ρ‚, Ρ‚ΠΎ dik присваиваСтся большоС число Π‘, Ρ€Π°Π²Π½ΠΎΠ΅ «ΠΌΠ°ΡˆΠΈΠ½Π½ΠΎΠΉ бСсконСчности».

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