Algorithm Design Techniques in Hindi – DAA

हेल्लो दोस्तों! आज हम इस post में Algorithm Design Techniques in Hindi (अल्गोरिथ्म डिजाईन तकनीकों) के बारें में पूरे विस्तार में पढेंगे, तो चलिए शुरू करते है.

Algorithm Design Technique in Hindi

Algorithm के लिए एक सही design technique को select करना एक कठिन परन्तु बहुत ही महत्वपूर्ण कार्य है. आप प्रोग्रामिंग के लिएकिसी भी programming भाषा का प्रयोग करें लेकिन algorithm design techniques को सीखना important होता है. क्योंकि यह सभी languages में काम में आता है.

निम्नलिखित कुछ मुख्य एल्गोरिथ्म डिज़ाइन तकनीकें हैं:-

  • Divide and conquer
  • Greedy Method
  • Dynamic Programming
  • Backtracking
  • Branch & Bound
  • Linear Programming

Divide and Conquer 

divide and conquer approach में, एक problem को छोटे छोटे sub-problems में विभाजित कर लिया जाता है. फिर उसके बाद इन sub-problems को एक एक करके solve किया जाता है और अंत में सभी solutions को combine करके main problem का solution प्राप्त किया जाता है.

इसमें प्रत्येक level में निम्नलिखित तीन steps होते हैं:-

  • divide – Main problem को sub – problems में विभाजित किया जाता है.
  • conquer – sub – problems को एक एक करके solve किया जाता है.
  • combine – सभी sub – problems के solutions को एक साथ मिलाकर main problem के solution को प्राप्त किया जाता है.

divide and conquer approach को निम्नलिखित algorithms में प्रयोग किया जाता है:-

Greedy Method 

Greedy method का प्रयोग optimization problem को solve करने के लिए किया जाता है. एक optimization problem वह होती है जिसमें हमें input values का एक set दिया जाता है, जिसे या तो बढ़ाने या कम करने की आवश्यकता होती है.

इस greedy method को कठिन problems में apply करना बहुत ही आसान होता है. यह निर्णय करता है कौन सा step अगले step में सबसे सही solution प्रदान करेगा. इसे greedy इसलिए कहा जाता है क्योंकि यह हर step पर सबसे अच्छा solution खोजने की कोशिश करता है। इसमें पहले step को इस प्रकार चुना जाता है कि वह तुरंत benefit (लाभ) देता है.

इसे पूरा पढ़ें:- Greedy Algorithm in Hindi

Dynamic programming 

dynamic programming एक bottom up approach है,  इसमें हम सभी संभावित छोटी problems को solve करते हैं और फिर बड़ी problems के solution को प्राप्त करने के लिए उन्हें combine करते हैं।

divide and conquer method के विपरीत, dynamic programming कई बार sub-problems के solution का फिर से उपयोग करता है।

Fibonacci Series के लिए recursive algorithm इसका उदाहरण है.

Backtracking algorithm in Hindi

combination संबंधी problems को solve करने के लिए backtracking एक optimization तकनीक है। इसका प्रयोग programs में और real life दोनों में किया जाता है.

eight queen problem, Sudoku puzzle और Maze आदि popular उदाहरण है जिसमें backtracking का प्रयोग किया जाता है.

backtracking में, हम एक possible solution के साथ शुरू करते हैं, जो सभी आवश्यक conditions को पूरा करता है। फिर हम अगले level पर जाते हैं और यदि वह level संतोषजनक solution नहीं देता है, तो हम एक level वापस पीछे आते हैं और एक नए option के साथ शुरू करते हैं।

Branch and Bound

इस algorithm में एक दिए हुए sub-problem, जिसे bound नहीं किया जा सकता है, को कम से कम दो नए restricted sub-problems में विभाजित किया जाता है। यह एल्गोरिथ्म non-convex problems में global optimization के लिए method हैं।

Branch and bound search को depth bounded search और depth-first search में प्रयोग किया जाता है.

Linear Programming

linear programming में बहुत सारें optimization job को describe किया गया है जहाँ, optimization criteria और constraints दोनों linear functions होते हैं.

यह सबसे अच्छे परिणाम प्राप्त करने की एक तकनीक है जैसे कि – maximum profit, shortest path, या lowest cost.

इस programming में, हमारे पास variables का एक set होता है और हमें linear equations के set को संतुष्ट करने के लिए absolute वैल्यू assign करनी होती है.

निवेदन:- अगर आपके लिए यह आर्टिकल useful रहा हो तो इसे अपने दोस्तों के साथ अवश्य share कीजिये और आपके जो भी questions है आप उन्हें नीचे कमेंट के द्वारा बता सकते हैं.

3 thoughts on “Algorithm Design Techniques in Hindi – DAA”

Leave a Comment