बोरिवका का एल्गोरिथ्म एक ग्राफ लिए न्यूनतम फैले पेड़ की गणना के लिए मानक एल्गोरिदम में से एक है साथ है ।
छद्म कोड है:
MST T = empty tree
Begin with each vertex as a component
While number of components > 1
For each component c
let e = minimum edge out of component c
if e is not in T
add e to T //merging the two components connected by e
हम बाहरी लूप के प्रत्येक पुनरावृत्ति को एक दौर कहते हैं। प्रत्येक दौर में, आंतरिक लूप कम से कम आधे में घटकों की संख्या में कटौती करता है। इसलिए अधिकांश राउंड हैं। प्रत्येक दौर में, आंतरिक लूप प्रत्येक किनारे पर दो बार (प्रत्येक घटक से एक बार) दिखता है। इसलिए चलने का समय अधिकांश ।
अब मान लें कि प्रत्येक दौर के बाद, हम सभी किनारों को हटाते हैं जो केवल एक ही घटक के भीतर कोने को जोड़ता है और घटकों के बीच डुप्लिकेट किनारों को भी हटाता है, ताकि आंतरिक लूप केवल कुछ संख्याओं पर दिखता है m '<m जो कि न्यूनतम वजन के किनारों हैं जो पहले से डिस्कनेक्ट किए गए दो घटकों को कनेक्ट करें।
यह अनुकूलन रनिंग टाइम को कैसे प्रभावित करता है?
यदि हम किसी तरह जानते थे कि प्रत्येक दौर में, यह किनारों की संख्या को आधे में काट देगा, तो चल रहे समय में काफी सुधार होगा: ।
हालांकि, जबकि अनुकूलन नाटकीय रूप से जांच किए गए किनारों की संख्या को कम कर देगा, (अंतिम दौर तक केवल 1 बढ़त, और अधिकांश # घटकों में सामान्य रूप से 2 का चयन करें), यह स्पष्ट नहीं है कि / हम इस तथ्य का उपयोग विश्लेषण को कसने के लिए कैसे कर सकते हैं रन-टाइम का।