Data Structures in Hindi : Algorithms Analysis

Algorithms Analysis 

  • Introduction to algorithms analysis in Hindi
  • Complexity of algorithms in Hindi
  • Performance cases of algorithms in Hindi

Introduction to Algorithms Analysis

Programming के संदर्भ में एक algorithm का काम सिर्फ problem solve करना ही नहीं होता है बल्कि problem को उसे कम से कम memory का प्रयोग करते हुए कम से कम CPU time में solve करना होता है। केवल तब ही उस algorithm को problem के best solution के रूप में accept किया जाता है।

एक ही problem को solve करने के लिए कई algorithms हो सकती है जो अलग अलग तरह से problem को solve करती है। लेकिन यदि आप उनमें से सबसे अच्छी algorithm चुनना चाहते है तो इसके लिए आपको उनके compile time और memory space के सन्दर्भ में उनकी performance का analysis करना होगा।

जब आप algorithms की performance का analysis करते है तो वह process algorithm analysis कहलाती है। Algorithm analysis से प्राप्त परिणामों के आधार पर आप किसी problem के लिए best solution चुनते है।

Complexity of Algorithms 

किसी भी algorithm का analysis computer memory और CPU time के आधार पर किया जाता है। इन्हें algorithm की complexities कहा जाता है।

कोई algorithm किसी problem को solve करने के लिए कितना CPU time और कितना computer memory space प्रयोग करती है इसे दर्शाने के लिए ही इन complexities का प्रयोग किया जाता है।

Algorithm analysis को दर्शाने वाली complexities के बारे में निचे बताया जा रहा है।

Space Complexity

Space complexity एक function होता है जो यह दर्शाता है की कोई algorithm उसे pass किये गए input के अनुपात में problem को solve करने के लिए कितना memory space प्रयोग करती है। किसी algorithm को pass किया गया input भी उसी space complexity का हिस्सा होता है। 

किसी algorithm के द्वारा required space दो components का sum होता है। इनमे से एक part fixed होता है और दूसरा part variable होता है। 

Space = Fixed Part + Variable Part

Fixed part mostly programming language और compiler द्वारा निर्धारित होता है। यह input और output size से independent होता है। उदाहरण के लिए code के लिए space और variables आदि के लिए space fixed part का हिस्सा होते है।

Variable part में उन special components की size आती है जो उस particular algorithm को implement करने के लिए use किये जाएंगे।

किसी भी algorithm के space को सामान्य तौर पर इस notation द्वारा दर्शाया जाता है।

s(p) = c + s(p)

ऊपर दी गयी notation में c एक constant है जो space complexity में fixed part को दर्शाता है।

Time complexity

Time complexity एक function होता है जो यह दर्शाता है की कोई algorithm उसे pass किये गए input के अनुपात में problem को solve करने के लिए कितना computer time प्रयोग करती है।

यदि किसी program के सन्दर्भ में देखें तो time complexity compile time और run time का sum मानी जाती है।

किसी algorithm कि time complexity को numerical form में represent करने के लिए कुछ notations यूज़ की जाती है जिन्हें asymptotic notation कहा जाता है। इन notations के बारे में आगे बताया जा रहा है। 
  1. Theta Notation (θ) - Asymptotic tight bound को denote करने के लिए इस notation का प्रयोग किया जाता है। 
  2. Big Oh Notation (O) - Asymptotic upper bound denote करने के लिए इस notation का प्रयोग किया जाता है। 
  3. Omega Notation (Ω) - Asymptotic lower bound denote करने के लिए इस notation का प्रयोग किया जाता। है। 

Performance Cases of Algorithms Complexity 

किसी भी algorithm की complexity को इन 3 में से किसी भी एक case में रखा जा सकता है। 
  1. Best Case - किसी भी algorithm को best तब माना जाता है जब वह कम से कम time और memory में task को complete करे। 
  2. Worst Case - जब algorithm problem solve करने में बहुत अधिक समय लेती और memory भी बहुत ज्यादा यूज़ करती है तो उसे Worst case algorithm माना जाता है। 
  3. Average Case - Average case वह होता है जिसमे algorithm ना ज्यादा समय लेती है ना कम।     

      DMCA.com Protection Status

 Leave a comment