Bazı kodları bağımlılıkları için analiz ediyorum.Döngüsel grafiği ağacı azaltın (bağımlılık grafiği -> ağaç)
F
A /|
| /|
| /|
V < V
B<--->C--->E
\ / |
> < |
D<------+
B A bağlıdır ve C C C ve D B bağlıdır F ve C ve E
bağlıdır E B ve F bağlıdır : orada bazı örülmüş bağımlılıkları, böylece gibi diyelimB ve C ile ilgili bir problemimiz var, birbirlerine bağlılar. Süper düğümde birleştirilmelidirler. C ve E ve F ile ilgili bir sorunumuz var, bir döngüye sahipler. Süper düğümde birleştirilmelidirler.
Böyle azaltılması için izin veren iyi bir kütüphane veya algoritma (Java tercih ama önerilerine açık) kaynak var mı
A
|
V
super
node
|
|
D
ile sona ereceğini?
Bir döngüdeki tüm düğümler tek bir düğümde birleştirilir. Yeni düğümdeki herhangi bir düğüme işaret eden herhangi bir düğüm, yeni düğüme işaret etmelidir. Yeni düğümdeki herhangi bir düğüm tarafından işaret edilen herhangi bir düğüm, yeni düğümün bu düğüme işaret etmesine neden olur.
Teşekkürler!
Gerçekten de tam da aradığım şey bu. Tarjan'ın algoritması, kendimi uygulayabilecek kadar basit görünüyor, ancak Java uygulamasına sahip olmanız durumunda bağlantıları memnuniyetle kabul ediyorum. – corsiKa
Üzgünüm, yapmam. Algıladığım gibi algoritmanın wiki sayfasından biraz farklı olduğunu öğrendim, yığın olmadan ... Umarım başka birisi buna sahip olur mu? – usul
Aslında wikipedia'nın bir bağlantısı var. Tabii ki, bu wiki, kendi sorumluluğunuzda. İyi şanslar! http://algowiki.net/wiki/index.php?title=Tarjan%27s_algorithm – usul