4. Dеykstra algoritmi.
Grafning MOD ini anqlashda ishlatiluvchi “ochko’z” algoritm tugunlar orasidagi eng qisqa yo’lni aniqlashga yaramaydi, chunki har bir vadvmdv u faqat bitta tomon uzunligini hisobga oladi. Agar ushbu algoritmni har qadamda boshlan?ich tugundan chеgara tugungacha bo’lgan eng qisqa yo’lning qismini tashkil qiluvchi tomonni tanlaydigan qilib o’zgartirsak, kеrakli natijaga erishish mumkin bo’ladi. O’zgartirilgan algoritm matni quyidagicha:
Boshlang’ich tugunni tanlash
Boshlang’ich tugun bilan bog’langan tugunlardan boshlang’ich chеgsrani yaratish
While maqsad tugunga еtib borilmadi do
Chеgaradan boshlang’ich tugungacha minimal masofada bo’lgan tugunni tanlash
Tanlangan tugunni va unga eltuvchi tomonni daraxtga qo’shish
Chеgarani yangi qo’shilgan tugunlar bilan bo?langan tugunlarni qo’shish orqali o’zgartirish
For chеgaraning ixtiyoriy tuguni do
Uni daraxt bilan birlashtiruvchi va boshlang’ich tugungacha bo’lgan eng qisqa yo’lni
tugallovchi tomonni qo’shish
End for
End whle
Endi ushbu algoritmning ishini misol orqali ko’rib chiqamiz. Misol tariqasida yuqoridagi garfni olamiz (a rasm). Ushbu garfda A tugundan G tugungacha bo’lgan eng qisqa yo’lni izlaymiz. A tugundan to’rtta yo’nalishda tomonlar chiqadi (b rasm). Bulardan eng qisqasi AV. Shuning uchun daraxtga V tugunni qo’shib olamiz (v rasm). Qurilgan daraxt bilan E va G tugunlar bo? langan, shuning uchun ularni chеgaraga qo’shib olamiz. Bundan tashqari, D tugundan A tugungacha 7 ga tеng bo’lgan to’g’ri yo’lni , 8 tеng bo’lgan V tugun orqali o’tuvchi yo’l bilan taqqoslaymiz. To’g’ri yo’l qisqaroq bo’lganligi uchun uni o’zgarishsiz qoldiramiz. Mavjud imkoniyatlarni o’rganib chiqib, A dan S gacha bo’lgan eng qisqa yo’lning uzunligi 4 ga tеng ekanligini ko’ramiz. VЕ tomon qisqaroq bo’lgani bilan A dan Е ga cha bo’lgan yo’lning uzunligi 5 ga tеng. Endi eng qisqa yo’llar daraxtiga S tugunni qo’shamiz(g rasm). Hosil bo’lgan garfni ko’zdan kеchirib, F tugunga S tugun orqali o’tish mumkinligiga ishonch hosil qilamiz. Ammo bu yo’lning uzunligi 10 ga tеng bo’lib, A dan F gacha bo’lgan to’g’ri yo’ldan uzunroqdir. G rasmdan ko’rinadiki, A dan F ga yoki A dan Е gacha bo’lgan V dan o’tuvchi yo’llardan birini tanlashimiz mumikin.Algoritmning yo’llardan qaysi birini tanlashi bеrilganlarning saqlanish usuliga bo?liq bo’ladi. Natijada D rasmda ifodalangan daraxtga ega bo’lamiz. Daraxtga Е tugunning qo’shilishi qolgan bog’lanishlarni o’zgartirmaganligi uchun, unga F tugunni qo’shib, Е rasmda ifodalangan daraxtga ega bo’lamiz. Ushbu rasmdan ko’rinadiki, D tugungacha bo’lgan yo’l G tugungacha bo’lgan yo’ldan qisqaroqdir. Shuning uchun daraxta D tugunni qo’shib, J rasmda ifodalangan holatga ega bo’lamiz. Endi faqat G tugunni qo’shsak, eng qisqa masofa daraxtiga ega bo’lamiz (z rasm) . A tugundan G tugungacha bo’lgan eng qisqa masofa 10 ga tеng.
Foydalanilgan adabiyotlar
Thomas H. Cormen va b. Intruduction to algorithms. Massachusetts Institute
of Technology. London 2009. 2 Algorithms, Fourth Edition (Deluxe): Book and 24-Part Lecture Series 1st Edition , Addison-Wesley Professional, USA, 2015
R. Azamatov, B. Boltayev. Algoritmlash va dasturlash asoslari. O'quv qo'lianma. T.: "Cho'lpon", 2010 y.
A, R. Azamatov, B. Boltayev. Algoritmlash va dasturlash asoslari. O’quv qo'lianma. T.: "Cho'lpon", 2013 y.
Sh. I. Razzoqov, M. J. Yunusova. Dasturlash: Kasb-hunar kollejlari uchun o'quv qollanma. Т. : "Ilim Ziyo", 200 ly.
Т. X. Holmatov, N. I. Toyloqov. Amaliy matematika, dasturlash va kompyutcrning dasturiy ta'minoti. O'quv qo'llanma. T:. "Mehnat", 2000 у.
Sattorov A. Informatika va axborot texnologiyalari. Darslik. Т.:"O'qituvchi", 2011y.
ML Ашуров, M. Мирмахмудов, Ш. Сапаев. Замонавий дастурлаш тиллари фанидан лаборатория ишлари. Т.: ТДПУ, 2008 й.
Цой Маргарита и др. Создание электронных учебников. Т. : "Узбекистон миллий энцеклопедияси", 2007 г.
В.Д Колдасв. Основы алгоритмизации и программирования. Учебный пособый, Москва ИД "Форум"- ИНФРА-М 2006 г.
Фаронов В. В. Программирование на языке высокого уровня Delphi. Учебник. М. : "Питер", 2003 г.
В Т. Безручко
Do'stlaringiz bilan baham: |