Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में निर्देशित ग्राफ को उलटने का प्रोग्राम


मान लीजिए हमारे पास एक निर्देशित ग्राफ है, हमें इसका उल्टा ढूंढना है ताकि यदि एक किनारा u से v तक जाता है, तो अब यह v से u तक जाए। यहां इनपुट एक एडजेंसी सूची होगी, और यदि n नोड्स हैं, तो नोड्स (0, 1, ..., n-1) होंगे।

इसलिए, यदि इनपुट इस तरह है

पायथन में निर्देशित ग्राफ को उलटने का प्रोग्राम

तो आउटपुट होगा

पायथन में निर्देशित ग्राफ को उलटने का प्रोग्राम

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे −

  • ans := n अलग-अलग सूचियों की एक सूची, जहां n शीर्षों की संख्या है
  • प्रत्येक इंडेक्स i, और आसन्न सूची l के लिए graph में, करें
    • प्रत्येक x के लिए l में, करें
      • i को ans[x] के अंत में जोड़ें
  • ans वापस करें

बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें −

उदाहरण

class Solution:    def solve(self, graph):       ans = [[] for _ in graph]       for i, l in enumerate(graph):          for x in l:             ans[x].append(i)       return ans ob = Solution() graph = [[1,2],[4],[4],[1,2],[3]] print(ob.solve(graph))

इनपुट

[[1,2],[4],[4],[1,2],[3]]

आउटपुट

[[], [0, 3], [0, 3], [4], [1, 2]]

  1. पायथन प्रोग्राम: निर्देशित ग्राफ में चक्र का पता लगाएं पायथन प्रोग्राम: निर्देशित ग्राफ में चक्र का पता लगाएं

    इस लेख में हम दी गई समस्या के समाधान के बारे में जानेंगे। समस्या कथन हमें एक निर्देशित ग्राफ दिया गया है, हमें जांचना है कि ग्राफ में चक्र है या नहीं। आउटपुट सच होना चाहिए यदि दिया गया ग्राफ कम से कम एक चक्र रखता है, अन्यथा गलत। उदाहरण # collections मॉड्यूल from collections import defaultdict # ग्र

  1. पायथन प्रोग्राम: मैट्रिक्स का ट्रांसपोज़ ढूंढें पायथन प्रोग्राम: मैट्रिक्स का ट्रांसपोज़ ढूंढें

    इस लेख में, हम दिए गए प्रॉब्लम स्टेटमेंट को हल करने के समाधान और दृष्टिकोण के बारे में सीखेंगे। प्रॉब्लम स्टेटमेंट एक मैट्रिक्स दिए जाने पर, हमें ट्रांसपोज़ को उसी मैट्रिक्स में स्टोर करना होगा और इसे प्रदर्शित करना होगा। मैट्रिक्स का ट्रांसपोज़ पंक्तियों को कॉलम में और कॉलम को पंक्तियों में बदलकर

  1. पायथन प्रोग्राम: ऐरे का योग ढूंढें पायथन प्रोग्राम: ऐरे का योग ढूंढें

    इस लेख में, हम दिए गए प्रॉब्लम स्टेटमेंट को हल करने के समाधान और दृष्टिकोण के बारे में सीखेंगे। प्रॉब्लम स्टेटमेंट इनपुट के रूप में एक ऐरे दिए जाने पर, हमें दिए गए ऐरे का योग निकालने की आवश्यकता है। यहां हम ब्रूट-फोर्स दृष्टिकोण का पालन कर सकते हैं यानी एक लिस्ट को ट्रैवर्स करना और प्रत्येक एलिमें