Computer in Hindi | Business in Hindi: time complexity
Showing posts with label time complexity. Show all posts
Showing posts with label time complexity. Show all posts

Thursday, September 17, 2020

big o notation in hindi and time complexity

September 17, 2020 0
big o notation in hindi and time complexity

 यदि आप एक कुशल प्रोग्रामर हैं तो समय जटिलता एक सामान्य शब्द है (big o notation, small o notation, omega notation) हालाँकि, यदि आपने तब यह सुनिश्चित नहीं किया है कि आप समय जटिलता की गणना को विस्तार से समझने के लिए इस लेख को अच्छी तरह से पढ़ेंगे।


What is Time Complexity in Hindi in Data

 structure?


किसी भी एल्गोरिथ्म / कार्यक्रम का Time Complexity कार्यक्रम को निष्पादित करने के लिए उठाए गए वास्तविक समय का माप नहीं है, बल्कि यह है कि तर्क के प्रत्येक कथन को आवश्यक आउटपुट का उत्पादन करने के लिए निष्पादित किया जाता है।

सरल शब्दों में, यहां हमारा मतलब है। नीचे दिए गए कोड पर विचार करें।

#include <stdio.h>
void main()
{
int i, n = 5;
for (i = 1; i <= n; i++) {
printf("computer in n");
                  } }
                  

इसलिए, एक compiler का उपयोग करके निष्पादित किए गए उपरोक्त कोड ने नीचे आउटपुट दिया है। यदि आप देख सकते हैं, संकलक दिखाता है कि कोड 1.166 सेकेंड में निष्पादित किया गया था और हम में से बहुत से इसे समय जटिलता मानते हैं, लेकिन यह नहीं है।

बल्कि, इस कोड की
Time Complexity उस समय पर निर्भर करती है जब कथन निष्पादित होते हैं। यहाँ, लूप के लिए कई बार 'n' संख्या निष्पादित होती है और इसलिए जटिलता O (n) है (हम समझेंगे कि इस लेख के बाद के भाग में O क्या है)

Need to Calculate Time Complexity?


बहुत बार, किसी विशेष समस्या को हल करने के लिए एक से अधिक तरीके हैं और ऐसे मामलों में, आपको सभी में से सबसे कुशल समाधान की पहचान करने में सक्षम होना चाहिए। यह वह जगह है जहां
Time Complexity चित्र में आती है। 

समय जटिलता आपको विभिन्न समाधानों के प्रदर्शन की तुलना करने में मदद करती है, इस प्रकार आपको सबसे कुशल समाधान निर्धारित करने में मदद करती है।


Calculate the Time Complexity of an Algorithm?

समय की जटिलता को एसिम्प्टोटिक सूचनाओं के रूप में नीचे दिए गए तीन शब्दों का उपयोग करके व्यक्त किया जा सकता है।


    Big - Oh or Big O Notation in hindi (BIG O)
    Big - Omega
    Big - Theta


लेकिन ज्यादातर बार, हम
Big O Notation in hindi का उपयोग करेंगे क्योंकि यह हमें निष्पादन समय की एक ऊपरी सीमा प्रदान करेगा यानी सबसे खराब स्थिति में निष्पादन का समय। साथ ही, एक एल्गोरिथ्म का चलने का समय एक ही आकार के विभिन्न इनपुट्स के बीच भिन्न हो सकता है, और इसलिए हम सबसे खराब स्थिति पर विचार करते हैं, जो किसी दिए गए आकार के इनपुट के लिए आवश्यक अधिकतम समय है।

समय जटिलता उदाहरण


1)


Big o natation in hindi
Big o natation example


Time Complexity Calculation:
उपरोक्त दिए गए कार्यक्रम की समय जटिलता हे (1) है, क्योंकि इस कार्यक्रम में केवल असाइनमेंट, अंकगणितीय संचालन शामिल हैं और उन सभी को केवल एक बार निष्पादित किया जाएगा।

2)

Big o natation in hindi
Big o natation in hindi

 

Time Complexity Calculation: ऊपर दिए गए स्निपेट में, हमारे पास एक नियंत्रण कथन है जो n समय के लिए निष्पादित होता है। इसके साथ ही हमारे पास असाइनमेंट, अंकगणित और रिटर्न स्टेटमेंट जैसे ऑपरेशन भी हैं। इसलिए, समय जटिलता O (n + 3) है।

N के बड़े मूल्यों के लिए, निरंतर मान नगण्य हो जाते हैं। इसलिए यदि किसी कार्यक्रम में एक नियंत्रण कथन है, तो असाइनमेंट, अंकगणितीय, तार्किक और रिटर्न स्टेटमेंट की जटिलताओं को अनदेखा किया जा सकता है।


इसलिए, ऊपर दिए गए स्निपेट की अंतिम समय जटिलता O (n) है।


3)

big o notation
big o notation


Time Complexity Calculation:  उपरोक्त स्निपेट में, लूप के लिए पहले और दूसरे को व्यक्तिगत रूप से n बार निष्पादित किया जाता है। तो समय जटिलता n * n = O (n2) के लिए होती है

4)

big o notation
big o notation



Time Complexity Calculation:  यह बाइनरी खोज का एल्गोरिथ्म है। यह तत्वों के दिए गए सेट को दो हिस्सों में तोड़ता है और फिर एक विशेष तत्व की खोज करता है। इसके अलावा, यह इन दो हिस्सों को आगे के हिस्सों में विभाजित करता रहता है जब तक कि प्रत्येक अलग-अलग तत्व सेट न हो जाए। ऐसे सभी एल्गोरिदम जो तत्वों के पुनरावर्ती विभाजन के सिद्धांत पर काम करते हैं, उनमें ओ (लॉग एन) जटिलता होगी।


Some Real-Time Examples of Time Complexity in

 hindi



उदाहरण 1:

मान लें कि आपकी कक्षा के किसी व्यक्ति ने आपकी पसंदीदा चॉकलेट चुरा ली है। आपको वह चॉकलेट ढूंढनी होगी। नीचे इसे खोजने के कुछ तरीके दिए गए हैं।


  •     By asking each and every person in the class, जिसका अर्थ है कि यदि छात्रों की संख्या n है, तो आपको n व्यक्तियों से पूछने की आवश्यकता है। इसलिए, जटिलता हे (एन) है।
  •     By asking only one of the students in the class और यदि उसके पास वह चॉकलेट नहीं है, तो उसी व्यक्ति से शेष छात्रों के बारे में पूछें। तो, प्रत्येक व्यक्ति से आप उसी व्यक्ति के बारे में पूछ रहे हैं और शेष व्यक्तियों के बारे में भी। इसलिए, पिछले मामले की तुलना में जटिलता दो बार है। यानी O (n2)। उपर्युक्त दो तरीके कठिन प्रतीत होते हैं।
  •     इसलिए, यह कहें कि क्या आप पूरी कक्षा को दो हिस्सों में विभाजित करते हैं और पूछते हैं कि चॉकलेट दाईं ओर है या बाईं ओर। यदि यह दाईं ओर है, तो दाहिनी ओर के लोगों की संख्या को फिर से दो में विभाजित करें और उसी प्रक्रिया को दोहराएं। यहां, पूछताछ की संख्या तेजी से घट रही है। इसलिए, जटिलता हे (लॉग एन)।



Time Complexity Table

big o notation
big o notation

Time Complexity Chart

आप अब सोच रहे होंगे कि यह बिग ओ नोटेशन आपको विभिन्न एल्गोरिदम की तुलना करने में कैसे मदद कर सकता है और ओ (एन), ओ (एन 2) या ओ (लॉग एन) में से कौन बेहतर है? तो यहां एक चार्ट है जो आपको यह समझने में मदद करेगा कि ऊपर चर्चा की गई समय जटिलताएं कुशल एल्गोरिदम का कौन सा उपाय है।

notation chart
big notation chart

 

Time Complexity Cheat Sheet of Algorithms

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


big o notation in hindi
big o notation in hindi