जावा एल्गोरिदम की समय जटिलता को समझना उनकी दक्षता और प्रदर्शन का मूल्यांकन करने में मदद करता है। यह मापता है कि एक एल्गोरिथ्म का रनटाइम इनपुट डेटा के आकार के साथ बढ़ता है। यह लेख जावा एल्गोरिदम की समय जटिलता की गणना करने के लिए बुनियादी कदम बताता है।

अल्गोरिथम का विश्लेषण

पहला कदम एल्गोरिथ्म की संरचना का विश्लेषण करना है। मुख्य संचालन की पहचान करें जो रनटाइम में योगदान करते हैं, जैसे कि लूप्स, रीकर्सिव कॉल्स, या नेस्टेड ऑपरेशन। इन ऑपरेशनों को इनपुट आकार के सापेक्ष कितने बार निष्पादित किया जाता है।

संचालन की गिनती

इनपुट आकार के एक कार्य के रूप में किए गए बुनियादी कार्यों की संख्या का अनुमान लगाएं, जिसे n कहा गया है। उदाहरण के लिए, 1 से n तक चलने वाला एक लूप, समग्र जटिलता में योगदान देता है। नेस्टेड लूप्स ऑपरेशन की संख्या को गुणा करते हैं, अक्सर क्वाड्रैटिक या उच्च जटिलता के परिणामस्वरूप।

अभिव्यक्तता

ऑपरेशन की गिनती बिग ओ नोटेशन में अनुवाद करें, जो एल्गोरिदम की विकास दर की ऊपरी सीमा का वर्णन करता है। आम जटिलताओं में ओ (1), ओ (लॉग एन), ओ (एन), ओ (एन लॉग एन) और ओ (एन ^ 2) शामिल हैं। एन के रूप में प्रमुख शब्द पर ध्यान केंद्रित करें बड़ा हो जाता है।

उदाहरण: लूप विश्लेषण

एक साधारण जावा पाश पर विचार करें:

]]

यह लूप n बार चलाता है, इसलिए इसकी समय जटिलता O(n) है। यदि घोंसले लूप हैं, तो तदनुसार उनकी जटिलताएं गुणा करें।

  • मुख्य संचालन की पहचान करें
  • वे कितने बार निष्पादित करते हैं
  • कुल को बिग ओ नोटेशन के रूप में व्यक्त करें
  • बड़े n के लिए उच्चतम ऑर्डर अवधि पर ध्यान केंद्रित करें