Pseudokód pro získání řád založený na dependency

hlasů
0

Ok, moje situace je to mám seznam věcí a musím se pořadí těchto položek na základě referencí, které mají. Pro příklad řekněme, že máme tyto položky: A, B, C, D, E, F

C a D mají žádné závislosti tak, aby jejich pořadí může být 0. B je ten, který má největší s C, D a A. A je C a F má A a B

  C    D    
  | \  /
  A  /
/ | /
| B 
\ |
  F

V tomto případě je C, D = 0, A = 1 B = 2 F = 3

Hledala jsem přes internet a zdá se, jsem nepoužívá správný vědecký termín pro toto. S největší pravděpodobností se jedná o Set nebo Bag set nějakým způsobem. Vím, že to není strom, protože tato situace má více než dvě hrany na každém uzlu. Odpověď může být v programovacím jazyku, jen se snaží dělat to co nejobecnější.

Položena 10/12/2009 v 17:12
zdroj uživatelem
V jiných jazycích...                            


2 odpovědí

hlasů
2

Jednoduchý algoritmus je následující.

Iteraci kolekci hledal prvky, které nemají žádné závislosti: zapamatovat tyto prvky za „Úroveň 0 prvků“.

Iteraci kolekci opět hledá prvky, které mohou záviset na „Úroveň 0 prvky“, ale ne na jiných prvcích: zapamatovat tyto prvky za „úroveň 1 prvků“.

Iteraci kolekci opět hledá prvky, které mohou záviset na „Úroveň 0 prvky“ a / nebo „úroveň 1 prvků“, ale ne na jiných prvků: zapamatovat tyto prvky za „úroveň 2 prvků“.

Atd.

Stop, když každý prvek má přiřazenu úroveň.

Odpovězeno 10/12/2009 v 17:18
zdroj uživatelem

hlasů
0

Můžete vytvořit graf a udržovat počty ukazatel, nebo můžete použít matici. Vyhledávat a číst některé základní představu o tom, graf (matematiky, ne počítačové grafu), můžete najít to je docela snadné.

Odpovězeno 10/12/2009 v 17:18
zdroj uživatelem

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