Gerichtete Graphen



  • Hallo

    Ich muss die Verbindungen von gerichteten Graphen untersuchen.

    Gegeben sind die Eckpunkt (1,2,3,4....) und die Kanten (1->2, 5->3, ....). Nun muss ich z.B. überprüfen, ob zwischen Ecke 2 und 4 eine Verbindung besteht,
    Ich habe gelesen, dass man dieses Problem elegant mit RGL lösen kann.

    Hat jemand dazu ein Howto bzw. Sample?

    Danke im Voraus
    mfg



  • Ich würde es mit Breiten- oder Tiefensuche lösen:

    stack<int> nodes;
    nodes.push(start);
    
    while(!nodes.empty() && nodes.top()!=ziel)
      t=nodes.top();nodes.pop();
      besucht[t]=true
      for each(t1:t->t1 im Graph)
        if(!besucht[t1]) nodes.push(t1);
    
    if(nodes.empty()
      print("keine Verbindung")
    else
      print("Verbindung gefunden")
    

    (das ist die Tiefensuche - für die Breitensuche verwendest du eine queue<int> statt des stacks)


Anmelden zum Antworten