एसमंड एल्डहुसेट के उत्तर पर विस्तार से: यदि एमएसटी में वजन 0, 1, 2, 3, ..., यू -1 में संख्याओं तक सीमित है, तो आप चलाने के लिए कई मौजूदा एल्गोरिदम अनुकूलित कर सकते हैं यू (स्थिर) रैखिक समय में यदि यू स्थिर है।
उदाहरण के लिए, Kruskal एल्गोरिथ्म लेते हैं। कृष्काल के एल्गोरिदम में पहला कदम किनारों को वजन के आरोही क्रम में क्रमबद्ध करना है। यदि आप प्रकार या समय हे (एम एलजी यू) की गिनती का उपयोग करें यदि आप मूलांक प्रकार का उपयोग आप समय हे (एम + यू) में ऐसा कर सकते हैं। यदि यू स्थिर है, तो इन दोनों सॉर्टिंग चरणों में रैखिक समय लगता है। नतीजतन, इस मामले में कृष्काल के एल्गोरिदम चलाने के लिए रनटाइम ओ (एम α (एम)) होगा, जहां α (एम) उलटा एकरमेन समारोह है, क्योंकि सीमित कारक विवादित सेट वन को बनाए रखने का रनटाइम होगा ।
वैकल्पिक रूप से, रस्मी एल्गोरिथ्म को देखो। आपको नोड्स को उम्मीदवार दूरी की प्राथमिकता कतार बनाए रखने की आवश्यकता है। आप जानते हैं कि सभी किनारों रेंज [0, यू) में हैं, तो आप इस एक सुपर अनुभवहीन रास्ते में बस यू बाल्टी, संभव प्राथमिकता प्रति एक की एक सरणी भंडारण के द्वारा कर सकते हैं। प्राथमिकता कतार में डालने के बाद बस आपको एक वस्तु को दाएं बाल्टी में डंप करने की आवश्यकता होती है। आप तत्व को बेदखल करके इसे कम बाल्टी में ले जाकर कमी-कुंजी कर सकते हैं। फिर आप बाल्टी स्कैन करके एक खोज-मिनट कर सकते हैं। यह हे (एम + नू) है, जो रैखिक है अगर यू एक निरंतर है होना करने के लिए एल्गोरिथ्म क्रम का कारण बनता है।
संबंधित: http://stackoverflow.com/questions/8874287/a-fast-algorithm-for-minimum-spanning-trees-when-edge-lengths-are-constrained – templatetypedef