न्यूनतम विस्तारित वृक्ष कैलकुलेटर
Kruskal's Algorithm · Prim's Algorithm · Graph Visualization
एक भारित undirected graph को edge list के रूप में दर्ज करें और Kruskal's और Prim's दोनों एल्गोरिदम का उपयोग करके MST की गणना करें। चरण-दर-चरण तालिका और canvas विज़ुअलाइज़ेशन देखें।
त्वरित उदाहरण (Quick Examples)
MST Edge सूची
अभी तक कोई परिणाम नहीं
Calculator tab पर edges दर्ज करें और MST की गणना करें पर क्लिक करें।
Kruskal's Algorithm — चरण
Edges को आरोही भार क्रम में प्रोसेस किया जाता है। हरी पंक्तियाँ = MST में जोड़ी गईं। पीली पंक्तियाँ = छोड़ी गईं (cycle बनाती)।
| चरण | Edge | भार | क्रिया | Components |
|---|
अभी तक कोई परिणाम नहीं
Calculator tab पर edges दर्ज करें और MST की गणना करें पर क्लिक करें।
Prim's Algorithm — चरण
चुने गए node से प्रारंभ करके, MST हमेशा unvisited vertex तक minimum-weight edge चुनकर बढ़ता है।
| चरण | जोड़ा गया Node | Edge से | भार | अब तक MST |
|---|
अभी तक कोई परिणाम नहीं
Calculator tab पर edges दर्ज करें और MST की गणना करें पर क्लिक करें।
ग्राफ विज़ुअलाइज़ेशन
MST edge Non-MST edge
Spanning Tree क्या है?
एक connected undirected graph G = (V, E) का spanning tree एक subgraph है जिसमें सभी vertices V और edges का एक उपसमुच्चय शामिल है जो एक tree बनाता है — एक connected, acyclic graph। n vertices वाले graph के लिए, प्रत्येक spanning tree में ठीक n−1 edges होते हैं।
न्यूनतम विस्तारित वृक्ष (MST) क्या है?
एक न्यूनतम विस्तारित वृक्ष (MST) एक spanning tree है जिसका कुल edge भार graph के सभी spanning trees में न्यूनतम है। MST इस प्रश्न का उत्तर देता है: "सभी vertices को जोड़ने का सबसे सस्ता तरीका क्या है?" n vertices और m edges वाले graph के लिए, MST में ठीक n−1 edges हैं।
दो classical greedy algorithms इस समस्या को efficiently हल करते हैं: Kruskal का एल्गोरिदम और Prim का एल्गोरिदम। दोनों एक MST खोजने की गारंटी देते हैं।
Kruskal का एल्गोरिदम
Kruskal का एल्गोरिदम edges को globally process करता है, भार के अनुसार sort करके। यह प्रत्येक vertex को अपने component में रखकर प्रारंभ करता है और greedily सबसे सस्ती edge जोड़कर components को merge करता है।
चरण
- सभी edges को आरोही भार क्रम में sort करें।
- प्रत्येक vertex को अपने set के रूप में Union-Find (disjoint set) structure initialize करें।
- Sorted order में प्रत्येक edge (u, v, w) के लिए: यदि u और v अलग-अलग components में हैं, तो edge को MST में जोड़ें और दोनों components को union करें।
- जब n−1 edges जोड़ दिए जाएं तो रुकें।
Union-Find data structure के साथ path compression और union by rank cycle detection को लगभग O(1) प्रति edge बनाता है, Kruskal के एल्गोरिदम को O(E log E) समय complexity देता है।
Prim का एल्गोरिदम
Prim का एल्गोरिदम एक starting vertex से MST को बढ़ाता है, हमेशा वह सबसे सस्ती edge चुनता है जो current MST को एक ऐसे vertex से जोड़ती है जो अभी तक tree में नहीं है।
चरण
- किसी भी vertex से प्रारंभ करें; उसे visited mark करें।
- Current MST के सभी edges को min-priority queue में जोड़ें।
- Minimum-weight edge (u, v) निकालें जहाँ v unvisited है; उसे MST में जोड़ें।
- v को visited mark करें और उसकी edges enqueue करें। n−1 edges जुड़ने तक दोहराएं।
Binary heap के साथ Prim's O(E log V) में चलता है।
Kruskal's vs Prim's — तुलना
| गुण | Kruskal's | Prim's |
|---|---|---|
| दृष्टिकोण | Global edge sort | Vertex-by-vertex विस्तार |
| Data Structure | Union-Find | Min-Heap / Priority Queue |
| Time Complexity | O(E log E) | O(E log V) |
| सर्वश्रेष्ठ | Sparse graphs | Dense graphs |
| प्रारंभ बिंदु | कोई नहीं (सभी edges) | चुना हुआ start vertex |
MST की uniqueness
MST unique है यदि सभी edge weights distinct हैं। जब edges का एक समान भार होता है, तो एक समान कुल भार वाले कई MSTs मौजूद हो सकते हैं। हालांकि, कुल MST भार हमेशा unique रूप से निर्धारित होता है।
Disconnected Graphs — Spanning Forests
यदि graph disconnected है, तो कोई spanning tree अस्तित्व में नहीं है। इसके बजाय, प्रत्येक connected component का अपना MST होता है, और मिलकर वे एक न्यूनतम spanning forest बनाते हैं।
वास्तविक अनुप्रयोग
- Network Design: न्यूनतम कुल cable लंबाई के साथ telephone, power, या internet network डिज़ाइन करना।
- Cable/Pipeline बिछाना: शहरों को physical links से जोड़ने का सबसे सस्ता तरीका।
- Cluster Analysis: Machine learning में single-linkage hierarchical clustering।
- TSP Approximation: MST, metric Travelling Salesman Problem के लिए 2-approximation देता है।
- Image Segmentation: Computer vision में pixel similarity graphs पर MST-based segmentation।
- VLSI Circuit Design: Chip पर circuit components को जोड़ने वाले wire की लंबाई minimize करना।