Borůvka's algorithm
Borůvka's algorithm

Borůvka's algorithm is used to find the minimum/maximum spanning tree in the given graph (a spanning tree, in which is the sum of its edges weights minimal/maximal). The algorithm was developed in 1926 by Czech mathematician Otakar Borůvka, when he was trying to find an optimal routing for the electrical grid in Moravia. Because the algorithm was later several times reinvented (among others by M. Sollin), the procedure is also sometimes called Sollin's algorithm.

Description

The Borůvka's algorithm is based on merging of disjoint components. At the beginning of the procedure each vertex is considered as a separate component. In each step the algorithm connects (merges) every component with some other using strictly the cheapest outgoing edge of the given component (every edge must have a unique weight). This way it is guaranteed that no cycle may occur in the spanning tree.

Because every step connects at least half of the currently unconnected components, it is clear that the algorithm terminates in O(\\log_{2}(\\vert V \\vert)) steps. Because each step takes up to O(\\vert E \\vert) operations to find the cheapest outgoing edge for all the components, the asymptotic complexity of Borůvka's algorithm is O(\\vert E \\vert \\cdot \\log_{2}(\\vert V \\vert)).

Parallelization of the algorithm

A significant advantage of the Borůvka's algorithm is that is might be easily parallelized, because the choice of the cheapest outgoing edge for each component is completely independent of the choices made by other components.

Code

/**
 * Boruvka's algorithm
 * 
 * @param graph graph (each edge has a different weight)
 * @param weight weights of all the edges
 * @return minimal spanning tree
 */
boruvkaAlgorithm(graph, weight)
    SpanningTree tree //spanning tree
    components = graph.vertices //at the beginning every vertex is a component 
    while components.size > 1 do
        for each component in components 
            edge e = connectWithMinimalEdge(component, weight) //connect with some other component using a minimal edge
            tree.add(e) //add the edge into the spanning tree
    return tree     

SEO od společnosti Digital Pylon


Online casino s algoritmem

České casino online online slot-vegas.cz

Hrajte nejlepší hry jako je GoodGame Empire.





Zajímavé články: Jak najít práci snů? Zvolte kariéru v IT!, Češi mají rádi hrací automaty online, Jak funguje algoritmické obchodování Casino, Online výuka Algoritmus a online marketing mají svá pravidla, Automaty, Matematický vliv, Ratings, Jak fungují algoritmy hazardních her online: více znalostí, více peněz, SYPWAI - nástroj pro vědecký vývoj, Vynikají na globálním trhu: Nejlepší vývojáři softwaru pro online výherní automaty, Jak si vybrat nejlepší české online casino, Proč byste měli hrát online casino VPN revoluce, Kde najdeme algoritmy v každodenním životě?, Čeká vás pracovní pohovor mimo město? Podívejte se, jak dokonale zvládnout včasný příchod, 5 úžasných technologií ze světa hazardních her, Mirror and access to Mostbet, Svou kancelář můžete mít stále po ruce, Jaké výhody má digitalizovaná firma oproti off-line konkurenci?, Jaký systém vybrat pro snadné řízení výroby?, Nahradí umělá inteligence ajťáky?, Důvody, proč používat SnapTik ke stahování videí TikTok, Dokonalý den na pláži: Co si vzít s sebou, aby byl výlet zábavný a bezpečný?, Jak přežít dlouhý let?, Go pay GoodGame Empire, Blockchain, Rozhovor


Doporučujeme

Internet pro vaši firmu na míru

https://www.algoritmy.net