Graph Traversal Techniques: Depth First Search (DFS) और Breadth First Search (BFS) Explained
Graph Traversal Techniques: Depth First Search (DFS) और Breadth First Search (BFS) Explained
Graphs एक महत्वपूर्ण data structure हैं, जो कि विभिन्न problem को solve करने में बहुत उपयोगी होती हैं। Graph traversal techniques का उपयोग करके हम graph में nodes या vertices को explore कर सकते हैं। traversal techniques हैं Depth First Search (DFS) और Breadth First Search (BFS)। आइए इन्हें समझते हैं।
Depth First Search (DFS)
Depth First Search (DFS) एक traversal technique है जो graph के गहरे हिस्सों की ओर तेजी से बढ़ता है। यह एक recursive approach का उपयोग करता है, जहाँ हम एक vertex से शुरू करते हैं और उसके सभी adjacent vertices को traverse करते हैं।
DFS की प्रक्रिया:
-
Start Node से traversal शुरू करें।
-
Current node को mark करें (visited)।
-
Current node के सभी unvisited adjacent nodes को explore करें।
-
जब कोई unvisited adjacent node नहीं हो, तो backtrack करें और दूसरे unvisited node को explore करें।
-
यह प्रक्रिया तब तक चलती है जब तक सभी nodes visit नहीं हो जाते।
DFS का Example:
मान लीजिए हमारे पास एक graph है:
A -- B
| |
C -- D
DFS का traversal path हो सकता है: A → B → D → C
DFS के Advantages:
-
Memory में कम space लेता है, खासकर जब graph sparse हो।
-
यह graphs की topology को बेहतर तरीके से समझने में मदद करता है।
DFS के Disadvantages:
-
Worst case में, यह बहुत लंबा हो सकता है, विशेष रूप से dense graphs में।
Breadth First Search (BFS)
Breadth First Search (BFS) एक और traversal technique है, जो nodes को level by level traverse करता है। BFS का उपयोग करके हम सबसे पहले starting node के सभी neighbors को visit करते हैं और फिर उनके neighbors को।
BFS की प्रक्रिया:
-
Start Node को queue में डालें।
-
जब तक queue empty न हो:
-
Queue से एक node निकालें (current node)।
-
Current node को mark करें (visited)।
-
Current node के सभी unvisited adjacent nodes को queue में डालें।
-
BFS का Example:
उसी graph का उपयोग करते हुए:
A -- B
| |
C -- D
BFS का traversal path हो सकता है: A → B → C → D
BFS के Advantages:
-
Shortest path को खोजने में मदद करता है, खासकर unweighted graphs में।
-
यह level order traversal के लिए आदर्श है।
BFS के Disadvantages:
-
अधिक memory लेता है, क्योंकि यह सभी nodes को एक स्तर पर store करता है।
Conclusion
DFS और BFS दोनों traversal techniques हैं, जो graph को traverse करने के लिए विभिन्न दृष्टिकोण प्रदान करती हैं। आपकी आवश्यकता और graph की प्रकृति के आधार पर, आप इनमें से किसी एक का चयन कर सकते हैं। जब आपको shortest path की आवश्यकता हो, तो BFS बेहतर विकल्प हो सकता है, जबकि DFS recursive problems को हल करने के लिए अधिक उपयुक्त है।
Related Articles
Dijkstra’s Shortest Path Algorithm in Hindi
Graphs एक महत्वपूर्ण data structure है, और कई समस्याओं का स...
Read More →Minimum Spanning Tree (MST) - Kruskal और Prim’s Algorithms
Graphs में Minimum Spanning Tree (MST) एक बहुत ही महत्वपूर्ण concept है...
Read More →Graph in Data Structure in Hindi: Directed और Undirected Graphs
Graphs (ग्राफ) एक महत्वपूर्ण डेटा स्ट्रक्चर हैं ज...
Read More →B-Tree और B+ Tree क्या है? Difference और Uses हिंदी में |
B-Tree और B+ Tree Data Structure: Introduction और Uses B-Tree ...
Read More →Multi-Way Tree Data Structure क्या है? Introduction और Advantages हिंदी में
Multi-Way Tree Data Structure: Introduction and Uses Multi-Way Tree Dat...
Read More →