Bonjour, je souhaite mettre cette implantation en temps constant :
(toutes les fonctions utilisées dans hauteur sont supposées définies)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 type ABin = ^_CellABin; _CellABin = record _suivG, _suivD : ABin end; function Hauteur (a : ABin) : integer; begin if EstVide(a) then Hauteur := 0 else Hauteur := 1 + max(Hauteur(SAGauche(a)), Hauteur(SADroit(a))) end;
J'ai mis ça pour que ce soit en temps constant mais ça n'a pas l'air correct :
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 type ABin = ^_CellABin; _CellABin = record _suivG, _suivD : ABin; _haut : integer; end; function Hauteur (a : ABin) : integer; begin if EstVide(a) then Hauteur := 0 else Hauteur := a^._haut; end;
Partager