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

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

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

तो, अगर इनपुट पसंद है

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

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

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

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

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

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

उदाहरण

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. एक निर्देशित ग्राफ में चक्र का पता लगाने के लिए पायथन कार्यक्रम

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक निर्देशित ग्राफ दिया गया है, हमें यह जांचना होगा कि ग्राफ में एक चक्र है या नहीं। आउटपुट सही होना चाहिए यदि दिए गए ग्राफ़ में कम से कम एक चक्र है, अन्यथा गलत है। आइए अब नीचे दिए गए कार्यान्वयन में समाधान देखे

  1. एक मैट्रिक्स के स्थानान्तरण को खोजने के लिए पायथन कार्यक्रम

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

  1. सरणी का योग खोजने के लिए पायथन कार्यक्रम

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