Chères amies, chers amis du forum

Je patauge sur un problème vraiment difficile. Je souhaite générer un arbre binomial recombinant à partir d'une classe nœud que l'on 'a imposé:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
59
60
61
62
63
64
65
66
#ifndef NoeudH
#define NoeudH
 
#include <ctime>
#include <vector>
#include <cmath>
#include <cstdlib>
#include <string>
#include <iostream>
 
class noeud
{
	public :
	noeud(): valeurs ( NULL ), fils_haut ( NULL ),
			fils_bas ( NULL ), pere_haut ( NULL ), pere_bas ( NULL ){};
 
	noeud ( const noeud &n) : pere_haut (n. pere_haut ), pere_bas (n. pere_bas ),
				valeurs (n. valeurs ), fils_haut (n. fils_haut ),
				fils_bas (n. fils_bas){};
 
	~noeud () { delete [] valeurs ;};
 
	noeud * cree_fils () {
			noeud * nouveau =new noeud ;
			if ( fils_haut == NULL ) {
								nouveau -> pere_bas = this ;
								nouveau -> pere_haut = frere_haut ();
								if ( frere_haut ()!= NULL )
										nouveau -> pere_haut -> fils_bas = nouveau ;
										fils_haut = nouveau ;
									 }
			else {
								nouveau -> pere_haut = this ;
										nouveau -> pere_bas = frere_bas ();
										if ( frere_bas ()!= NULL )
												nouveau -> pere_bas -> fils_haut = nouveau ;
										fils_bas = nouveau ;
				 }
			return nouveau ;
};
 
	noeud * frere_haut ()
			{ return ( pere_haut == NULL ) ? NULL : pere_haut -> fils_haut ;};
 
	noeud * frere_bas ()
			{ return ( pere_bas == NULL ) ? NULL : pere_bas -> fils_bas ;};
 
	void set_valeurs ( double T[], int n) {
			if ( valeurs != NULL ) delete [] valeurs ;
			valeurs = new double [n];
			for ( int i=0; i<n;i++) valeurs [i]=T[i];
										  }
	double & operator []( int i) { return valeurs [i];}
 
	noeud creer_arbre(int n);
	void cree_generation (noeud n_node);
 
	private :
	noeud * pere_haut ;
	noeud * pere_bas ;
	noeud * fils_haut ;
	noeud * fils_bas ;
	double * valeurs ;
 
};
#endif
je dispose d'une fonction creer_fils() qui me génère fils haut de mon noeud et le fils bas.
cependant deux fonctions sont manquantes: une qui va me créer une génération complète suivante à partir de chaque nœud , et une qui va me générer l'arbre entier, cependant je n'arrive même pas à coucher un algorithme.

Pourriez vous m'aider SVP?

Meerci