के लिए एल्गोरिदम का विश्लेषण मैं एक एल्गोरिदम का विश्लेषण कर रहा हूं और मैं सिर्फ यह जानना चाहता हूं कि मैं सही रास्ते पर हूं या नहीं।समय जटिलता
इस एल्गोरिदम के लिए, मैं केवल उस रेखा पर गुणाओं की गिनती कर रहा हूं जिसमें *** है।
यहाँ एल्गोरिथ्म है:
- तो मैं सबसे भीतरी लाइन से शुरू कर रहा हूँ, मैं वहाँ 2 परिचालन (दो गुणा) देखते हैं देख सकते हैं।
- अब मैं 2 आंतरिक अधिकांश लूप देख रहा हूं, इसलिए मैं बता सकता हूं कि
p=p*20*z
बिल्कुल(j) + (j-1)+(j-2)+(j-3)...1
बार निष्पादित हो जाता है। यहj(j+1)/2
के बराबर होता है। - तो कुल मिलाकर, क्योंकि दो गुणा हैं, यह
2 * (j(j+1)/2)
होता है। - अंत में, "i" लूप बिल्कुल n बार होता है, इसलिए, कुल मिलाकर, यह
n(2 * (n(n+1)/2))
है।
यह मेरे पीछे मेरी विचार प्रक्रिया है। क्या मैं सही हूँ? धन्यवाद।
नहीं, तुम नहीं कर रहे हैं। अंतिम परिणाम में केवल 'एन' होना चाहिए। आपके पास 'जे' है। त्वरित प्रतिक्रिया के लिए –
धन्यवाद। क्या यह एन (2 * (एन (एन + 1)/2) होगा? – 0xSina
असल में, मुझे लगता है कि जे के लिए जे को बदलने के रूप में सिर्फ एक टाइपो है, वह व्युत्पन्न के लिए सही है, क्योंकि एन सबसे बड़ा जे है। @Pragma एक बार हाँ, हालांकि जाहिर है कि थोड़ा सा सरलीकृत किया जा सकता है। –