लागू करने से पहले समीक्षा करें
वास्तविक व्यवहार की अपेक्षित परिणाम से तुलना करें। जाँच असफल हो तो अगले बदलाव से पहले कारण समझें।
अधिकतम 32 शीर्ष वाले सरल अदिश ग्राफ में सेतु खोजें।
def bridge_edges(n, edges):
if type(n) is not int or not 0 <= n <= 32:
raise ValueError("vertex count")
if type(edges) is not list or len(edges) > 496:
raise ValueError("edge count")
graph = [set() for _ in range(n)]
for edge in edges:
if type(edge) is not tuple or len(edge) != 2 or any(
type(x) is not int or not 0 <= x < n for x in edge):
raise ValueError("edge endpoints")
a, b = edge
if a == b or b in graph[a]:
raise ValueError("simple undirected edges")
graph[a].add(b); graph[b].add(a)
timer, found = 0, []
entered, low = [-1] * n, [0] * n
def visit(v, parent):
nonlocal timer
entered[v] = low[v] = timer; timer += 1
for u in sorted(graph[v]):
if u == parent:
continue
if entered[u] < 0:
visit(u, v); low[v] = min(low[v], low[u])
if low[u] > entered[v]:
found.append(tuple(sorted((v, u))))
else:
low[v] = min(low[v], entered[u])
for v in range(n):
if entered[v] < 0:
visit(v, -1)
return sorted(found)वास्तविक व्यवहार की अपेक्षित परिणाम से तुलना करें। जाँच असफल हो तो अगले बदलाव से पहले कारण समझें।
बेस URL और आवश्यक होने पर API कुंजी से OpenAI-संगत या Anthropic endpoint सेट करें। कनेक्शन जाँचें। स्थानीय मॉडल सर्वर चालू होना चाहिए; दूरस्थ उपकरण अलग से डेटा भेज सकते हैं।
अलग घटक और चक्र जाँचें तथा इनपुट बदले बिना दोहरे किनारे, स्वयं-लूप और अमान्य सिरे अस्वीकार करें।
def bridge_edges(n, edges):
if type(n) is not int or not 0 <= n <= 32:
raise ValueError("vertex count")
if type(edges) is not list or len(edges) > 496:
raise ValueError("edge count")
graph = [set() for _ in range(n)]
for edge in edges:
if type(edge) is not tuple or len(edge) != 2 or any(
type(x) is not int or not 0 <= x < n for x in edge):
raise ValueError("edge endpoints")
a, b = edge
if a == b or b in graph[a]:
raise ValueError("simple undirected edges")
graph[a].add(b); graph[b].add(a)
timer, found = 0, []
entered, low = [-1] * n, [0] * n
def visit(v, parent):
nonlocal timer
entered[v] = low[v] = timer; timer += 1
for u in sorted(graph[v]):
if u == parent:
continue
if entered[u] < 0:
visit(u, v); low[v] = min(low[v], low[u])
if low[u] > entered[v]:
found.append(tuple(sorted((v, u))))
else:
low[v] = min(low[v], entered[u])
for v in range(n):
if entered[v] < 0:
visit(v, -1)
return sorted(found)SpanSorbus वास्तविक स्रोत फ़ाइलों के संदर्भ में कनेक्टिविटी तर्क जाँचने का Windows कोडिंग कार्यक्षेत्र है। पहले बताएँ कि अनुप्रयोग ग्राफ परिणाम से कौन सा निर्णय लेता है। ट्रैवर्सल या आउटपुट बदलने को कहने से पहले जुड़े मॉडल से इनपुट निरूपण और उसका उपयोग करने वाला कोड जाँचने को कहें।
उपयोगी कार्य में bridge_edges.py से ऐसी धार जाँच सकते हैं जिसे हटाने से परीक्षण ग्राफ का जुड़ा भाग अलग हो जाए। तुलना के लिए चक्र वाला ग्राफ लें और अपेक्षित धार सूची बताएँ। कार्यान्वयन के साथ सरल, अनिर्देशित ग्राफ की मान्यताएँ जाँचें ताकि प्रस्तावित बदलाव चुपचाप अलग प्रकार का इनपुट स्वीकार न करे।
प्रक्रिया लौटने के बाद भी सॉफ़्टवेयर का काम जारी रहता है। देखें कि कॉलर नोड का नाम कैसे रखता, धार कैसे दिखाता और अस्वीकृत डेटा कैसे संभालता है, फिर असंबद्ध तथा खाली परीक्षण मामलों से परियोजना जाँच चलाएँ। समीक्षा को इन दिखने वाले परिणामों से जोड़कर रखें। सही ग्राफ व्याख्या यह स्थापित नहीं करती कि अनुप्रयोग वास्तविक डेटा को अपेक्षित निरूपण में मैप करता है।
SpanSorbus समर्थित OpenAI-संगत या Anthropic एंडपॉइंट से जुड़ता है और आवश्यकता होने पर प्रवेश प्रमाण चाहिए। एंडपॉइंट उपलब्ध कराए तो बिना सेंसर वाला एआई मॉडल चुनें और प्रदाता की पाबंदियाँ तथा उपलब्ध टूल जाँचें। संदर्भ सीमाएँ मॉडल और सर्वर पर निर्भर हैं, इसलिए केंद्रित कोडिंग बातचीत के लिए सीमाबद्ध परीक्षण मामला और संबंधित उपभोक्ता दें।
ग्राफ की सटीक परिभाषा और अनुप्रयोग का निर्णय जाँचें। स्वतंत्र रूप से लिखे अपेक्षित परिणाम वाला परीक्षण मामला लें। अनौपचारिक ग्राफ व्याख्या को सॉफ़्टवेयर आवश्यकता बनाने से पहले दिशा, समानांतर धारों और स्वयं से जुड़ी धारों की कोड मान्यताएँ जाँचें।
अनुप्रयोग में कई अलग घटक हो सकते हैं, जिनकी अपनी संबंधित धारें हों। एक नोड से शुरू ट्रैवर्सल बाकी को छोड़ सकता है। कई घटकों वाला मामला लें और केवल पहली अपेक्षित धार नहीं, पूरा आउटपुट मिलाएँ।
पहले स्वीकृत इनपुट अनुबंध देखें। उदाहरण सरल ग्राफ चाहता है और दोहराव अस्वीकार करता है। आयातित डेटा में दोहराई धारें हों तो ग्राफ प्रक्रिया बदलने से पहले तय करें कि आयातक उन्हें सामान्य करे या त्रुटि बताए।
आंतरिक नोड पहचानकर्ता और उपयोगकर्ता को दिखने वाले लेबल की मैपिंग, तथा स्थिर आउटपुट के लिए आवश्यक क्रम तय करें। प्रस्तावित संपादन के साथ ये मैपिंग जाँचें। कॉलर गलत लेबल जोड़े तो सही आंतरिक धार जोड़ा भी भ्रामक परिणाम बन सकता है।
SpanSorbus · अद्यतन 2026-10-25