अद्यतन करें:
यह समाधान सही नहीं है।
समाधान दुर्भाग्य से पेड़ों के लिए केवल सच (और सीधा) है! किसी पेड़ के व्यास को खोजने के लिए भी इसकी आवश्यकता नहीं है। यहाँ रेखांकन के लिए एक प्रतिरूप है (व्यास 4 है, यदि आप इस चुनें तो एल्गोरिथ्म 3 लौटता है ):v
यदि ग्राफ़ का निर्देशन किया गया है तो यह जटिल है, यहाँ घने मामले में तेज परिणाम का दावा करने वाले कुछ कागजों में सभी जोड़े सबसे छोटे रास्तों के लिए एल्गोरिदम का उपयोग किया गया है।
हालाँकि मेरा मुख्य बिंदु उस मामले के बारे में है जिसका ग्राफ निर्देशित नहीं है और गैर-नकारात्मक भार के साथ, मैंने कई बार एक अच्छी चाल के बारे में सुना:
- एक शीर्ष v उठाओv
- ऐसे ज्ञात करें कि d ( v , u ) अधिकतम हैud(v,u)
- ऐसे खोजें कि d ( u , w ) अधिकतम होwd(u,w)
- वापसी d(u,w)
इसकी जटिलता दो क्रमिक पहले खोजों के समान होती है, यदि ग्राफ जुड़ा हुआ है तो है।O(|E|)
यह लोकगीत लग रहा था लेकिन अभी, मैं अभी भी एक संदर्भ प्राप्त करने या इसके सुधार को साबित करने के लिए संघर्ष कर रहा हूं । जब मैं इनमें से किसी एक लक्ष्य को प्राप्त कर लूंगा, तो मैं अपडेट करूंगा। यह इतना आसान लगता है कि मैं अभी अपना जवाब पोस्ट करता हूं, शायद कोई इसे तेजी से प्राप्त करेगा।
¹ अगर ग्राफ भारित है, विकिपीडिया कहने लगता , लेकिन मैं केवल यह सुनिश्चित करें के बारे में हूँ हे ( | ई | लॉग | वी | ) ।O(|E|+|V|log|V|)O(|E|log|V|)
² यदि ग्राफ़ कनेक्ट नहीं है, तो आपको लेकिन आपको प्रत्येक जुड़े घटक से एक तत्व चुनने के लिए O ( α ( | V | ) ) जोड़ना होगा । मुझे यकीन नहीं है कि यह आवश्यक है और वैसे भी, आप यह तय कर सकते हैं कि व्यास इस मामले में अनंत है।O(|V|+|E|)O(α(|V|))