Avatar billede mickni33 Nybegynder
29. februar 2008 - 19:51 Der er 8 kommentarer og
1 løsning

Balanceret træstruktur

Vi skal bruge et 4 -dimensionel array..
Men vi har analyseret os frem til at bruge et balanceret træ struktur med 4 niveauer til opbevaring af vores objekter...

        T1
    /    |  \  \
  V1    V2  V3 ...Vn
/ | \  / | \
D1D2Dm D1D2 Dm
| | |  | | |
P1P2P3  P4P5P6 ....Px

Ville dette ikke vaære en god løsning til 4-dim arrayet??

Nu er spørgsmålet så om man kan genbruge træet da selve strukturen de fleste gange vil være ens?

Det der ændres hvergang træet skal bruges er, at der bare skal addes nogle new Objects med tilhørende data, til noderne..

Giver det nogen mening eller kan man lige så godt oprette et nyt træ med new Objects...
Avatar billede arne_v Ekspert
29. februar 2008 - 20:40 #1
Hvordan skal data tilgåes ?
Avatar billede mickni33 Nybegynder
29. februar 2008 - 20:44 #2
hmmm hvad tænker du på?

kunne forstille mig at man rekursivt traveserede igennem træet og add'ede data til objekterne som herefter bliver add'et til noderne
Avatar billede arne_v Ekspert
29. februar 2008 - 20:52 #3
Hvis du har T1.Value, V2.Value, D7.Value og P17.Value så er et træ hvor du kan søge
efter værdier jo godt.

Har du 1,2,7,17 så er et 4D array jo meget nemmere at slå op med.
Avatar billede mickni33 Nybegynder
29. februar 2008 - 21:03 #4
T1, Vn, Dm og Px
er objekter som hver har masser af data..
så det går vel ind under T1.Value, V2.Value .....

T1 har -> 3 til 4 variabler erklæret i klassen

V1 har -> 20 variabler erklæret i klassen

D1 har -> FraDato og TilDato
P1 har -> pris og ID

Er jeg på rette vej så :-)
Avatar billede arne_v Ekspert
01. marts 2008 - 00:13 #5
Ikke nødvendigvis. Jeg har stadig ikke forstået hvordan du vil tilgå strukturen.

Med arrays vil syntaxen være:

big[ixt][ixv][ixd][ixp]

Med træ vil det være noget a la:

big.GetT(tval).GetV(vval).GetD(dval).GetP(pval)
Avatar billede mickni33 Nybegynder
01. marts 2008 - 09:47 #6
nåååå nej man vil ikke komme ud for at skulle hente én specifik node... man behandler et helt træ af gangen. Så når træet er fyldt ud beregnes alle noderne en efter en til et samlet resultat som så returneres...
Med arrays ville man skulle løbe igennem en masse loops , men med dette træ kunne det måske gøres rekursivt...

Tror nok det er sådan.... :-)
Avatar billede arne_v Ekspert
03. marts 2008 - 02:27 #7
Hm.

Jeg er stadig ikke sikker på at jeg har forstået det.

Men umiddelbart lydet det som om at du skal have en struktur:

big er List<T>
T indeholder en List<V>
V indeholder en List<D>
D indeholder en List<P>
P
Avatar billede mickni33 Nybegynder
03. marts 2008 - 08:46 #8
jeps har fat i noget af det samme...
Tak for det..

Men kan godt se hvad du mener med 4-dim array..
da det er hurtigt at løbe igennem med 4 loops...

Det vigtigste i denne opgave er performance, hvordan er det med et rekursiv gennemløb er det egentlig hurtiger eller langsommere når Listerne eller array skal løbes igennem?

Husk at lægge svar
Avatar billede arne_v Ekspert
31. marts 2008 - 04:18 #9
List<> og array bør være ca. lige hurtige da List<> indeholder et array.

Og et svar.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester