ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

Агоритм ДСйкстры. 
Π—Π°Π΄Π°Ρ‡Π° комивояТСра

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

Π’ΠΎΠ·ΡŒΠΌΡ‘ΠΌ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΡƒΡŽ ΠΏΠ°Ρ€Ρƒ Π²Π΅Ρ€ΡˆΠΈΠ½ j, k. Π˜ΡΠΊΠ»ΡŽΡ‡ΠΈΠΌ нСпосрСдствСнноС Ρ€Π΅Π±Ρ€ΠΎ C. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ДСйкстры Π½Π°ΠΉΠ΄Ρ‘ΠΌ ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅Π΅ расстояниС ΠΌΠ΅ΠΆΠ΄Ρƒ Π³ΠΎΡ€ΠΎΠ΄Π°ΠΌΠΈ j.k. ΠŸΡƒΡΡ‚ΡŒ это расстояниС Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π³ΠΎΡ€ΠΎΠ΄ m. ИмССм Ρ‡Π°ΡΡ‚ΡŒ Ρ‚ΡƒΡ€Π° j, m, k. Π’Π΅ΠΏΠ΅Ρ€ΡŒ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ°Ρ€Ρ‹ сосСдних Π³ΠΎΡ€ΠΎΠ΄ΠΎΠ² (Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ — для j, m ΠΈ m, k) ΡƒΠ΄Π°Π»ΠΈΠΌ соотвСтствСнноС Ρ€Π΅Π±Ρ€ΠΎ ΠΈ Π½Π°ΠΉΠ΄Ρ‘ΠΌ ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅Π΅ расстояниС. ΠŸΡ€ΠΈ этом Π² ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅Π΅ расстояниС… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

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

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

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

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

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

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ: Алгоритм ДСйкстры.

1(инициализация).

Π’ Ρ†ΠΈΠΊΠ»Π΅ ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄ΠΎ n Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ нулями массив Π°; Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ числом i ΠΌΠ°ΡΡΠΈΠ² с: пСрСнСсти i-Ρ‚ΡƒΡŽ строку ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ D Π² ΠΌΠ°ΡΡΠΈΠ² b;

a[i]: =1; c[i]: =0; {i-Π½ΠΎΠΌΠ΅Ρ€ стартовой Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹}.

2(ΠΎΠ±Ρ‰ΠΈΠΉ шаг).

Найти ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ срСди Π½Π΅ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹Ρ… (Ρ‚. Π΅. Ρ‚Π΅Ρ… k, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… a[k]=0); ΠΏΡƒΡΡ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ достигаСтся Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡΠ΅ j, Ρ‚. Π΅. bjЈbk; a[j]: =1;

Ρ‚Π°Π±Π». 12.

Ссли bk>bj+djk Ρ‚ΠΎ (.

bk:=bj+djk;

ck:=j) {УсловиС ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΡƒΡ‚ΡŒ vi. vk Π΄Π»ΠΈΠ½Π½Π΅Π΅, Ρ‡Π΅ΠΌ ΠΏΡƒΡ‚ΡŒ vi. vj, vk. Если всС a[k] ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½Ρ‹, Ρ‚ΠΎ Π΄Π»ΠΈΠ½Π° ΠΏΡƒΡ‚ΠΈ vi. vk Ρ€Π°Π²Π½Π° b[k]. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°Π΄ΠΎ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹, входящиС Π² ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠΈΠΉ ΠΏΡƒΡ‚ΡŒ}.

3(Π²Ρ‹Π΄Π°Ρ‡Π° ΠΎΡ‚Π²Π΅Ρ‚Π°).

{ΠŸΡƒΡ‚ΡŒ vi. vk Π²Ρ‹Π΄Π°Ρ‘тся Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядкС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΎΠΉ:}.

  • 3.1. z:=c[k];
  • 3.2. Π’Ρ‹Π΄Π°Ρ‚ΡŒ z;
  • 3.3. z:=c[z];

Если z = 0, Ρ‚ΠΎ ΠΊΠΎΠ½Π΅Ρ†, ΠΈΠ½Π°Ρ‡Π΅ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ 3.2.

Для выполнСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π½ΡƒΠΆΠ½ΠΎ n Ρ€Π°Π· ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ массив b ΠΈΠ· n ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΎΠ², Ρ‚. Π΅. Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ДСйкстры ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΈΡ‡Π½ΡƒΡŽ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ. ΠŸΡ€ΠΎΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ДСйкстры числСнным ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ (для большСй слоТности, считаСм, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π³ΠΎΡ€ΠΎΠ΄Π° (Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹) i, j Π½Π΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ собой, Ρ‚. Π΅. D[i, j]=?). ΠŸΡƒΡΡ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, i=3. ВрСбуСтся Π½Π°ΠΉΡ‚ΠΈ ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠΈΠ΅ ΠΏΡƒΡ‚ΠΈ ΠΈΠ· Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ 3. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ массивов a, b, c ΠΏΠΎΡΠ»Π΅ выполнСния ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΏΡƒΠ½ΠΊΡ‚Π° ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° Ρ‚Π°Π±Π». 12:

Агоритм ДСйкстры. Π—Π°Π΄Π°Ρ‡Π° комивояТСра.

ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, содСрТимоС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ мСняСтся ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ выполнСния ΠΎΠ±Ρ‰Π΅Π³ΠΎ шага. Π­Ρ‚ΠΎ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹:

Ρ‚Π°Π±Π». 13.

a.

b.

c.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π—Πš Π½ΡƒΠΆΠ½ΠΎ n Ρ€Π°Π· ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ДСйкстры ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

Π’ΠΎΠ·ΡŒΠΌΡ‘ΠΌ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΡƒΡŽ ΠΏΠ°Ρ€Ρƒ Π²Π΅Ρ€ΡˆΠΈΠ½ j, k. Π˜ΡΠΊΠ»ΡŽΡ‡ΠΈΠΌ нСпосрСдствСнноС Ρ€Π΅Π±Ρ€ΠΎ C[j, k]. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ДСйкстры Π½Π°ΠΉΠ΄Ρ‘ΠΌ ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅Π΅ расстояниС ΠΌΠ΅ΠΆΠ΄Ρƒ Π³ΠΎΡ€ΠΎΠ΄Π°ΠΌΠΈ j.k. ΠŸΡƒΡΡ‚ΡŒ это расстояниС Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π³ΠΎΡ€ΠΎΠ΄ m. ИмССм Ρ‡Π°ΡΡ‚ΡŒ Ρ‚ΡƒΡ€Π° j, m, k. Π’Π΅ΠΏΠ΅Ρ€ΡŒ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ°Ρ€Ρ‹ сосСдних Π³ΠΎΡ€ΠΎΠ΄ΠΎΠ² (Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ — для j, m ΠΈ m, k) ΡƒΠ΄Π°Π»ΠΈΠΌ соотвСтствСнноС Ρ€Π΅Π±Ρ€ΠΎ ΠΈ Π½Π°ΠΉΠ΄Ρ‘ΠΌ ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅Π΅ расстояниС. ΠŸΡ€ΠΈ этом Π² ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅Π΅ расстояниС Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΡƒΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π³ΠΎΡ€ΠΎΠ΄.

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

Агоритм ДСйкстры. Π—Π°Π΄Π°Ρ‡Π° комивояТСра.
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ