Modélisation d'un gestionnaire de données en graphe.

Modélisation d'un gestionnaire de données en graphe. - Ada - Programmation

Marsh Posté le 24-07-2011 à 22:44:45    

Bonsoir,
Merci de me lire.
J'arrive sans rien avoir relu sur les graphes, je comprend rien.
Si j'ai compris tout de même , Je dois avoir des noeuds qui ont plusieurs relations avec d'autre noeuds.
Sachant que pour m'aider dans la gestion de mon graphe, j'utiliserais la bibliothèque Graph_Handler de Mats Weber, je voudrais savoir si en déclarant une structure comme suit je suis bon ou pas ? S'il vous plaît ?
 

Code :
  1. with Graph_Handler;                      use Graph_Handler;
  2.  
  3. package Mos.classified is
  4.  
  5.   type Network_Type is limited private;
  6. private
  7.  
  8.   type Node_type;
  9.   type Node_Access is access all Node_Type;
  10.   type Connector_Type is array (Positive range <> ) of Node_Access;
  11.   type Connector_Access is access Connector_Type;
  12.   type Node_Type is
  13.      record
  14.         Mos       : Mos_Type;       -- Mos info type ;                          
  15.         Vertex    : Vertex;         -- Graph_Handler.vertex ;                    
  16.         Connector : Connector_Type; -- graph -- connected Mos.Classified.node.  
  17.      end record;
  18.  
  19.   type Network_Type is
  20.      record
  21.         Model : Graph; -- Graphe_Handler.Graph type ;                            
  22.         Root  : Node_Access; -- root data manager.                              
  23.      end record;
  24. end Mos.Classified;


 
 
Merci.

Reply

Marsh Posté le 24-07-2011 à 22:44:45   

Reply

Marsh Posté le 25-11-2011 à 12:07:45    

Bonjour,
je suis en train de copier un modèle de graphe.
 
Le code proposé pour l'insertion d'un sommet est le suivant :

Code :
  1. --
  2.   procedure Insert_Vertex
  3.     (Graph : in out Undirected_Graph_Type;
  4.      Element : in Element_Type) is
  5.   begin
  6.      if Graph.N < Max_Vertex and not Graph.Vertexies(Name(Element)).Found then
  7.         Graph.N := Graph.N + 1;
  8.      end if;
  9.      Graph.Vertexies(Name(Element)).Found := True;
  10.      Graph.Vertexies(Name(Element)).Element := Element;
  11.   end Insert_Vertex;


 
Perso, j'affecterais le sommet dans le if mais comme je lis un truc probablement imprimé en au moins 1000 exemplaires je profite du sujet pour vous demander votre avis.
Merci pour votre réponse.


Message édité par Profil supprimé le 25-11-2011 à 12:08:03
Reply

Marsh Posté le 25-11-2011 à 15:09:50    

Non, si je savais lire les commentaires... Ici on fait un ajout ou une mise à jour, donc c'est dans le sens.

Reply

Sujets relatifs:

Leave a Replay

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