1. Algoritmning maqsadi va tushunchasi haqida tushuntirish Deykstra algoritmi qanday ishlaydi?


  Deykstra algoritmi qanday ishlaydi?


Download 331.22 Kb.
Pdf ko'rish
bet2/6
Sana17.06.2023
Hajmi331.22 Kb.
#1551358
1   2   3   4   5   6
Bog'liq
4wI6cMbczrnbsiZYcfG96CA0fj1F3MRwKvC8WTII

2. 
Deykstra algoritmi qanday ishlaydi? 
Dijkstra algoritmi, bir grafda eng qisqa yo‘lni topish uchun ishlatiladigan bir 
algoritmdir. Bu algoritm, bir boshlang‘ich tugallanish nuktasidan boshlab qolgan 
barcha tugallanishlarga olib boriladi va ulardan eng kam miqdorda bo‘lgan 
tugallanishni topish uchun ishlatiladi. 
Algoritmda har bir tugallanish uchun bo‘shlik miqdorini hisoblash uchun 
vaqt xarajatlari ishlatiladi. Har bir tugallanish uchun bo‘shlik miqdorini aniqlash 
uchun, boshlang‘ich tugallanish nuktasi orqali qolgan barcha nuktalarga olib 
boriladi va ulardan eng kam miqdorda bo‘lgan tugallanish tanlanadi. Tanlangan 
tugallanishning miqdori tugallanish nuktasi orqali barcha nuktalarga yetib borish 
vaqtida aniqlanadi. 


Algoritmda, barcha nuktalarga olib borish uchun grafning to‘g‘ri 
uzluksiz bo‘lganligini tekshirish uchun DFS yoki BFS kabi qo‘llanmalar 
ishlatilmaydi. Bu sababli Dijkstra algoritmi orqali eng qisqa yo‘l topish uchun 
ishlatiladigan vaqt xarajatlari katta bo‘lmaydi. 
Algoritmdan kutiladigan natijalar, boshlang‘ich tugallanish nuktasidan 
barcha nuktalarga eng kam miqdorda borish uchun zarur bo‘lgan bo‘shlik 
miqdorlarini aniqlaydi. Bu natijalarga asosan, grafda eng qisqa yo‘l yoki minimum 
ostova ag‘lini topish mumkin. 
Grafikadagi manba va vertexni berilgan holda, berilgan grafikdagi 
manbadan vertikalgacha bo'lgan eng qisqa yo'llarni toping. 
 
3.Deykstriyaning eng qisqa yo’l algoritmi. 
Dijkstraning algoritmi Primning minimal daraxtni qisqartirish algoritmiga 
juda o'xshaydi . Prim's MST singari, biz ildiz sifatida berilgan manbaga 
ega bo'lgan SPT (eng qisqa yo'l daraxti) yaratamiz. Biz ikkita to'plamni saqlaymiz, 
bitta to'plamda eng qisqa yo'l daraxtiga kiritilgan uchlari bor, boshqa to'plamda 
hali eng qisqa yo'l daraxtiga kiritilmagan uchlari mavjud. Algoritmning har bir 
bosqichida biz boshqa to'plamda joylashgan (hali kiritilmagan to'plam) va 
manbadan minimal masofaga ega bo'lgan verteksni topamiz. 
Quyida Dijkstra algoritmida bitta manbali vertexdan berilgan grafikning 
barcha boshqa uchlariga eng qisqa yo'lni topish uchun foydalanilgan batafsil 
qadamlar 
keltirilgan. 
Algoritm 
1) Qisqa yo'l daraxti tarkibiga kiritilgan, ya'ni manbadan minimal masofa hisoblab 
chiqilgan va oxiriga etkaziladigan sptSet (qisqa daraxtlar to'plami) to'plamini 
yarating . Dastlab, 
ushbu 
to'plam 
bo'sh. 
2) Kirish grafigidagi barcha uchlarga masofa qiymatini bering. Barcha masofa 
qiymatlarini INFINITE sifatida boshlang. Manba cho'qqisi uchun masofa 
qiymatini 

sifatida 
belgilang, 
shunda 

avval 
tanlanadi. 

Download 331.22 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling