[ALGO 2 Homepage] Algorithmen und Datenstrukturen 2 WS 1999/2000

8. Übung - abzugeben am 14. 12. 1999 in Ihrer Übungsgruppe


8.a Programm

Schreiben Sie ein Programm gemäß folgender Definition bzw. Implementierungsvorgabe:
MODULE Graph3;

  TYPE GraphT*=RECORD
         vertexn-: INTEGER;
         edgen-:   INTEGER;
         a:        POINTER TO ARRAY OF SET;
       END; (*record*)

  PROCEDURE(VAR g:GraphT)Init*(v:INTEGER);               (* Initialisiere Graph für v Knoten *)
  PROCEDURE(VAR g:GraphT)CleanUp*();                     (* Graph löschen *)
  PROCEDURE(VAR g:GraphT)SetEdge*(x,y:INTEGER);          (* Kante in den Graph aufnehmen *)
  PROCEDURE(VAR g:GraphT)GetEdge*(x,y:INTEGER):BOOLEAN;  (* Abfrage, ob Kante gesetzt *)
  PROCEDURE(VAR g:GraphT)PrGraph*();                     (* Ausgabe Adjazenzmatrix *)
  PROCEDURE(VAR g:GraphT)NrComps*():INTEGER;             (* Anzahl der Kompontenten feststellen *)
  PROCEDURE(VAR g:GraphT)PrComps*();                     (* Ausgabe der einzelnen Komponenten *)
  PROCEDURE(VAR g:GraphT)IsBridge*(x,y:INTEGER):BOOLEAN; (* Ist Kante [x,y] eine Brücke? *)
  PROCEDURE(VAR g:GraphT)IsTree*():BOOLEAN;              (* Ist der Graph ein Baum? *)
END Graph3.
Anmerkungen: Kommentieren Sie das gesamte Modul Graph3, ergänzen Sie die fehlenden Teile und testen Sie das Programm.


Last modified: Hörmanseder 1999-12-06