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

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

इस लेख में हम दी गई समस्या के समाधान के बारे में जानेंगे।

समस्या कथन

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

उदाहरण

# collections मॉड्यूल
from collections import defaultdict

# ग्राफ बनाने के लिए क्लास
class Graph():
    # कंस्ट्रक्टर
    def __init__(self, vertices):
        self.graph = defaultdict(list)
        self.V = vertices
    def addEdge(self, u, v):
        self.graph[u].append(v)
    def isCyclicUtil(self, v, visited, recStack):
        # वर्तमान नोड को विज़िटेड मार्क करें और रिकर्सन स्टैक में जोड़ें
        visited[v] = True
        recStack[v] = True
        # यदि कोई पड़ोसी विज़िटेड है और recStack में है तो ग्राफ चक्रीय है
        for neighbour in self.graph[v]:
            if visited[neighbour] == False:
                if self.isCyclicUtil(neighbour, visited, recStack) == True:
                    return True
            elif recStack[neighbour] == True:
                return True
        # रिकर्सन के अंत में नोड को पॉप करें
        recStack[v] = False
        return False
    # सच लौटाता है यदि ग्राफ चक्रीय है
    def isCyclic(self):
        visited = [False] * self.V
        recStack = [False] * self.V
        for node in range(self.V):
            if visited[node] == False:
                if self.isCyclicUtil(node, visited, recStack) == True:
                    return True
        return False

g = Graph(4)
g.addEdge(0, 3)
g.addEdge(0, 2)
g.addEdge(3, 2)
g.addEdge(2, 0)
g.addEdge(1, 3)
g.addEdge(2, 1)
if g.isCyclic() == 1:
    print("Graph is cyclic in nature")
else:
    print("Graph is non-cyclic in nature")

आउटपुट

Graph is cyclic in nature

निष्कर्ष

इस लेख में हमने निर्देशित ग्राफ में चक्र का पता लगाने के पायथन प्रोग्राम के बारे में सीखा।

  1. पायथन प्रोग्राम: कंपाउंड इंटरेस्ट पायथन प्रोग्राम: कंपाउंड इंटरेस्ट

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

  1. पायथन प्रोग्राम: साधारण ब्याज की गणना पायथन प्रोग्राम: साधारण ब्याज की गणना

    इस लेख में, हम पायथन 3.x या उससे पहले के संस्करण में साधारण ब्याज की गणना के बारे में जानेंगे।साधारण ब्याज की गणना दैनिक ब्याज दर को मूल राशि से गुणा करके और फिर भुगतानों के बीच बीते दिनों की संख्या से गुणा करके की जाती है।गणितीय रूप से,Simple Interest = (P x T x R) / 100जहां, P मूल राशि हैT समय है

  1. पायथन प्रोग्राम: सिलेक्शन सॉर्ट एल्गोरिदम पायथन प्रोग्राम: सिलेक्शन सॉर्ट एल्गोरिदम

    इस लेख में, हम पायथन 3.x या उससे पहले के संस्करण में सिलेक्शन सॉर्ट और इसके कार्यान्वयन के बारे में जानेंगे।सिलेक्शन सॉर्ट एल्गोरिदम में, एक सरणी को अनसॉर्टेड भाग से न्यूनतम तत्व को पुनरावर्ती रूप से ढूंढकर और इसे शुरुआत में डालकर सॉर्ट किया जाता है। दिए गए सरणी पर सिलेक्शन सॉर्ट के निष्पादन के दौरा