CComponentWisp
कार्यप्रवाह

कोडिंग कार्यप्रवाह · दिशात्मक प्रबल संबद्ध घटक

03
उत्पाद

कार्यप्रवाह

अधिकतम 64 शीर्षों वाले निर्देशित ग्राफ को प्रबल संयोजित घटकों में बाँटें। चक्र, अलग शीर्ष और खाली इनपुट जाँचें; आसन्नता समुच्चय बदले बिना अमान्य सदस्य अस्वीकार करें।

01

ऐप डाउनलोड करें

फ़ोल्डर चुनें और संपादन से पहले सहायक से संबंधित फ़ाइलें पढ़ने को कहें। काम का उद्देश्य और सीमाएँ बताएँ।

02

प्रोजेक्ट फ़ोल्डर खोलें

संगत endpoint चुनें। उपलब्ध उपकरण और उत्तरों की गुणवत्ता चुने गए मॉडल तथा सर्वर पर निर्भर करती है।

03

मॉडल जोड़ें और जाँचें

बदलाव और कमांड का आउटपुट देखें। परिणाम स्वीकार करने से पहले प्रोजेक्ट की जाँच चलाएँ; बनाया गया कोड अपने आप परीक्षण किया हुआ नहीं होता।

04

बदलाव देखें और परीक्षण चलाएँ

वास्तविक व्यवहार की अपेक्षित परिणाम से तुलना करें। जाँच असफल हो तो अगले बदलाव से पहले कारण समझें।

दिशात्मक प्रबल संबद्ध घटक

कार्यप्रवाह
def strong_components(graph):
    if type(graph) is not list or len(graph) > 64:
        raise ValueError("scc.graph")
    n = len(graph)
    if any(type(row) is not set or any(type(v) is not int or not 0 <= v < n for v in row) for row in graph):
        raise ValueError("scc.edge")
    seen, order = set(), []
    for start in range(n):
        if start in seen:
            continue
        seen.add(start)
        stack = [(start, iter(sorted(graph[start])))]
        while stack:
            node, edges = stack[-1]
            target = next(edges, None)
            if target is None:
                order.append(node)
                stack.pop()
            elif target not in seen:
                seen.add(target)
                stack.append((target, iter(sorted(graph[target]))))
    reverse = [set() for _ in graph]
    for node, edges in enumerate(graph):
        for target in edges:
            reverse[target].add(node)
    seen, result = set(), []
    for start in reversed(order):
        if start in seen:
            continue
        group, pending = [], [start]
        seen.add(start)
        while pending:
            node = pending.pop()
            group.append(node)
            for target in reverse[node]-seen:
                seen.add(target)
                pending.append(target)
        result.append(sorted(group))
    return sorted(result)

लागू करने से पहले समीक्षा करें. बदलाव और कमांड का आउटपुट देखें। परिणाम स्वीकार करने से पहले प्रोजेक्ट की जाँच चलाएँ; बनाया गया कोड अपने आप परीक्षण किया हुआ नहीं होता।

AI के साथ कोड का कार्यक्षेत्र

आपका अगला विचार यहीं शुरू होता है।

Windows के लिए डाउनलोड करें ↗