Asymptotic analysis Data structures and Algorithm in Hindi

Asymptotic analysis in Hindi किसी भी algorithm का अलग अलग size के inputs पर run होने में लिए गए समय को find करना ही asymptotic analysis कहलाता है सामान्यत हम इसे big O analysis भी कहते है |

asymptotic analysis दो algorithms के बीच में किया जाता है जिससे हमें पता चल सके की कोनसा algorithm input size के बढ़ने पर run होने में ज्यादा समय लेगा और कौनसा algorithm कम समय लेगा

ताकि हम अपने program के लिए एक सही algorithm को चुन सके जिससे की program की time complexity और space complexity कम हो सके |

जैसे जैसे input का size बढ़ता जाता है वैसे वैसे algorithm का running time भी बढ़ता जाता है |

मान लीजिये की हमारे पास दो algorithms A और B है जैसे की आपको image में दिख रहा होगा |

Asymptotic analysis - Algorithm in Hindi

जब input की size 2 होती है तब दोनों algorithms run होने में बराबर समय लेते है लेकिन जैसे जैसे input की size बढ़ती जाती है वैसे वैसे algorithm B run होने में algorithm A से ज्यादा समय लेता है इसलिए हम algorithm A का इस्तेमाल करेंगे अपने program में न की algorithm B का |

इसलिए हम किसी भी algorithm की efficiency को find करने के लिए asymptotic analysis करते है |

अब बात आती है की हम algorithm के running time को कैसे find करते है तो किसी भी algorithm के running time को find करने के लिए हमारे पास दो methods है |

  1. Experimental method 
  2. Analytical method 

Experimental method in Hindi

इस method में हम algorithm को किसी एक particular programming language में implement करते है और उसे अलग अलग size के inputs पर run करते है और exact running time को record करते है |

लेकिन इस method को हम सामान्यत इस्तेमाल नहीं करते है क्युकी यह method software और hardware पर depend करता है जिससे की हमें कभी कभी algorithm के running time का गलत answer भी मिल सकता है |

जैसे example के तोर पर हमारे पास एक algorithm है A और हम उस algorithm को एक बार किसी और software पर run करते है तो दूसरी बार किसी और software पर हमें दोनों time algorithm के run होने पर अलग अलग समय लगता है |

इसलिए हम समान्यत एक दूसरे method का इस्तेमाल करते है जिसको हम कहते है analytical और asymptotic analysis

Asymptotic analysis और analytical method in Hindi

यह एक theoretical method है  इसमें हम algorithm को अलग अलग input size पर analysis करते है  इस method में हम किसी भी algorithm का exact running time calculate नहीं करते है

इसलिए हमें algorithm को किसी भी system पर run करने की कोई जरुरत नहीं होती है हम सभी possible inputs पर algorithm को analysis करते है

मान लीजिये की हमारे पास एक algorithm है जैसे की आपको निचे image में दिख रहा होगा

Asymptotic analysis - Algorithm in Hindi


इस method में हम सबसे पहले यह find करते है की algorithm में कोनसे कोनसे operators है और कोनसे inputs है |

यहाँ पर algorithm में एक input, एक assignment, एक arithmetic और एक comparison operator है इन सब को हम एक unique नाम देते है जैसे की आप image में देख रहे है |

तो किसी भी algorithm का running time उसके अन्दर define operators और input size के running time के बराबर होता है |

इस algorithm के running time को hum इस प्रकार लिख सकते है

Asymptotic analysis - Algorithm in Hindi

यहाँ पर comparison operator n times के लिए चलेगा इसलिए हमने इसको n से गुणा किया है |

इसलिए हम कह सकते है की algorithm n degree order का है

नोट: अगर आपको नहीं पता है की algorithm का order कैसे निकालते है और कैसे algorithm का big O notation find करते है तो इस पोस्ट को जरूर पढ़े

Big O notation in Hindi

इस प्रकार हम किसी algorithm का asymptotic analysis करते है

किसी भी algorithm के order को find करना ही asymptotic analysis कहलाता है |

टिप्पणी पोस्ट करें

0 टिप्पणियां