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 :

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;
Merci pour votre aide, s'il vous plaît.