के लिए डबल की जटिलता मैं बिग ओ नोटेशन का उपयोग करके लूप की जटिलता को समझने की कोशिश कर रहा हूं। मैंने इसे अपने अन्य वर्गों में पहले किया है, लेकिन यह दूसरों की तुलना में अधिक कठोर है क्योंकि यह वास्तविक एल्गोरिदम पर है। कोड इस प्रकार है:लूप
for(cnt = 0, i=1; i<=n; i++) //for any size n
{
for(j = 1; j <= i; j++)
{
cnt++;
}
}
और
for(cnt = 0, i=1; i<=n; i*=2) //for any size n
{
for(j = 1; j <= i; j++)
{
cnt++;
}
}
मैं आ चुके हैं कि पहली पाश हे (एन) जटिलता का है, क्योंकि यह सूची n समय से गुजर रही है। दूसरे लूप के लिए मैं थोड़ा खो गया हूँ। मेरा मानना है कि यह प्रत्येक एन के लिए लूप के माध्यम से जा रहा है जिसे परीक्षण किया जाता है। मैंने (गलत तरीके से) माना है कि इसका मतलब यह है कि लूप ओ (एन * i) प्रत्येक बार मूल्यांकन के लिए होता है। क्या ऐसी कोई चीज है जो मैं अपनी धारणा में लापता हूं। मुझे पता है कि cnt ++ निरंतर समय है।
विश्लेषण में सहायता के लिए धन्यवाद। प्रत्येक पाश अपनी जगह पर है, वे एक साथ नहीं हैं।
पहला नमूना ओ (एन) में नहीं है, क्या आपने एन के लिए अलग-अलग मानों का उपयोग करके लूप के बाद सीएनटी मुद्रित करने का प्रयास किया है? – Kwariz
@Kwariz मैं क्षमा चाहता हूँ। मेरा मतलब था कि पहले उदाहरण में पहला बाहरी सबसे लूप ओ (एन) है। पहले उदाहरण में लूप के लिए डबल का पूरा संग्रह नहीं। –