Algorithmen und |
8. Übung - abzugeben am 14. 12. 1999 in Ihrer Übungsgruppe
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: