मैंने उच्च और निम्न खोज की है और रन-टाइम जटिलताओं, रिकर्सन और जावा से संबंधित बहुत सारी सामग्री नहीं मिल रही है।रिकर्सिव एल्गोरिदम के लिए रन-टाइम जटिलताओं
मैं वर्तमान में अपने एल्गोरिदम कक्षा में रन-टाइम जटिलताओं और बिग-ओ नोटेशन सीख रहा हूं, और मुझे रिकर्सिव एल्गोरिदम का विश्लेषण करने में समस्या हो रही है।
private String toStringRec(DNode d)
{
if (d == trailer)
return "";
else
return d.getElement() + toStringRec(d.getNext());
}
यह एक पुनरावर्ती विधि कि बस हालांकि एक दोगुना से जुड़े सूची पुनरावृति और तत्वों का प्रिंट आउट जाएगा।
एकमात्र चीज जिसके साथ मैं आ सकता हूं यह है कि इसमें ओ (एन) की रन-टाइम जटिलता है, क्योंकि रिकर्सिव विधि कॉल की संख्या डीएलआईस्ट में नोड्स की संख्या पर निर्भर करेगी, लेकिन मैं अभी भी ' इस जवाब के साथ सहज महसूस नहीं करते हैं।
मुझे यकीन नहीं है कि मुझे d
और d.getNext()
के अतिरिक्त के लिए लेखांकन होना चाहिए या नहीं।
या मैं सिर्फ ट्रैक से पूरी तरह से बंद हूं और रन-टाइम जटिलता स्थिर है, क्योंकि यह सब से DList
में तत्वों को पुनर्प्राप्त कर रहा है?
देखें: http://stackoverflow.com/questions/1126388/slow-string-concatenation-over-large-input – dyoo