Pseudokode for å få orden basert på Dependency

stemmer
0

Ok, er min situasjon dette har jeg en liste over elementer og jeg trenger å få orden på disse elementene basert på referansene de har. For eksempel kan si at vi har disse elementene: A, B, C, D, E, F

C og D har ingen avhengigheter slik at deres rekkefølge kan være 0. B er den som har mest med C, D og A. A har C og F har A og B

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

I dette tilfellet C, D = 0 A = 1 B = 2 F = 3

Jeg har vært på jakt gjennom Internett, og det synes jeg ikke bruker riktig vitenskapelig begrep for dette. Mest sannsynlig er det en sett eller en veske satt på noen måte. Jeg vet det ikke er et tre som denne situasjonen har mer enn to kanter på hver node. Svaret kan være i et programmeringsspråk, bare prøver å gjøre det så generelt som mulig.

Publisert på 10/12/2009 klokken 16:12
kilden bruker
På andre språk...                            


2 svar

stemmer
2

En enkel algoritme er som følger.

Iterere samlingen, på jakt etter elementer som ikke har noen avhengigheter: huske disse elementene som "Nivået 0 elementer".

Iterere samlingen igjen, på jakt etter elementer som kan avhenge av "Nivået 0 elementer", men ikke på andre elementer: huske disse elementene som "Nivået 1 elementer".

Iterere samlingen igjen, på jakt etter elementer som kan avhenge av "nivå 0 elementer" og / eller på "nivå 1 elementer", men ikke på andre elementer: huske disse elementene som "Nivået 2 elementer".

Etc.

Stopp når hvert element har en tildelt nivå.

Svarte 10/12/2009 kl. 16:18
kilden bruker

stemmer
0

Du kan lage en graf og vedlikeholde pekeren teller, eller du kan bruke matrise. Søk og lese noen grunnleggende ideen av grafen (matematikk, ikke datamaskinen graf), kan du finne det er ganske enkelt.

Svarte 10/12/2009 kl. 16:18
kilden bruker

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