par
lepere » 10 mai 2007, 11:35
2
3
4, 4
, 8 1
, , 2
, 8
7
3, 4
, 2, 3
, , 3
, 9, 2
, 7
9
12, 2
, 3
, 2, 1
, , 8, 1
, , , 2
, , 7
6, 12
9, 11
, 9
, 4
1
---------------------
ceci est la representation d'un arbre
les noeuds de premier niveau sont au début de chaque ligne,
ici on trouve 2 3 4 7 3 9 12 6 9 et 1
le noeud 4 a un sous-arbre 4 8 et 8 ( 2eme niveau) dont le premier 8 a aussi un sous arbre 1 et 2, et ainsi de suite.
Les virgules sont là pour bien montrer les 'cases vides' et ne pas se tromper sur le niveau où se trouve un noeud de l'arbre.
Ecrire un programme qui représente cet arbre, et calculer la somme de ses éléments.
Ecrire ensuite une fonction qui calcule la somme pondérée des élements de l'arbre avec les poids suivants :
niveau 1 : poids 2
niveau 2 : poids 3
niveau 3 : poids 1
niveau 4 : poids 2
(ca fait 2*2 + 3*2 + 4*2 + 4*3 + 8*3 + 1*1 + ... )
langages possibles : PHP Perl etc... à votre choix
Ecrire ce programme en comprenant que la "représentation de l'arbre" demandée soit une représentation "en mémoire" sous forme de tableau, structure et/ou classes à votre choix.
Le calcul des sommes devant alors se faire en utilisant cette structure/tableau/classe et permet de juger de sa facilité d'utilisation.
j'ai fait ça le tableau et la représentation mais incapable de calculer les sommes !
$arraytree=array(
"2",
"3",
"4"=>array("4",array("8"=>"1","8"=>"2"),"8"),
"7",
"3"=>array("4",array("2"=>"3","2"=>"3"),array("9"=>"2"),"7"),
"9",
"12"=>array("2","3",array("2"=>"1",array("8"=>"1","8"=>"2") ),"7"),
"6"=>"12",
"9"=>array("11","9","4"),
"1",
)
merci d'avance pour votre aide.
2
3
4, 4
, 8 1
, , 2
, 8
7
3, 4
, 2, 3
, , 3
, 9, 2
, 7
9
12, 2
, 3
, 2, 1
, , 8, 1
, , , 2
, , 7
6, 12
9, 11
, 9
, 4
1
---------------------
ceci est la representation d'un arbre
les noeuds de premier niveau sont au début de chaque ligne,
ici on trouve 2 3 4 7 3 9 12 6 9 et 1
le noeud 4 a un sous-arbre 4 8 et 8 ( 2eme niveau) dont le premier 8 a aussi un sous arbre 1 et 2, et ainsi de suite.
Les virgules sont là pour bien montrer les 'cases vides' et ne pas se tromper sur le niveau où se trouve un noeud de l'arbre.
Ecrire un programme qui représente cet arbre, et calculer la somme de ses éléments.
Ecrire ensuite une fonction qui calcule la somme pondérée des élements de l'arbre avec les poids suivants :
niveau 1 : poids 2
niveau 2 : poids 3
niveau 3 : poids 1
niveau 4 : poids 2
(ca fait 2*2 + 3*2 + 4*2 + 4*3 + 8*3 + 1*1 + ... )
langages possibles : PHP Perl etc... à votre choix
Ecrire ce programme en comprenant que la "représentation de l'arbre" demandée soit une représentation "en mémoire" sous forme de tableau, structure et/ou classes à votre choix.
Le calcul des sommes devant alors se faire en utilisant cette structure/tableau/classe et permet de juger de sa facilité d'utilisation.
j'ai fait ça le tableau et la représentation mais incapable de calculer les sommes !
[php]
$arraytree=array(
"2",
"3",
"4"=>array("4",array("8"=>"1","8"=>"2"),"8"),
"7",
"3"=>array("4",array("2"=>"3","2"=>"3"),array("9"=>"2"),"7"),
"9",
"12"=>array("2","3",array("2"=>"1",array("8"=>"1","8"=>"2") ),"7"),
"6"=>"12",
"9"=>array("11","9","4"),
"1",
)
[/php]
merci d'avance pour votre aide.