mirror of
https://codeberg.org/qg-info-unterricht/zpg-graphentester.git
synced 2026-03-24 20:48:26 +01:00
139 lines
15 KiB
Text
139 lines
15 KiB
Text
#BlueJ class context
|
|
comment0.target=Graph
|
|
comment0.text=\n\ Dies\ ist\ das\ Herz\ vom\ "GraphTester"\ -\ der\ Graph\ selber,\ gepeichert\ als\ Adjazenzliste.\n\ Die\ Klasse\ erlaubt\ durch\ geeignete\ Methoden\:\n\ -\ die\ Speicherung\ als\ Adjazenzmatrix,\n\ -\ das\ Hinzufuegen\ und\ Loeschen\ von\ knoten\ und\ Kanten,\n\ -\ das\ Markieren\ von\ Knoten\ und\ Kanten,\n\ -\ eine\ Aussage\ darueber,\ ob\ Knoten\ oder\ Kanten\ enthalten\ sind\ und\n\ -\ eine\ Ausgabe\ des\ Graphen\ in\ textueller\ Form\ sowie\ als\ csv-Datei.\n\ \n\ \n\ @author\ Dirk\ Zechnall,\ Thomas\ Schaller\n\ @version\ 31.01.2021\ (v6.5)\n
|
|
comment1.params=isGerichtet\ isGewichtet
|
|
comment1.target=Graph(boolean,\ boolean)
|
|
comment1.text=\n\ Der\ Konstruktor\ erstellt\ einen\ neuen\ Graphen\ (genauer\ eine\ neue\ Adjazenzliste)\n\ @param\ isGerichtet\ gibt\ an,\ ob\ es\ sich\ um\ einen\ gerichteten\ Graphen\ handelt\n\ @param\ isGewichtet\ gibt\ an,\ ob\ die\ Kanten\ gewichtet\ sind.\n
|
|
comment10.params=k
|
|
comment10.target=int\ getNummer(Kante)
|
|
comment10.text=\ Gibt\ die\ Nummer\ einer\ Kante\ zur\u00FCck\n\ @param\ \ k\ gesuchte\ Kante\n\ @return\ Nummer\ der\ Kante\ (mit\ 0\ beginnend)\n
|
|
comment11.params=
|
|
comment11.target=double[][]\ getAdjazenzMatrix()
|
|
comment11.text=\n\ Die\ Methode\ getAdjazenzMatrix()\ gibt\ die\ Adjazenzmatrix\ zurueck.\n\ \n\ @return\ \ double[][]\ Die\ AdjazenzMatrix\ als\ zweidimensionales\ Array\n
|
|
comment12.params=filter
|
|
comment12.target=java.util.List\ getAlleKanten(java.util.function.Predicate[])
|
|
comment12.text=\n\ Gibt\ eine\ Liste\ aller\ Kanten\ des\ Graphen\ zur\u00FCck.\n\ @param\ \ \ filter\ \ \ \ \ \ \ \ \ optionaler\ Filter,\ der\ auf\ die\ Liste\ angewendet\ wird.\ Er\ muss\ einen\ boolean-Wert\ zur\u00FCckgeben\:\ z.B.\ @literal{k->k.isMarkiert()\ &&\ k.isBesucht()}\n\ @return\ Liste\ aller\ Kanten\n
|
|
comment13.params=
|
|
comment13.target=void\ entferneMarkierungBeiAllenKnoten()
|
|
comment13.text=\n\ Entfernt\ die\ Markierung\ bei\ allen\ Knoten\ des\ Graphen.\n
|
|
comment14.params=
|
|
comment14.target=void\ initialisiereAlleKnoten()
|
|
comment14.text=\n\ Initialisiert\ alle\ Knoten\ des\ Graphen.\n
|
|
comment15.params=
|
|
comment15.target=void\ initialisiereAlleKanten()
|
|
comment15.text=\n\ Initialisiert\ alle\ Kanten\ des\ Graphen.\n
|
|
comment16.params=k
|
|
comment16.target=boolean\ isKnotenEnthalten(Knoten)
|
|
comment16.text=\n\ Ueberprueft,\ ob\ ein\ Knoten\ in\ der\ Knotenliste\ enthalten\ ist.\n\ Sobald\ in\ der\ Knotenliste\ der\ Knoten\ k\ gefunden\ wird,\ wird\ true\ ausgegeben.\n\ \n\ @param\ \ k\ \ Der\ gesuchte\ Knoten\n\ @return\ \ true\=\ ist\ enthalten,\ false\ \=\ ist\ nicht\ enthalten\n
|
|
comment17.params=
|
|
comment17.target=int\ getAnzahlKnoten()
|
|
comment17.text=\n\ Gibt\ die\ Anzahl\ der\ Knoten\ im\ Graph\ zurueck\n\ \n\ @return\ \ Anzahl\ der\ Knoten\n
|
|
comment18.params=filter
|
|
comment18.target=java.util.List\ getAlleKnoten(java.util.function.Predicate[])
|
|
comment18.text=\n\ Gibt\ eine\ Liste\ aller\ Knoten\ des\ Graphen\ zurueck.\ \n\ @param\ \ \ filter\ \ \ \ \ \ \ \ \ optionaler\ Filter,\ der\ auf\ die\ Liste\ angewendet\ wird.\ Er\ muss\ einen\ boolean-Wert\ zur\u00FCckgeben\:\ z.B.\ @literal{k->k.isMarkiert()\ &&\ k.isBesucht()}\n\ @return\ \ Die\ Knotenliste.\ Falls\ leer\ wird\ eine\ leere\ Liste\ \ zurueckgegeben\n
|
|
comment19.params=k\ filter
|
|
comment19.target=java.util.List\ getNachbarknoten(Knoten,\ java.util.function.Predicate[])
|
|
comment19.text=\n\ Gibt\ die\ Liste\ aller\ Nachbarknoten\ eines\ Knotens\ k\ zurueck,\ falls\ k\ in\ der\ Knotenliste\ vorhanden\ ist.\ \n\n\ @param\ \ \ k\ \ \ \ Der\ Knoten,\ zu\ dem\ die\ Adjazenzliste\ gesucht\ wird\n\ @param\ \ \ filter\ \ \ \ \ \ \ \ \ optionaler\ Filter,\ der\ auf\ die\ Liste\ angewendet\ wird.\ Er\ muss\ einen\ boolean-Wert\ zur\u00FCckgeben\:\ z.B.\ @literal{k->k.isMarkiert()\ &&\ k.isBesucht()}\n\ @return\ \ Liste\ der\ Nachbarknoten\n
|
|
comment2.params=
|
|
comment2.target=Graph()
|
|
comment2.text=\n\ Der\ Konstruktor\ erstellt\ einen\ neuen\ ungerichteten,\ ungewichteten\ Graphen\ (genauer\ eine\ neue\ Adjazenzliste)\n
|
|
comment20.params=k\ filter
|
|
comment20.target=java.util.List\ getAusgehendeKanten(Knoten,\ java.util.function.Predicate[])
|
|
comment20.text=\n\ Gibt\ eine\ Liste\ der\ ausgehenden\ Kanten\ eines\ Knotens\ k\ zurueck,\ falls\ k\ in\ der\ Knotenliste\ vorhanden\ ist.\ \n\ Bei\ ungerichteten\ Graphen\ wird\ nicht\ zwischen\ eingehenden\ und\ ausgehenden\ Kanten\ \n\ unterschieden.\n\n\ @param\ \ \ k\ \ \ \ Der\ Knoten,\ zu\ dem\ die\ Kanten\ gesucht\ werden\n\ @param\ \ \ filter\ \ \ \ \ \ \ \ \ optionaler\ Filter,\ der\ auf\ die\ Liste\ angewendet\ wird.\ Er\ muss\ einen\ boolean-Wert\ zur\u00FCckgeben\:\ z.B.\ @literal{k->k.isMarkiert()\ &&\ k.isBesucht()}\n\ @return\ \ Liste\ der\ ausgehenden\ Kanten.\n
|
|
comment21.params=knotennr\ filter
|
|
comment21.target=java.util.List\ getAusgehendeKanten(int,\ java.util.function.Predicate[])
|
|
comment21.text=\n\ Gibt\ eine\ Liste\ der\ ausgehenden\ Kanten\ eines\ Knotens\ k\ zurueck,\ falls\ k\ in\ der\ Knotenliste\ vorhanden\ ist.\ \n\ Bei\ ungerichteten\ Graphen\ wird\ nicht\ zwischen\ eingehenden\ und\ ausgehenden\ Kanten\ \n\ unterschieden.\n\n\ @param\ \ \ knotennr\ \ \ \ Nummer\ des\ Knoten,\ zu\ dem\ die\ Kanten\ gesucht\ werden\n\ @param\ \ \ filter\ \ \ \ \ \ \ \ \ optionaler\ Filter,\ der\ auf\ die\ Liste\ angewendet\ wird.\ Er\ muss\ einen\ boolean-Wert\ zur\u00FCckgeben\:\ z.B.\ @literal{k->k.isMarkiert()\ &&\ k.isBesucht()}\n\ @return\ \ Liste\ der\ ausgehenden\ Kanten.\n
|
|
comment22.params=knotennr\ filter
|
|
comment22.target=java.util.List\ getEingehendeKanten(int,\ java.util.function.Predicate[])
|
|
comment22.text=\n\ Gibt\ eine\ Liste\ der\ eingehenden\ Kanten\ eines\ Knotens\ k\ zurueck,\ falls\ k\ in\ der\ Knotenliste\ vorhanden\ ist.\ \n\ Bei\ ungerichteten\ Graphen\ wird\ nicht\ zwischen\ eingehenden\ und\ ausgehenden\ Kanten\ \n\ unterschieden.\n\n\ @param\ \ \ knotennr\ \ \ \ Die\ Nummer\ des\ Knotens,\ zu\ dem\ die\ Kanten\ gesucht\ werden\n\ @param\ \ \ filter\ \ \ \ \ \ optionaler\ Filter,\ der\ auf\ die\ Liste\ angewendet\ wird.\ Er\ muss\ einen\ boolean-Wert\ zur\u00FCckgeben\:\ z.B.\ @literal{k->k.isMarkiert()\ &&\ k.isBesucht()}\n\ @return\ \ Liste\ der\ eingehenden\ Kanten.\n
|
|
comment23.params=k\ filter
|
|
comment23.target=java.util.List\ getEingehendeKanten(Knoten,\ java.util.function.Predicate[])
|
|
comment23.text=\n\ Gibt\ eine\ Liste\ der\ eingehenden\ Kanten\ eines\ Knotens\ k\ zurueck,\ falls\ k\ in\ der\ Knotenliste\ vorhanden\ ist.\ \n\ Bei\ ungerichteten\ Graphen\ wird\ nicht\ zwischen\ eingehenden\ und\ ausgehenden\ Kanten\ \n\ unterschieden.\n\n\ @param\ \ \ k\ \ \ \ \ \ \ \ Knoten,\ zu\ dem\ die\ Kanten\ gesucht\ werden\n\ @param\ \ \ filter\ \ \ optionaler\ Filter,\ der\ auf\ die\ Liste\ angewendet\ wird.\ Er\ muss\ einen\ boolean-Wert\ zur\u00FCckgeben\:\ z.B.\ @literal{k->k.isMarkiert()\ &&\ k.isBesucht()}\n\ @return\ \ Liste\ der\ eingehenden\ Kanten.\n
|
|
comment24.params=knotennr
|
|
comment24.target=Knoten\ getKnoten(int)
|
|
comment24.text=\n\ Liefert\ einen\ Knoten\ des\ Graphen\n\ @param\ knotennr\ Nummer\ der\ Knoten\ (beginnend\ mit\ 0)\n\ @return\ liefert\ den\ Knoten\ mit\ dieser\ Nummer\n
|
|
comment25.params=k
|
|
comment25.target=void\ neuerKnoten(Knoten)
|
|
comment25.text=\n\ F\u00FCgt\ einen\ Knoten\ dem\ Graph\ hinzu.\n\ @param\ \ k\ \ \ \ Der\ Knoten,\ der\ hinzugefuegt\ werden\ soll\n
|
|
comment26.params=knotennr
|
|
comment26.target=void\ entferneKnoten(int)
|
|
comment26.text=\n\ Entfernt\ einen\ Knoten\ aus\ dem\ Graphen\n\n\ @param\ \ \ knotennr\ \ \ \ Nummer\ des\ Knotens,\ der\ geloescht\ werden\ soll\n
|
|
comment27.params=k
|
|
comment27.target=boolean\ entferneKnoten(Knoten)
|
|
comment27.text=\n\ Entfernt\ einen\ Knoten\ aus\ dem\ Graphen\n\n\ @param\ \ \ k\ \ \ \ Knoten,\ der\ geloescht\ werden\ soll\n\ @return\ \ gibt\ zur\u00FCck,\ ob\ der\ Knoten\ erfolgreich\ entfernt\ wurde.\n
|
|
comment28.params=e
|
|
comment28.target=boolean\ isKanteEnthalten(Kante)
|
|
comment28.text=\n\ Ueberprueft,\ ob\ eine\ Kante\ im\ Graphen\ enthalten\ ist.\n\n\ @param\ \ \ e\ \ \ \ \ Die\ zu\ suchende\ Kante\n\ @return\ \ Kante\ enthalten\ (true)\ oder\ nicht\ (false)\n
|
|
comment29.params=startNr\ zielNr
|
|
comment29.target=boolean\ isKanteEnthalten(int,\ int)
|
|
comment29.text=\n\ Ueberprueft,\ ob\ eine\ Kante\ im\ Graphen\ enthalten\ ist.\ \n\ In\ ungerichteten\ Graphen\ wird\ nicht\ zwischen\ Start-\ und\ Zielknoten\ unterschieden\n\n\ @param\ \ \ startNr\ \ \ \ Nummer\ des\ Startknotens\n\ @param\ \ \ zielNr\ \ \ \ \ Nummer\ des\ Zielknotens\n\ @return\ \ boolean\ \ \ \ \ Kante\ enthalten\ (true)\ oder\ nicht\ (false)\n
|
|
comment3.params=
|
|
comment3.target=void\ loescheGraph()
|
|
comment3.text=\n\ L\u00F6scht\ alle\ Knoten\ und\ Kanten\ eines\ Graphen\ und\ stellt\ auf\ ungerichtet\ und\ ungewichtet\ zur\u00FCck.\n
|
|
comment30.params=start\ ziel
|
|
comment30.target=boolean\ isKanteEnthalten(Knoten,\ Knoten)
|
|
comment30.text=\n\ Ueberprueft,\ ob\ eine\ Kante\ im\ Graphen\ enthalten\ ist.\ \n\ In\ ungerichteten\ Graphen\ wird\ nicht\ zwischen\ Start-\ und\ Zielknoten\ unterschieden\n\n\ @param\ \ \ start\ \ \ \ Startknoten\n\ @param\ \ \ ziel\ \ \ \ \ Zielknoten\n\ @return\ \ boolean\ \ \ \ \ Kante\ enthalten\ (true)\ oder\ nicht\ (false)\n
|
|
comment31.params=start\ ziel
|
|
comment31.target=Kante\ getKante(Knoten,\ Knoten)
|
|
comment31.text=\n\ Gibt\ eine\ gesuchte\ Kante\ aus\ dem\ Graphen\ zurueck.\n\ In\ ungerichteten\ Graphen\ wird\ nicht\ zwischen\ Start-\ und\ Zielknoten\ unterschieden\n\n\ @param\ \ \ start\ \ \ \ Der\ StartKnoten\n\ @param\ \ \ ziel\ \ \ \ \ Der\ StartKnoten\n\ @return\ \ \ \ Die\ gesuchte\ Kante\n
|
|
comment32.params=startnr\ zielnr
|
|
comment32.target=Kante\ getKante(int,\ int)
|
|
comment32.text=\n\ Gibt\ eine\ gesuchte\ Kante\ aus\ dem\ Graphen\ zurueck.\n\ In\ ungerichteten\ Graphen\ wird\ nicht\ zwischen\ Start-\ und\ Zielknoten\ unterschieden\n\n\ @param\ \ \ startnr\ \ \ \ Der\ Nummer\ des\ StartKnoten\n\ @param\ \ \ zielnr\ \ \ \ \ Die\ Nummer\ des\ Zielknoten\n\ @return\ \ Die\ gesuchte\ Kante\n
|
|
comment33.params=e
|
|
comment33.target=void\ neueKante(Kante)
|
|
comment33.text=\n\ Fuegt\ eine\ Kante\ dem\ Graphen\ hinzu.\n\ Dabei\ wird\ ueberprueft,\ ob\ die\ Kante\ schon\ im\ Graphen\ enthalten\ ist.\n\ \n\ Ist\ der\ Graph\ ungerichtet,\ werden\ sowohl\ "Hin-"\ und\ "RueckKante"\ erstellt.\n\n\ @param\ \ \ e\ \ \ \ \ Die\ Kante,\ die\ hinzugefuegt\ werden\ soll\n
|
|
comment34.params=start\ ziel\ gewicht
|
|
comment34.target=void\ neueKante(Knoten,\ Knoten,\ double)
|
|
comment34.text=\n\ Fuegt\ eine\ Kante\ dem\ Graphen\ hinzu.\n\ Dabei\ wird\ ueberprueft,\ ob\ die\ Kante\ schon\ im\ Graphen\ enthalten\ ist.\n\ \n\ Ist\ der\ Graph\ ungerichtet,\ werden\ sowohl\ "Hin-"\ und\ "RueckKante"\ erstellt.\n\n\ @param\ \ \ start\ \ \ \ \ Der\ StartKnoten\ der\ Kante,\ die\ hinzugefuegt\ werden\ soll\n\ @param\ \ \ ziel\ \ \ \ \ Der\ ZielKnoten\ der\ Kante,\ die\ hinzugefuegt\ werden\ soll\n\ @param\ \ \ gewicht\ \ \ \ \ Das\ Gewicht\ der\ Kante,\ die\ hinzugefuegt\ werden\ soll\n
|
|
comment35.params=e
|
|
comment35.target=void\ entferneKante(Kante)
|
|
comment35.text=\n\ Entfernt\ eine\ Kante\ aus\ dem\ Graphen.\n\ Ist\ der\ Graph\ ungerichtet,\ werden\ sowohl\ "Hin-"\ und\ "RueckKante"\ entfernt.\n\n\ @param\ \ \ e\ Die\ zu\ entfernende\ Kante\n
|
|
comment36.params=start\ ziel
|
|
comment36.target=void\ entferneKante(Knoten,\ Knoten)
|
|
comment36.text=\n\ Entfernt\ eine\ Kante\ aus\ dem\ Graphen.\n\ Dabei\ wird\ ueberprueft,\ ob\ die\ Kante\ ueberhaupt\ im\ Graphen\ enthalten\ ist.\n\ \n\ Ist\ der\ Graph\ ungerichtet,\ werden\ sowohl\ "Hin-"\ und\ "RueckKante"\ entfernt.\n\n\ @param\ \ \ start\ \ \ \ StartKnotens\n\ @param\ \ \ ziel\ \ \ \ \ ZielKnotens\n
|
|
comment37.params=startnr\ zielnr
|
|
comment37.target=void\ entferneKante(int,\ int)
|
|
comment37.text=\n\ Entfernt\ eine\ Kante\ aus\ dem\ Graphen.\n\ Ist\ der\ Graph\ ungerichtet,\ werden\ sowohl\ "Hin-"\ und\ "RueckKante"\ entfernt.\n\n\ @param\ \ \ startnr\ \ \ \ Nummer\ des\ StartKnotens\n\ @param\ \ \ zielnr\ \ \ \ \ Nummer\ des\ ZielKnotens\n
|
|
comment38.params=
|
|
comment38.target=boolean\ isLeer()
|
|
comment38.text=\n\ Ueberprueft,\ ob\ die\ Adjazenzliste\ leer\ ist,\ d.h.\ keine\ Knoten\ im\ Graphen\ enthalten\ sind.\n\ \n\ @return\ \ \ true,\ wenn\ die\ Liste\ leer\ ist,\ sonst\ false\n
|
|
comment39.params=
|
|
comment39.target=void\ loescheAlles()
|
|
comment39.text=\n\ Loescht\ den\ gesamten\ Graphen\n
|
|
comment4.params=csvParser
|
|
comment4.target=boolean\ ladeGraph(imp.Table)
|
|
comment4.text=\n\ Ein\ Graph\ wird\ aus\ einer\ csv-Datei\ erstellt,\ die\ entweder\n\ eine\ Matrix\ oder\ eine\ Adjazenzliste\ enth\u00E4lt,\ die\ den\ Graph\ beschreibt.\n\n\ @param\ \ csvParser\ \ \ Eine\ CSV-Datei\ als\ Table-Objekt\n\ @return\ gibt\ zur\u00FCck,\ ob\ das\ Laden\ erfolgreich\ war\n
|
|
comment40.params=asMatrix
|
|
comment40.target=java.lang.String\ toCSVString(boolean)
|
|
comment40.text=\n\ Die\ Methode\ erstellt\ eine\ CSV-Ausgabe\ des\ Graphen\ entweder\ als\ Adjazenzliste\ oder\ als\ Adjazenzmatrix.\n\n\ @param\ \ \ asMatrix\ \ \ \ true,\ falls\ die\ CSV-Ausgabe\ eine\ AdjazenzMatrix\ sein\ soll,\ sonst\ false\n\ @return\ \ CSV-Ausgabe\n
|
|
comment41.params=
|
|
comment41.target=java.lang.String\ toString()
|
|
comment41.text=\n\ Textuelle\ Repraesentation\ des\ Graphen.\n\ \n\ @return\ \ Der\ Graph\ als\ Stringrepraesentation\n
|
|
comment42.params=
|
|
comment42.target=void\ ausgabe()
|
|
comment42.text=\n\ Konsolenausgabe\ der\ textuellen\ Repraesentation\ des\ Graphen.\n
|
|
comment43.params=k\ zeigeWert
|
|
comment43.target=java.lang.String\ getKnoteninfo(Knoten,\ boolean)
|
|
comment43.text=\n\ Info\ \u00FCber\ einen\ Knoten\ zur\u00FCckgeben\ \n\ @param\ k\ Knoten,\ des\ Info\ ermittelt\ werden\ soll\n\ @param\ zeigeWert\ Soll\ der\ Wert\ des\ Knoten\ in\ der\ Info\ enthalten\ sein\n\ @return\ Infotext\ oder\ Nummer\ des\ Knoten\ und\ ggf.\ sein\ Wert\n
|
|
comment44.params=
|
|
comment44.target=java.util.List\ getStatus()
|
|
comment44.text=\ Speichert\ den\ Zustand\ des\ Graphen\ als\ String-List\n\ @return\ List\ mit\ Zustand\n
|
|
comment45.params=status
|
|
comment45.target=void\ setStatus(java.util.List)
|
|
comment45.text=\ Stellt\ den\ Zustand\ des\ Graphen\ aus\ String-List\ wieder\ her\n\ @param\ status\ List\ mit\ Zustand\n
|
|
comment5.params=isGewichtet
|
|
comment5.target=void\ setGewichtet(boolean)
|
|
comment5.text=\n\ Legt\ fest,\ ob\ der\ Graph\ gewichtet\ oder\ ungewichtet\ ist.\n\n\ @param\ isGewichtet\ neuer\ Wert\n
|
|
comment6.params=
|
|
comment6.target=boolean\ isGewichtet()
|
|
comment6.text=\n\ Gibt\ zurueck,\ ob\ der\ Graph\ gewichtet\ oder\ ungewichtet\ ist\n\n\ @return\ gewichtet?\ (true/false)\n
|
|
comment7.params=isGerichtet
|
|
comment7.target=void\ setGerichtet(boolean)
|
|
comment7.text=\n\ Legt\ fest,\ ob\ der\ Graph\ gerichtet\ oder\ ungerichtet\ ist.\n\n\ @param\ \ isGerichtet\ neuer\ Wert\n
|
|
comment8.params=
|
|
comment8.target=boolean\ isGerichtet()
|
|
comment8.text=\n\ Gibt\ zurueck,\ ob\ der\ Graph\ gerichtet\ oder\ ungerichtet\ ist.\n\n\ @return\ \ gerichtet?\ (true/false)\n
|
|
comment9.params=k
|
|
comment9.target=int\ getNummer(Knoten)
|
|
comment9.text=\ Gibt\ die\ Nummer\ eines\ Knotens\ im\ Graphen\ zur\u00FCck\n\ @param\ \ k\ \ gesuchter\ Knoten\n\ @return\ Nummer\ des\ Knotens\ (mit\ 0\ beginnend)\n
|
|
numComments=46
|