22.2. Eng qisqa yo’lni topish. Minimal uzuznlikka ega yo‘l haqidagi masalani hal etish usullari orasida Deykstra tomonidan taklif etilgan algoritm ko‘p qo‘llaniladi. Quyida grafning 1 belgili uchidan chiqib (bu uchni manba deb qabul qilamiz) grafdagi ixtiyoriy uchgacha (bu uchni oxirgi uch deb hisoblaymiz) eng qisqa uzunlikka ega yo‘lni topish imkonini beruvchi Deykstra algoritmi keltirilgan.
Dastlabki qadam. Manbaga (1 belgili uchga) qiymatni mos qo‘yib, bu uchni dastlab deb qabul qilingan to‘plamga kiritamiz: . deb olamiz.
Umumiy qadam.Boshlang‘ich uchi to‘plamga, oxirgi uchi esa to‘plamga tegishli bo‘lgan barcha yoylar to‘plami bo‘lsin. Har bir yoy uchun miqdorni aniqlaymiz, bu yerda deb uchga mos qo‘yilgan qiymat (grafning 1 belgili uchidan chiqib belgili uchigacha eng qisqa yo‘l uzunligi) belgilangan.
qiymatni aniqlaymiz. to‘plamning oxirgi tenglikda minimum qiymat beruvchi barcha elementlarini, ya’ni yoylarni ajratamiz. Ajratilgan yoylarning har biridagi belgili uchga qiymatni mos qo‘yamiz. qiymat mos qo‘yilgan barcha uchlarni to‘plamdan chiqarib to‘plamga kiritamiz.
Ikkala uchi ham to‘plamga tegishli bo‘lgan barcha yoylar uchun tengsizlikning bajarilishini tekshiramiz. Tekshirilayotgan tengsizlik o‘rinli bo‘lmagan (ja’ni bo‘lgan) barcha belgili uchlarning har biriga mos qo‘yilgan eski qiymat o‘rniga yangi qiymatni mos qo‘yamiz va yoyni ajratamiz. Bunda eski qiymat aniqlangan paytda ajratilgan yoyni ajratilmagan deb hisoblaymiz.
Uchlarga qiymat mos qo‘yish jarayonini oxirgi ( belgili) uchga qiymat mos qo‘yilguncha davom ettiramiz. Grafning 1 belgili uchidan (manbadan) chiqib uning ixtiyoriy uchigacha (oxirgi uchigacha) eng qisqa yo‘luzunligi bo‘ladi.
Oxirgi qadam. Grafning oxirgi uchidan boshlab ajratilgan yoylar yo‘nalishiga qarama-qarshi yo‘nalishda uning 1 belgili uchiga kelguncha harakatlanib, natijada grafdagi 1 belgili uchdan ixtiyoriy uchgacha eng qisqa uzunlikka ega yo‘l(lar)ni topamiz.
2- misol. 2- shaklda tasvirlangan orgrafda oltita uch ( ) va o‘n bitta yoy bo‘lib, har bir yoy uzunligi uning yoniga yozilgan. Ko‘rinib turibdiki, berilgan grafda manfiy uzunlikka ega yoy ham bor. Isbotlash mumkinki, bu grafda umumiy uzunligi manfiy bo‘lgan sikl mavjud emas.
Yuqorida bayon qilingan Deykstra algoritmini berilgan grafga qo‘llab, eng qisqa uzunlikka ega yo‘lni topish bilan shug‘ullanamiz.