मैं पाइथन के नेटवर्कएक्स पैकेज का उपयोग कर रहा हूं।पायथन: ग्राफ़ में 2 नोड्स के बीच कोई पथ मौजूद है या नहीं?
उत्तर
>>> import networkx as nx
>>> G=nx.empty_graph()
>>> G.add_edge(1,2)
>>> G.add_edge(2,3)
>>> G.add_edge(4,5)
>>> nx.path.bidirectional_dijkstra(G,1,2)
(1, [1, 2])
>>> nx.path.bidirectional_dijkstra(G,1,3)
(2, [1, 2, 3])
>>> nx.path.bidirectional_dijkstra(G,1,4)
False
>>> nx.path.bidirectional_dijkstra(G,1,5)
False
>>>
तुम भी एक बूलियन मान के रूप में परिणाम का उपयोग कर सकते
>>> if nx.path.bidirectional_dijkstra(G,1,2): print "path exists"
...
path exists
>>> if nx.path.bidirectional_dijkstra(G,1,4): print "path exists"
...
>>>
dijkstra_path(G, source, target)
जी एक भारित ग्राफ में लक्षित करने के लिए स्रोत से कम से कम पथ रिटर्न
उपयोग
shortest_path(G, source, target)
या शोर्टेस्ट पाथ तरीकों में से एक। उन तरीकों से स्पष्ट रहें जो सभी नोड्स के बीच पथ लौटाते हैं, हालांकि यदि आपके पास कनेक्टिविटी के लिए परीक्षण करने के लिए केवल दो विशिष्ट नोड्स हैं।
एक असंबंधित समूह डेटा संरचना का उपयोग करना:
एक सिंगलटन ग्राफ में हर शिखर के लिए सेट बनाएं, फिर संघ सेट ग्राफ में हर बढ़त के लिए शीर्षों की इस जोड़ी में दोनों हैं।
अंत में, आप जानते हैं कि एक रास्ता दो कोने के बीच मौजूद है अगर वे एक ही सेट में हैं।
असंबंधित समूह डेटा संरचना पर wikipedia पेज देखें।
यह पथ खोज एल्गोरिदम का उपयोग करने से कहीं अधिक कुशल है।
वहाँ एक ग्राफ में दो नोड्स के बीच एक रास्ता है कि क्या जांच करने के लिए -
>>> import networkx as nx
>>> G=nx.Graph()
>>> G.add_edge(1,2)
>>> G.add_edge(2,3)
>>> nx.has_path(G,1,3)
True
>>> G.add_edge(4,5)
>>> nx.has_path(G,1,5)
False
अधिक जानकारी के लिए कृपया उल्लेख has_path — NetworkX 1.7 documentation
- 1. ग्राफ़ सिद्धांत - इष्टतम पथ
- 2. ब्रेडथ-फर्स्ट सर्च का उपयोग करके 2 नोड्स के बीच पथ कैसे प्राप्त करें?
- 3. क्यूटर का उपयोग करके ज़ूकीपर में कोई पथ मौजूद है या नहीं?
- 4. php: जांचें कि पथ मौजूद है या नहीं?
- 5. नोड ग्राफ़ में यादृच्छिक पथ के लिए तेज़ और स्थिर एल्गोरिदम क्या है?
- 6. यह जांचने के लिए कि उपयोगकर्ता परिभाषित पथ पर कोई फ़ाइल मौजूद है या नहीं?
- 7. सिमफ़ोनी 2 में ट्विग टेम्पलेटिंग इंजन में कोई ऑब्जेक्ट मौजूद है या नहीं?
- 8. नोड्स के बीच पथ की लंबाई की गणना करें?
- 9. चेक बॉक्स में कोई मान मौजूद है या नहीं,
- 10. जावास्क्रिप्ट में कोई विंडो मौजूद है या नहीं?
- 11. std :: map में कोई तत्व मौजूद है या नहीं?
- 12. Django में कोई टेम्पलेट मौजूद है या नहीं?
- 13. जांचें कि रेल में कोई लेआउट मौजूद है या नहीं?
- 14. ग्राफ़
- 15. यह बताएं कि कोई संपत्ति मौजूद है या नहीं है
- 16. ग्राफ़
- 17. पायथन में "2 * 2" और "2 ** 2" के बीच क्या अंतर है?
- 18. कनेक्टेड नोड्स की सूची से ग्राफ़ बनाएं
- 19. डेटाबेस में कोई तालिका या स्तंभ मौजूद है या नहीं, यह जांचने के लिए कैसे करें?
- 20. डीबी 2: तालिका में या कॉलम की सूची में कोई कॉलम मौजूद है या नहीं, तो मुझे कैसे पता चलेगा?
- 21. पायथन एलएक्सएमएल (ऑब्जेक्टिफाइज़): यह जांचना कि कोई टैग मौजूद है या नहीं
- 22. ग्राफ़ नोड्स के बीच रेखाओं को रेखांकित करने के लिए कुछ अच्छे एल्गोरिदम क्या हैं?
- 23. 2 जटिल ऑब्जेक्ट ग्राफ़
- 24. जांचें कि कोई पंक्ति मौजूद है या नहीं postgresql
- 25. तुलना करना अगर datetime.datetime मौजूद है या कोई नहीं
- 26. कैसे जांचें कि कोई संपत्ति मौजूद है या नहीं?
- 27. बाहरी सर्वर पर कोई फ़ाइल मौजूद है या नहीं,
- 28. XPath: यह जांचने के लिए कि कोई विशेषता मौजूद है या नहीं?
- 29. सीवीएसआईज मौजूद नहीं है?
- 30. गिट डिप्लॉयमेंट ईपी 2 नोड्स
क्या होगा यदि पथ 2 दिए गए नोड्स के बीच मौजूद नहीं है? फ़ंक्शन फिर वापस क्या करता है? – Bruce
मैं सबसे छोटा रास्ता नहीं खोजना चाहता हूं। मैं सिर्फ यह जानना चाहता हूं कि 2 दिए गए नोड्स के बीच कोई पथ मौजूद है या नहीं। – Bruce