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

समय जटिलता क्या है?

समय जटिलता समय की राशि को मापती है, एक एल्गोरिथ्म अपने इनपुट के आकार के सापेक्ष पूर्ण होता है। यह बिग ओ नोटेशन का उपयोग करके व्यक्त किया जाता है, जो उनकी वृद्धि दर के आधार पर एल्गोरिदम को वर्गीकृत करता है।

जावास्क्रिप्ट में समय जटिलता की गणना करने के लिए प्रैक्टिकल स्टेप्स

एक एल्गोरिथ्म की समय जटिलता का विश्लेषण करने के लिए, इन चरणों का पालन करें:

  • कोड के भीतर बुनियादी कार्यों की पहचान करें, जैसे कि तुलना या असाइनमेंट।
  • इन कार्यों को इनपुट आकार के सापेक्ष कितने बार निष्पादित किया गया है।
  • प्रमुख शब्द को निर्धारित करें जो इनपुट आकार बढ़ने के रूप में विकास को प्रभावित करता है।

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

जावास्क्रिप्ट में एक सरल पाश पर विचार करें:

]]

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

जावास्क्रिप्ट में आम समय की जटिलता

यहाँ विशिष्ट जटिलताएं हैं:

  • O(1): लगातार समय, इनपुट आकार से स्वतंत्र।
  • O(log n): Logarithmic समय, लाभांश और समीकरण एल्गोरिदम में आम है।
  • O(n): रैखिक समय, जैसे कि सरल छोर।
  • O(n^2): क्वाड्रैटिक समय, नेस्टेड लूप्स में विशिष्ट।
  • O(2^n): एक्सपोनेंशियल टाइम, अक्सर आवर्ती एल्गोरिदम में।