Ik wil een vrij grote keuzeboom maken, daarvoor heb ik een algoritme nodig. Omdat ik op internet niet veel kon vinden ben ik zelf maar aan de slag gegaan, ik had daarbij 2 ideeen die ik in pseudo code heb opgesteld
idee #1
idee #2
Heeft iemand een idee welke van deze twee opties de beste is of heeft men een betere oplossing?!?
idee #1
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
| keuzeBoom(boom) { element = EERSTE; while ( element <> EIND ) { switch ( element ) { case EERSTE: switch (boom[EERSTE].data) { case ROOD: uitvoer( "Kleur = ROOD" ); element = TWEEDE; break; case GEEL: uitvoer( "Kleur = GEEL" ); element = TWEEDE; break; // Etcetera case TWEEDE: switch (boom[TWEEDE].data) { case VIERKANT: uitvoer( "Lichaam = VIERKANT" ); element = LAATSTE; break; case ROND: uitvoer( "Lichaam = ROND" ); element = LAATSTE; break; //etcetera } } case LAATSTE: //etcetera } } } |
idee #2
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
| keuzeBoom(boom) { switch (boom[EERSTE].data) { case ROOD: uitvoer( "Kleur = ROOD" ); bepaalLichaam( Boom ); break; case GEEL: uitvoer( "Kleur = GEEL" ); bepaalLichaam( Boom ); break; // Etcetera } } bepaalLichaam(boom) { switch (boom[EERSTE].data) { case ROOD: uitvoer( "Kleur = ROOD" ); bepaalLichaam( Boom ); break; case GEEL: uitvoer( "Kleur = GEEL" ); bepaalLichaam( Boom ); break; // Etcetera } } bepaalLichaam( Boom ) { switch (boom[TWEEDE].data) { case VIERKANT: uitvoer( "Lichaam = VIERKANT" ); bepaalMateriaal( Boom ); break; case ROND: uitvoer( "Lichaam = ROND" ); bepaalMateriaal( Boom ); break; //etcetera } } bepaalMateriaal( Boom ) { //etcetera } |
Heeft iemand een idee welke van deze twee opties de beste is of heeft men een betere oplossing?!?