मैं इसकी निर्भरताओं के लिए कुछ कोड का विश्लेषण कर रहा हूं।पेड़ पर चक्रीय ग्राफ को कम करें (निर्भरता ग्राफ -> पेड़)
F
A /|
| /|
| /|
V < V
B<--->C--->E
\ / |
> < |
D<------+
बी ए पर निर्भर करता है और सी सी बी और एफ ई सी और एफ डी बी पर निर्भर करता है और सी और ई
पर निर्भर करता है पर निर्भर करता है: मान लें कि कुछ interwoven निर्भरता, देखते हैं तो पसंद आता हैहमें बी और सी के साथ समस्या है, वे एक-दूसरे पर निर्भर हैं। उन्हें एक सुपर-नोड में जोड़ा जाना चाहिए। हमें सी और ई और एफ के साथ समस्या है, उनके पास एक चक्र है। उन्हें एक सुपर-नोड में जोड़ा जाना चाहिए।
आप
A
|
V
super
node
|
|
D
के साथ खत्म होगा वहाँ एक अच्छा पुस्तकालय या एल्गोरिथ्म स्रोत (जावा पसंद है, लेकिन सुझाव के लिए खुले) कि इस तरह के कम करने के लिए अनुमति देता है है?
चक्र में किसी भी नोड को एक नोड में जोड़ा जाता है। किसी भी नोड जो नए नोड में किसी भी नोड को इंगित करता है उसे नये नोड को इंगित करना चाहिए। नए नोड में किसी भी नोड द्वारा इंगित कोई भी नोड उस नोड को इंगित करने के लिए नए नोड का कारण बनना चाहिए।
धन्यवाद!
दरअसल, यह वही है जो मैं ढूंढ रहा हूं। तर्जन का एल्गोरिदम खुद को लागू करने के लिए काफी सरल प्रतीत होता है, लेकिन यदि आप जावा कार्यान्वयन के लिए हैं तो मैं खुशी से लिंक स्वीकार करूंगा। – corsiKa
क्षमा करें, मैं नहीं करता। मुझे एल्गोरिदम की तरह लगता है क्योंकि मैंने सीखा है कि यह विकी पेज से थोड़ा अलग था, बिना ढेर के ... उम्मीद है कि किसी और के पास यह होगा? – usul
दरअसल, विकिपीडिया में एक लिंक है। बेशक, यह विकी है, इसलिए अपने जोखिम पर। सौभाग्य! http://algowiki.net/wiki/index.php?title=Tarjan%27s_algorithm – usul