Terminology

Dijkstra's algorithm terminology

Terminology

Men sizga Dijkstra algoritmining yana bir nechta misollarini ko'rsatmoqchiman. Lekin avval ba'zi atamalarga aniqlik kiritib o'tsam.

Dijkstra algoritmi bilan ishlaganingizda, grafikning har bir chetida u bilan bog'langan raqam mavjud. Bu og'irliklar deb ataladi.

weights

Og'irliklari bo'lgan grafik vaznli grafik deb ataladi. Og'irliklari bo'lmagan grafik og'irliksiz grafik deyiladi.

graphs

Og'irlanmagan grafikdagi eng qisqa yo'lni hisoblash uchun birinchi navbatda kenglik qidiruvidan foydalaning. Og'irlangan grafikdagi eng qisqa yo'lni hisoblash uchun Dijkstra algoritmidan foydalaning. Grafiklarda tsikllar ham bo'lishi mumkin. Tsikl shunday ko'rinadi.

cycle

Bu siz tugundan boshlashingiz, aylanib o'tishingiz va xuddi shu tugunda tugashingiz mumkinligini anglatadi. Aytaylik, siz ushbu grafikda tsikli bo'lgan eng qisqa yo'lni topishga harakat qilyapsiz.

cycle in graph

Tsiklga amal qilish mantiqiy bo'ladimi? Xo'sh, siz tsikldan qochadigan yo'ldan foydalanishingiz mumkin.

cycle

Yoki siz tsiklni kuzatishingiz mumkin.

cycle

Siz har qanday holatda ham A tuguniga kelasiz, lekin tsikl ko'proq og'irlik qo'shadi. Agar xohlasangiz, tsiklni ikki marta kuzatishingiz mumkin.

total weight

Ammo har safar tsiklni kuzatib borganingizda, siz umumiy vaznga faqat 8 qo'shasiz. Shunday qilib, tsiklni kuzatish sizga hech qachon eng qisqa yo'lni bermaydi.

Va nihoyat, 6-bobdagi yo'naltirilgan va yo'naltirilmagan grafiklar haqidagi suhbatimizni eslaysizmi?

graphs

Yo'naltirilmagan grafik ikkala tugun bir-biriga ishora qilishini anglatadi. Bu tsikl!

item

Yo'naltirilmagan grafik bilan har bir chekka yana bir tsikl qo'shadi. Dijkstra algoritmi faqat qisqacha DAG deb ataladigan yo'naltirilgan asiklik grafiklar bilan ishlaydi.

Ushbu sahifada

Xato haqida xabar berish