[UE ALGO 2 Homepage] Übungen zu Algorithmen und Datenstrukturen 2 WS 98/99

7. Übung - abzugeben am 24. 11. 1998 in Ihrer Übungsgruppe


7.a Programm

Schreiben Sie ein Programm gemäß folgender Definition bzw. Implementierungsvorgabe:
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:

7.b Programm

Erweitern Sie das Modul a um die folgende Funktionalität:
  PROCEDURE(VAR g:Graph)IsBridge*(x,y:LONGINT):BOOLEAN;
(* Ist die Kante x,y im Graphen eine Brücke? *)
PROCEDURE(VAR g:Graph)IsTree*():BOOLEAN;
(* Ist der Graph ein Baum? *)
Verwenden Sie zur Abspeicherung des Graphen eine Dreiecksmatrix anstatt einer quadratischen Matrix.

Anmerkungen: a+b können gemeinsam abgegeben werden.


7.c Diskussion


Last modified: hoermanseder@fim.uni-linz.ac.at 98-11-16