Ano ang ginagamit ng Prims algorithm?
Ano ang ginagamit ng Prims algorithm?
Anonim

Sa computer science, Prim's (kilala rin bilang Jarník's) algorithm ay isang sakim algorithm Naghahanap ng pinakamababang spanning tree para sa isang weighted undirected graph. Nangangahulugan ito na nakakahanap ito ng subset ng mga gilid na bumubuo ng isang puno na kinabibilangan ng bawat vertex, kung saan ang kabuuang bigat ng lahat ng mga gilid sa puno ay pinaliit.

Bukod, para saan ang algorithm ng Kruskal na ginagamit?

Ginagamit ng algorithm ni Kruskal ang sakim na diskarte para sa paghahanap ng isang minimum na spanning tree. Ang algorithm ng Kruskal tinatrato ang bawat node bilang isang independiyenteng puno at nagkokonekta lamang sa isa sa isa kung ito ay may pinakamababang gastos kumpara sa lahat ng iba pang magagamit na mga opsyon.

Pangalawa, ano ang ginagawa ng algorithm ng Dijkstra? Algorithm ni Dijkstra ay maaaring gamitin upang matukoy ang pinakamaikling landas mula sa isang node sa isang graph patungo sa bawat iba pang node sa loob ng parehong istraktura ng data ng graph, sa kondisyon na ang mga node ay maaabot mula sa panimulang node. Algorithm ni Dijkstra maaaring magamit upang mahanap ang pinakamaikling landas.

Pangalawa, alin ang mas mahusay na Prims at Kruskal algorithm?

Kruskal's Algorithm : gumaganap mas mabuti mga hindi tipikal na sitwasyon (mga kalat-kalat na graph) dahil gumagamit ito ng mas simpleng mga istruktura ng datos. Algorithm ni Prim : ay makabuluhang mas mabilis sa limitasyon kapag mayroon kang isang talagang siksik na graph na may mas maraming edgesthan vertices.

Ano ang pagiging kumplikado ng oras ng Prims algorithm?

Kaya ito ay gumagamit ng isang solong hanay ng mga integer upang tukuyin ang asub-graph ng isang graph. Ang pagiging kumplikado ng oras ay O(VlogV +ElogV) = O(ElogV), ginagawa itong pareho sa Kruskal'salgorithm . gayunpaman, Algorithm ni Prim maaaring mapabuti gamit ang Fibonacci Heaps (cf Cormen) sa O(E + logV).

Inirerekumendang: