Bonjour!
Je suis à la recherche de l'algorithme d'une fonction récursive prenant un tableau d'éléments ordonnés ainsi qu'une borne inférieur et une supérieur en paramètre, pour charger un arbre binaire équilibré.
Cette procédure ressemblerait avec Ada au code suivant :
Merci pour votre aide, s'il vous plaît.
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 procedure Tree_Loader(Table : in table_access; B_Inf, B_Sup : in out Natural) is Coded_Word : T_Coded_Word; Midle : Natural := B_Inf + ((B_Sup - B_Inf)/ 2); New_B_Inf : Natural := b_inf+1; New_B_Sup : Natural := b_sup-1; begin if Midle < new_B_sup then Tree_Loader(Table => Table, B_Inf => midle, B_Sup => new_B_sup); end if; Coded_Word := Table(Midle); Put_Line(To_String(Coded_Word.Word)); Code_To_Word.Add(Coded_Word, Univers(Number_Of_Dictionary).To_Word); Word_To_Code.Add(Coded_Word, Univers(Number_Of_Dictionary).To_Code); if new_B_inf < Midle then Tree_Loader(Table => Table, B_Inf => new_B_inf, B_Sup => midle); end if; end Tree_Loader;
Partager