एक ग्राफ में बंद रास्तों को खोजने के लिए छद्म कोड

वोट
-1

मैं एक ग्राफ जो इसी adjMat [i, j] = 1 में 1 होने से नोड्स के बीच किनारों पटरियों के लिए एक adjaceny मैट्रिक्स है; इस adjaceny मैट्रिक्स के माध्यम से मैं लंबाई 4 जो ग्राफ में मौजूद है के सभी बंद रास्तों पता लगाने के लिए चाहते हैं। किसी को भी कृपया मुझे एक छद्म कोड के साथ प्रदान कर सकते हैं। धन्यवाद

14/03/2009 को 20:38
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


3 जवाब

वोट
0

गहराई सीमित जहां डीएफएस प्रारंभिक नोड पाता प्रत्येक नोड और रिकॉर्ड नोड्स को गहराई-पहले खोज को लागू करें। : खोज के लिए, छद्म कोड यहाँ देख http://en.wikipedia.org/wiki/Depth-limited_search । तुम बस की तरह कुछ जोड़ने की जरूरत

if(node' == node && node'.depth==4) memorize(node)

पाश की शुरुआत करने के लिए।

14/03/2009 को 20:56
का स्रोत उपयोगकर्ता

वोट
2

यह होमवर्क की तरह लगता है, तो मैं पूरी बात दूर नहीं देंगे। लेकिन यहाँ एक संकेत है: जब से तुम लंबाई 4 के चक्र की खोज में रुचि रखते हैं, निकटता मैट्रिक्स के 4 बिजली लेने के लिए और विकर्ण साथ स्कैन। अगर किसी भी प्रविष्टि एम [मैं, मैं] अशून्य है, वहाँ एक चक्र युक्त शिखर मैं है।

14/03/2009 को 20:57
का स्रोत उपयोगकर्ता

वोट
1

शायद यह यह (यह गणना करने के लिए इष्टतम तरीका नहीं है O(n^4)), लेकिन एक बहुत ही सरल तरीके से सभी कोने के माध्यम से स्कैन कर रहा है

a, b, c, d such that b > a, c > b, d > c

इसके बाद आप जाँच कर सकते हैं निम्नलिखित चक्र से प्रत्येक के लिए जाँच करें:

 1. ([क, ख] && [ख, ग] && [सी, डी] && [घ, एक])
 2. ([क, ख] && [ख, घ] && [डी, सी] && [ग, एक]) 
 3. ([ए, डी] && [घ, ख] && [ख, ग] && [ग, एक])

 1: 2: 3:
 एक --- बी ए --- बाब
 | | \ / | \ / |
 | | एक्स | एक्स |
 | | / \ | / \ |
 डी --- सी डी --- सीसीडी

आप मूल रूप से 3 तरीके है कि वे एक चक्र बन सकती है के लिए कोने के हर आदेश दिया सेट (ए, बी, सी, डी) जाँच कर रहे हैं।

तो छद्म कोड होगा:

for a = 0 to <lastVertex>
 for b = a + 1 to <lastVertex>
  for c = b + 1 to <lastVertex>
   for d = c + 1 to <lastVertex>

    if(IsCycle(a,b,c,d)) AddToList([a,b,c,d])
    if(IsCycle(a,b,d,c)) AddToList([a,b,d,c])
    if(IsCycle(a,c,b,d)) AddToList([a,c,b,d])

   next d
  next c
 next b    
next a
14/03/2009 को 21:15
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more