Übungen zu Algorithmen und |
7. Übung - abzugeben am 24. 11. 1998 in Ihrer Übungsgruppe
MODULE Graphen; TYPE Graph*= RECORD ........ END; ................ PROCEDURE(VAR g:Graph)Init*(v:LONGINT);
(* v=Anzahl der Knoten im Graphen *) PROCEDURE(VAR g:Graph)CleanUp*();
(* Freigabe des Graphen = Freigabe des dynamisch allokierten Speicherplatzes *) PROCEDURE(VAR g:Graph)SetEdge*(x,y:LONGINT);
(* Kante x,y in den Graphen aufnehmen *) PROCEDURE(VAR g:Graph)NrComps*():LONGINT;
(* Anzahl der Komponenten im Graph *) PROCEDURE(VAR g:Graph)PrComps*();
(* Ausgabe der Komponenten=welche Knoten gehören zu welcher Komponente *) PROCEDURE(VAR g:Graph)PrAdj*();
(* Ausgabe der Adjazenzmatrix für Test, Überprüfen etc. *) END Graphen.
Anmerkungen:
PROCEDURE(VAR g:Graph)IsBridge*(x,y:LONGINT):BOOLEAN;Verwenden Sie zur Abspeicherung des Graphen eine Dreiecksmatrix anstatt einer quadratischen Matrix.
(* Ist die Kante x,y im Graphen eine Brücke? *) PROCEDURE(VAR g:Graph)IsTree*():BOOLEAN;
(* Ist der Graph ein Baum? *)
Anmerkungen: a+b können gemeinsam abgegeben werden.