Bidirectional Search Algorithm in Hindi:-

Bidirectional search, Breadth-first search तथा Depth-first search से advance Technique किसी भी Problem को search करने की।

क्योकि Breadth-First Search Level wise किसी Problem को या Goal state को search करती हैं तथा Depth First Search, Depth wise (यानि नीचे लास्ट नोड तक) Search करती हैं तथा उसके बाद Backtracking करती हैं।

But इन दोनों ही Technique में एक ही Direction से searching की जाती हैं।

जबकि Bidirectional Search एक ऐसी Technique हैं जिसमे Start Node तथा ending node दोनों ही direction से Searching की जाती हैं।

Bidirectional Search in Hindi
Bidirectional Search

इसमें Starting से Forward की तरफ Searching की जाती हैं तथा Ending से Back word की तरफ searching की जाती हैं तथा एक Mid Point पर आकर रुक जाते हैं या searching को समाप्त करते हैं।

इसे हम एक example से समझने की कोशिस करते हैं:-

यदि आपको आपके Friends से मिलना तो इसका simple सा solution हैं कि या तो आप अपने Friends के घर चले जाये या उसे अपने घर बुला ले।

यह Technique Breadth first Search तथा depth First search में use की जाती हैं।

But यदि आप अपना और अपने Friends का समय बचाना चाहते हो आप एक Mid Point decide करके आप यहाँ से Journey start करोंगे और आपका friends वहा से Journey start करेंगा , और आप दोनों आपके select किये गए Mid Point पर मिल जाओंगे।

यही Technique Bidirectional Search में use की जाती हैं।

Time Complexity:-

Bidirectional Search Technique का सबसे बड़ा advantage यह हैं की इसकी Time Complexity कम होती हैं क्योकि दोनों Direction से searching होती हैं तथा Mid Point पर Ending होती हैं।

Space Complexity:-

Space Complexity BFS तथा DFS कि तुलना में same ही रहती हैं क्योकि हम Number of Nodes same ही travel करते हैं।

Completeness:-

Completeness का मतलब यह हैं कि क्या यह हमे हमेशा Answer देंगे या नहीं

तो इसका Answer इस बात पर Depend करता हैं कि हम इसके साथ किस search technique का उसे करते हैं  BFS का या DFS.

यदि हम Bidirectional के साथ BFS का use करते हैं तो यह हमे Defiantly Answer देगा ही देगा क्योकि यह Level wise searching करता हैं जिसकी वजह से कोई भी node बिना travelling  नहीं छूटता हैं।

But यदि हम DFS का use करते हैं तो यह हमे Answer दे भी सकता हैं और नहीं भी, क्योकि इसमें searching Depth wise होती हैं जिसकी वजह से कभी कभी यह या तो infinite state में चल जाता हैं या Loop में फस जाता हैं इस Condition में यह हमे Answer नहीं देता हैं।

For Example:-

कई बार ऐसा हो सकता हैं कि तुम तुम्हारे Friends से मिलने के लिए journey start करते हो तथा तुम्हारा friends तुमसे मिलने के लिए, but दोनों same किसी parallel गली में फस गए तो तुम दोनों कभी भी एक दूसरे से नहीं मिल पाओगे।

इसी condition में DFS में हमे Result नहीं मिलता हैं।

Leave a Reply