Kruskal və Prim Arasındakı Fərq

Kruskal və Prim Arasındakı Fərq
Kruskal və Prim Arasındakı Fərq

Video: Kruskal və Prim Arasındakı Fərq

Video: Kruskal və Prim Arasındakı Fərq
Video: Nexium vs Prilosec-which one is better? 2024, Iyul
Anonim

Kruskal vs Prim

Kompüter elmində Prim və Kruskal alqoritmləri əlaqəli çəkili istiqamətsiz qrafik üçün minimum əhatəli ağac tapan acgöz alqoritmdir. Genişlənmiş ağac qrafikin alt qrafasıdır ki, qrafikin hər bir qovşağı ağac olan bir yol ilə bağlanır. Hər bir uzanan ağacın çəkisi var və bütün uzanan ağacların minimum mümkün çəkisi/qiyməti minimum yayılma ağacıdır (MST).

Prim alqoritmi haqqında ətraflı

Alqoritm 1930-cu ildə çex riyaziyyatçısı Voytěch Jarník və daha sonra müstəqil olaraq 1957-ci ildə kompüter alimi Robert C. Prim tərəfindən hazırlanmışdır. O, 1959-cu ildə Edsger Dijkstra tərəfindən yenidən kəşf edilmişdir. Alqoritmi üç əsas addımda ifadə etmək olar;

N qovşaq və hər kənarın müvafiq çəkisi ilə əlaqəli qrafiki nəzərə alaraq, 1. Qrafikdən ixtiyari qovşaq seçin və onu T ağacına əlavə edin (bu, ilk qovşaq olacaq)

2. Ağacdakı qovşaqlara qoşulmuş hər bir kənarın çəkilərini nəzərə alın və minimumu seçin. T ağacının digər ucundakı kənarı və düyünü əlavə edin və kənarı qrafikdən çıxarın. (İki və ya daha çox minimum varsa, hər hansı birini seçin)

3. n-1 kənarları ağaca əlavə olunana qədər 2-ci addımı təkrarlayın.

Bu üsulda ağac tək ixtiyari düyünlə başlayır və hər dövrə ilə həmin qovşaqdan genişlənir. Beləliklə, alqoritmin düzgün işləməsi üçün qrafikin əlaqəli qrafik olması lazımdır. Prim alqoritminin əsas forması O(V2) zaman mürəkkəbliyinə malikdir.

Kruskal alqoritmi haqqında ətraflı

Cozef Kruskal tərəfindən hazırlanmış alqoritm 1956-cı ildə Amerika Riyaziyyat Cəmiyyətinin araşdırmalarında ortaya çıxdı. Kruskalın alqoritmini üç sadə addımda da ifadə etmək olar.

N qovşaq və hər kənarın müvafiq çəkisi olan qrafiki nəzərə alaraq, 1. Bütün qrafikin ən az çəkisi olan qövsü seçin və ağaca əlavə edin və qrafikdən silin.

2. Qalanlardan ən az çəkilmiş kənarı, dövrə yaratmayacaq şəkildə seçin. Ağacın kənarını əlavə edin və qrafikdən silin. (İki və ya daha çox minimum varsa, hər hansı birini seçin)

3. 2-ci addımdakı prosesi təkrarlayın.

Bu üsulda alqoritm ən az çəkili kənardan başlayır və hər dövrədə hər kənarı seçməyə davam edir. Buna görə də, alqoritmdə qrafiki birləşdirməyə ehtiyac yoxdur. Kruskalın alqoritmi O(logV) zaman mürəkkəbliyinə malikdir

Kruskal və Prim alqoritmi arasında fərq nədir?

• Primin alqoritmi qovşaqla, Kruskalın alqoritmi isə kənar ilə başlayır.

• Primin alqoritmləri bir qovşaqdan digərinə yayılır, Kruskalın alqoritmi isə kənarları elə seçir ki, kənarın mövqeyi son addıma əsaslanmır.

• Prim alqoritmində qrafik əlaqəli qrafik olmalıdır, Kruskal isə əlaqəsi kəsilmiş qrafiklərdə də işləyə bilər.

• Primin alqoritminin zaman mürəkkəbliyi O(V2) və Kruskalın zaman mürəkkəbliyi O(logV).

Tövsiyə: