5-amaliy mashg’ulot Variant 23 Mavzu


Deykstra algoritmining tadbiqi


Download 188.1 Kb.
bet2/2
Sana15.12.2022
Hajmi188.1 Kb.
#1007506
1   2
Bog'liq
Habibullo

Deykstra algoritmining tadbiqi
Grafning og’irligini saqlash uchun kvadrat matritsadan foydalaniladi. Satrlar va ustunlar sarlavhalarida grafning uchlari joylashadi. Graf yoylarining og’irligi jadvalning ichki yacheykalariga joylashtiriladi. Graf petlyaga ega emas, shu sababdan ham matritsaning asosiy diagonalida nol qiymatlar joylashgan.

from collections import deque

def search(start_node, target='elon musk'):
search_queue = deque()
search_queue += graph[start_node]
searched = set()
while search_queue:
person = search_queue.popleft()
if person not in searched:
if person == target:
print(f'{target}ni topdik!')
# print(searched)
return True
else:
search_queue += graph[person]
searched.add(person)
return False

if __name__ == '__main__':


graph = {'siz': ['ali', 'vali', 'tohir'],


'ali': ['aziza', 'olim'],
'vali': ['botir', 'ziyoda'],
'tohir': ['elon musk', 'mohir'],
'olim': [],
'aziza': [],
'botir': [],
'ziyoda': ['aziza'],
'elon musk': [],
'mohir': []
}

print(search('siz'))


print(search('ali','vali'))
NATIJA:





Xulosa:
Men bu vazifani bajarish jarayonida c++ va python dasturlash tillaridagi Graphlardan olgan bilim ko’nikmalarimni oshirib oldim.
Har doim masalalarda massiv va ro’yxat metodlaridan foydalnish dastur codini qisqartirish va natijani mukammalroq chiqishiga yordam beradi.
Download 188.1 Kb.

Do'stlaringiz bilan baham:
1   2




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