14.2 Deykstra algoritmi
Eng qisqa masofani aniqlash misolini ko’rib chiqaylik. Shahar viloyatlarini birlashtiruvchi avtomobil yo’llari tarmog’I berilgan bo’lsin. Ba’zi yo’llar bir tomonlama. Shahar markazidan har bir viloyatga eng qisqa yo’lni topishimiz zarur.
Keltirilgan masalani yechishda Deykstraning algoritmidan foydalanishimiz mumkin. Algoritm graflarga asoslangan bo’lib, u 1959 yil niderlandiyalik olim E. Deykstra tomonidan yaratilgan. U grafning bitta uchidan boshqa uchlarigacha eng qisqa masofani aniqlaydi, bunda grafning quvurg’alari manfiy og’irlikka ega bo’lmasligi lozim. Bizdan birinchi uchdan qolganlariga borishning qisqa masofasini toppish talab qilinsin.
Doiralar shaklida uchlar, chiziqlar shaklida ular orasidagi yo’l (grafning qovurg’alari) tasvirlangan. Doiralar ichida uchlarning nomerlari, qovurg’alar ostida ularning og’irligi – yo’l uzunligi berilgan. Har bir uchning yonida qizil belgi bilan shu uchga birinchi uchdan eng qisqa masofa uzunligi belgilangan.
15.2. Pufaksimon(Bubble) saralash algoritmi.
Bubble sort algoritmi juda ham oddiy ishlaydi. U shunchaki array boshidan yurib ikkita qo’shni elementlarni ularning katta kichikligiga qarab joyini almashtiradi. Bu orqali har bir to’liq yurib chiqishdan keyin arraydagi eng katta (yoki eng kichik) element arrayning eng oxiriga o’tib qoladi.
Algoritm qadamlari
Ko’rib turganingizdek algoritm g’oyasi juda ham oddiy. Endi uni qadamma-qadam keltirib o’tamiz.
Array boshidan uning oxirgi elementidan bitta oldingi elementigacha yurib chiqamiz.
Har bir yurib chiqishda ichki takrorlanish orqali qo’shni elementlarni bir-biri bilan solishtirib, katta elementni o’ng tomonga joylashtirib ketamiz. (O’sish tartibidagi saralashda)
Har bir tashqi takrorlanish qadami tugagandan so’ng bizda array oxiridan boshlab array saralanib boradi. Shu sababli har safar ichki takrorlanishda bu qismni qayta ko’rib chiqish shart emas.
Tashqi takrorlanish tugaganda bizda saralangan massiv hosil bo’ladi
Dostları ilə paylaş: |