[Algo] recherche dans un arbre n-aire, quel est l'algo le + efficace ?

recherche dans un arbre n-aire, quel est l'algo le + efficace ? [Algo] - Programmation

Marsh Posté le 29-06-2001 à 17:56:08    

tout est dans le sujet  :D

Reply

Marsh Posté le 29-06-2001 à 17:56:08   

Reply

Marsh Posté le 29-06-2001 à 18:42:50    

Ben non, il y a rien dns le sujet: tu indiques pas ce que tu cherches, comment c'est associe a un noeud de l'arbre, ni (surtout) comment tu as implemente ta structure d'arbre n-aire (y'a pas mas de possibilites pour ca).
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 09-12-2022 à 18:54:49    

Bonjour !
 
Pour ma part, je pense savoir que l'implémentation doit être le reflet logiciel de l'axiomatique de l'objet observé ici, un arbre n - aires. Peut importe ce que l'on cherche ; le tout est de parcourire l'arbre exhaustivement.
 
Voici une implémentation, peut être un peut particulière, d'une recherche dans un arbre n - aires.
 
C'est une procédure récursive. Ici écrite avec Ada.
 
Je doute qu'elle soit directement utilie à tous et à chacun. je la poste pour répondre au moins en partie à la requête.
 

Code :
  1. procedure Search(T : in out Terminal_Type;
  2.             name : in Name_Type;
  3.             Path_Index : in out Natural;
  4.             Prompt : out Name_Type;
  5.             Success : out boolean) is
  6.      
  7.      
  8.      
  9.      Vector : Objects_Vector := T.Obj_Cur.vector;
  10.      
  11.   begin
  12.      Success := False;
  13.      if T.Obj_Cur.Name = Name then        
  14.      Prompt := Name;               
  15.      Success := True;
  16.      else        
  17.      if not Is_Empty(Vector) then
  18.         for I in 1..Last_Index(Vector) loop
  19.            declare
  20.           E : Abstracted_Access := Element(Vector, I);
  21.           Term : Terminal_Type := T;
  22.            begin
  23.           if E /= null then                        
  24.              Switch(Term, I,  Prompt, success);
  25.              Path_Index := Path_Index + 1;
  26.              if Success then
  27.             Search(Term, Name, Path_Index, Prompt, success);
  28.             if Success then
  29.                T := Term;
  30.                exit;
  31.             end if;
  32.              end if;    
  33.           else
  34.              raise Program_Error;
  35.           end if;
  36.            end;
  37.         end loop;
  38.         
  39.      end if;
  40.      end if;
  41.   end Search;

Reply

Marsh Posté le 11-12-2022 à 10:22:34    

21 ans plus tard, y a peu de chances que ça serve à l'auteur du topic en tout cas.
Pour les autres, tu devrais fournir l'implémentation de ton arbre et un exemple d'utilisation, parce que la méthode Ada seule n'est pas très exploitable.


---------------
Topic .Net - C# @ Prog
Reply

Marsh Posté le 11-12-2022 à 10:51:20    

TotalRecall a écrit :

21 ans plus tard, y a peu de chances que ça serve à l'auteur du topic en tout cas.
Pour les autres, tu devrais fournir l'implémentation de ton arbre et un exemple d'utilisation, parce que la méthode Ada seule n'est pas très exploitable.


 
Puisqu'il vous semble que ce soit moi qui soit dans l'erreur, veuillez veiller à répondre par vous même à votre besoin.


Message édité par Profil supprimé le 11-12-2022 à 10:51:46
Reply

Marsh Posté le 11-12-2022 à 11:33:31    

J'ai besoin de rien moi, je te suggérais juste comment tu pourrais rendre ta réponse plus utile.


---------------
Topic .Net - C# @ Prog
Reply

Marsh Posté le 11-12-2022 à 15:38:44    

ben hur = jovalise
 
Non que ça ne rende la réponse de TotalRecall moins pertinente, mais on peut par contre se méfier de la réponse à la réponse...  :o


Message édité par mechkurt le 11-12-2022 à 15:39:06

---------------
D3
Reply

Marsh Posté le 12-12-2022 à 12:07:55    


Si Jovalise trouve cette implémentation un peu particulière, j'ai quelques doute sur son efficacité  :whistle: En tout cas, un déterrage de 21 ans, fallait oser :o


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 12-12-2022 à 14:05:15    

il est efficace.
 
Dans le doute, recommence.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed