<!DOCTYPE HTML> <html lang="de"> <head> <!-- Generated by javadoc (21) on Tue Jul 09 12:47:01 CEST 2024 --> <title>DirectedGraph</title> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="dc.created" content="2024-07-09"> <meta name="description" content="declaration: package: graph, class: DirectedGraph"> <meta name="generator" content="javadoc/ClassWriterImpl"> <link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style"> <link rel="stylesheet" type="text/css" href="../script-dir/jquery-ui.min.css" title="Style"> <script type="text/javascript" src="../script.js"></script> <script type="text/javascript" src="../script-dir/jquery-3.6.1.min.js"></script> <script type="text/javascript" src="../script-dir/jquery-ui.min.js"></script> </head> <body class="class-declaration-page"> <script type="text/javascript">var pathtoroot = "../"; loadScripts(document, 'script');</script> <noscript> <div>JavaScript ist im Browser deaktiviert.</div> </noscript> <div class="flex-box"> <header role="banner" class="flex-header"> <nav role="navigation"> <!-- ========= START OF TOP NAVBAR ======= --> <div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Navigationslinks umschalten"><span class="nav-bar-toggle-icon"> </span><span class="nav-bar-toggle-icon"> </span><span class="nav-bar-toggle-icon"> </span></button> <div class="skip-nav"><a href="#skip-navbar-top" title="Navigations-Links überspringen">Navigations-Links überspringen</a></div> <ul id="navbar-top-firstrow" class="nav-list" title="Navigation"> <li><a href="../index.html">Überblick</a></li> <li><a href="package-summary.html">Package</a></li> <li class="nav-bar-cell1-rev">Klasse</li> <li><a href="package-tree.html">Baum</a></li> <li><a href="../index-files/index-1.html">Index</a></li> <li><a href="../help-doc.html#class">Hilfe</a></li> </ul> <ul class="sub-nav-list-small"> <li> <p>Übersicht:</p> <ul> <li>Verschachtelt</li> <li><a href="#field-summary">Feld</a></li> <li><a href="#constructor-summary">Konstruktor</a></li> <li><a href="#method-summary">Methode</a></li> </ul> </li> <li> <p>Details:</p> <ul> <li><a href="#field-detail">Feld</a></li> <li><a href="#constructor-detail">Konstruktor</a></li> <li><a href="#method-detail">Methode</a></li> </ul> </li> </ul> </div> <div class="sub-nav"> <div id="navbar-sub-list"> <ul class="sub-nav-list"> <li>Übersicht: </li> <li>Verschachtelt | </li> <li><a href="#field-summary">Feld</a> | </li> <li><a href="#constructor-summary">Konstruktor</a> | </li> <li><a href="#method-summary">Methode</a></li> </ul> <ul class="sub-nav-list"> <li>Details: </li> <li><a href="#field-detail">Feld</a> | </li> <li><a href="#constructor-detail">Konstruktor</a> | </li> <li><a href="#method-detail">Methode</a></li> </ul> </div> <div class="nav-list-search"><a href="../search.html">SEARCH</a> <input type="text" id="search-input" disabled placeholder="Suchen"> <input type="reset" id="reset-button" disabled value="reset"> </div> </div> <!-- ========= END OF TOP NAVBAR ========= --> <span class="skip-nav" id="skip-navbar-top"></span></nav> </header> <div class="flex-content"> <main role="main"> <!-- ======== START OF CLASS DATA ======== --> <div class="header"> <div class="sub-title"><span class="package-label-in-type">Package</span> <a href="package-summary.html">graph</a></div> <h1 title="Klasse DirectedGraph" class="title">Klasse DirectedGraph<T extends <a href="VertexMarking.html" title="Klasse in graph">VertexMarking</a>,<wbr>U extends <a href="EdgeMarking.html" title="Klasse in graph">EdgeMarking</a>></h1> </div> <div class="inheritance" title="Vererbungsbaum"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html" title="Klasse oder Schnittstelle in java.lang" class="external-link">java.lang.Object</a> <div class="inheritance"><a href="Graph.html" title="Klasse in graph">graph.Graph</a><T,<wbr>U> <div class="inheritance">graph.DirectedGraph<T,<wbr>U></div> </div> </div> <section class="class-description" id="class-description"> <dl class="notes"> <dt>Typparameter:</dt> <dd><code>T</code> - the type of vertex marking</dd> <dd><code>U</code> - the type of edge marking</dd> </dl> <hr> <div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">DirectedGraph<T extends <a href="VertexMarking.html" title="Klasse in graph">VertexMarking</a>,<wbr>U extends <a href="EdgeMarking.html" title="Klasse in graph">EdgeMarking</a>></span> <span class="extends-implements">extends <a href="Graph.html" title="Klasse in graph">Graph</a><T,<wbr>U></span></div> <div class="block">Represents a directed graph with vertex and edge markings. This class extends the Graph class and provides additional functionality for directed graphs, including visualization and logging capabilities.</div> </section> <section class="summary"> <ul class="summary-list"> <!-- =========== FIELD SUMMARY =========== --> <li> <section class="field-summary" id="field-summary"> <h2>Feldübersicht</h2> <div class="caption"><span>Felder</span></div> <div class="summary-table three-column-summary"> <div class="table-header col-first">Modifizierer und Typ</div> <div class="table-header col-second">Feld</div> <div class="table-header col-last">Beschreibung</div> <div class="col-first even-row-color"><code>private <a href="../logging/LogElementList.html" title="Klasse in logging">LogElementList</a><wbr><<a href="../OurApplication/OurLogElement.html" title="Klasse in OurApplication">OurLogElement</a>></code></div> <div class="col-second even-row-color"><code><a href="#logList" class="member-name-link">logList</a></code></div> <div class="col-last even-row-color"> </div> <div class="col-first odd-row-color"><code>private <a href="../visualizationElements/Graph.html" title="Klasse in visualizationElements">Graph</a></code></div> <div class="col-second odd-row-color"><code><a href="#screenGraph" class="member-name-link">screenGraph</a></code></div> <div class="col-last odd-row-color"> </div> </div> </section> </li> <!-- ======== CONSTRUCTOR SUMMARY ======== --> <li> <section class="constructor-summary" id="constructor-summary"> <h2>Konstruktorübersicht</h2> <div class="caption"><span>Konstruktoren</span></div> <div class="summary-table two-column-summary"> <div class="table-header col-first">Konstruktor</div> <div class="table-header col-last">Beschreibung</div> <div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E()" class="member-name-link">DirectedGraph</a>()</code></div> <div class="col-last even-row-color"> <div class="block">Constructs an empty directed graph.</div> </div> <div class="col-constructor-name odd-row-color"><code><a href="#%3Cinit%3E(java.lang.String)" class="member-name-link">DirectedGraph</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="Klasse oder Schnittstelle in java.lang" class="external-link">String</a> s)</code></div> <div class="col-last odd-row-color"> <div class="block">Constructs a directed graph from a string representation.</div> </div> </div> </section> </li> <!-- ========== METHOD SUMMARY =========== --> <li> <section class="method-summary" id="method-summary"> <h2>Methodenübersicht</h2> <div id="method-summary-table"> <div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">Alle Methoden</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instanzmethoden</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Konkrete Methoden</button></div> <div id="method-summary-table.tabpanel" role="tabpanel"> <div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0"> <div class="table-header col-first">Modifizierer und Typ</div> <div class="table-header col-second">Methode</div> <div class="table-header col-last">Beschreibung</div> <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div> <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#addEdge(graph.MarkedEdge)" class="member-name-link">addEdge</a><wbr>(<a href="MarkedEdge.html" title="Klasse in graph">MarkedEdge</a><<a href="DirectedGraph.html" title="Typparameter in DirectedGraph">U</a>> e)</code></div> <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> <div class="block">Adds an edge to the graph.</div> </div> <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div> <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#addVertex(graph.MarkedVertex)" class="member-name-link">addVertex</a><wbr>(<a href="MarkedVertex.html" title="Klasse in graph">MarkedVertex</a><<a href="DirectedGraph.html" title="Typparameter in DirectedGraph">T</a>> n)</code></div> <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> <div class="block">Adds a vertex to the graph.</div> </div> <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div> <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#areStrongAdjacent(graph.MarkedVertex,graph.MarkedVertex)" class="member-name-link">areStrongAdjacent</a><wbr>(<a href="MarkedVertex.html" title="Klasse in graph">MarkedVertex</a><<a href="DirectedGraph.html" title="Typparameter in DirectedGraph">T</a>> n1, <a href="MarkedVertex.html" title="Klasse in graph">MarkedVertex</a><<a href="DirectedGraph.html" title="Typparameter in DirectedGraph">T</a>> n2)</code></div> <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> <div class="block">Checks if two vertices are strongly adjacent (i.e., there is a bidirectional edge between them).</div> </div> <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div> <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#areStrongAdjacent(java.lang.String,java.lang.String)" class="member-name-link">areStrongAdjacent</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="Klasse oder Schnittstelle in java.lang" class="external-link">String</a> s1, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="Klasse oder Schnittstelle in java.lang" class="external-link">String</a> s2)</code></div> <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> <div class="block">Checks if two vertices are strongly adjacent (i.e., there is a bidirectional edge between them) by their names.</div> </div> <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../logging/LogElementList.html" title="Klasse in logging">LogElementList</a><wbr><<a href="../OurApplication/OurLogElement.html" title="Klasse in OurApplication">OurLogElement</a>></code></div> <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getLogList()" class="member-name-link">getLogList</a>()</code></div> <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> <div class="block">Returns the log list associated with this directed graph.</div> </div> <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/Vector.html" title="Klasse oder Schnittstelle in java.util" class="external-link">Vector</a><wbr><<a href="MarkedVertex.html" title="Klasse in graph">MarkedVertex</a><<a href="DirectedGraph.html" title="Typparameter in DirectedGraph">T</a>>></code></div> <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getPredecessors(graph.MarkedVertex)" class="member-name-link">getPredecessors</a><wbr>(<a href="MarkedVertex.html" title="Klasse in graph">MarkedVertex</a><<a href="DirectedGraph.html" title="Typparameter in DirectedGraph">T</a>> n)</code></div> <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> <div class="block">Returns a vector of predecessor vertices (i.e., vertices with edges directed towards the specified vertex).</div> </div> <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../visualizationElements/Graph.html" title="Klasse in visualizationElements">Graph</a></code></div> <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getScreenGraph()" class="member-name-link">getScreenGraph</a>()</code></div> <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> <div class="block">Returns the screen graph associated with this directed graph.</div> </div> <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../visualizationElements/Graph.html" title="Klasse in visualizationElements">Graph</a></code></div> <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getScreenGraphCopy()" class="member-name-link">getScreenGraphCopy</a>()</code></div> <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> <div class="block">Returns a copy of the screen graph associated with this directed graph.</div> </div> <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>double</code></div> <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getShortestPathAStar(graph.MarkedVertex,graph.MarkedVertex)" class="member-name-link">getShortestPathAStar</a><wbr>(<a href="MarkedVertex.html" title="Klasse in graph">MarkedVertex</a><<a href="DirectedGraph.html" title="Typparameter in DirectedGraph">T</a>> n1, <a href="MarkedVertex.html" title="Klasse in graph">MarkedVertex</a><<a href="DirectedGraph.html" title="Typparameter in DirectedGraph">T</a>> n2)</code></div> <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> <div class="block">Finds the shortest path between two vertices using the A* algorithm.</div> </div> <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div> <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getShortestPathDijkstra(graph.MarkedVertex,graph.MarkedVertex)" class="member-name-link">getShortestPathDijkstra</a><wbr>(<a href="MarkedVertex.html" title="Klasse in graph">MarkedVertex</a><<a href="DirectedGraph.html" title="Typparameter in DirectedGraph">T</a>> n1, <a href="MarkedVertex.html" title="Klasse in graph">MarkedVertex</a><<a href="DirectedGraph.html" title="Typparameter in DirectedGraph">T</a>> n2)</code></div> <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> <div class="block">Finds the shortest path between two vertices using Dijkstra's algorithm.</div> </div> <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/Vector.html" title="Klasse oder Schnittstelle in java.util" class="external-link">Vector</a><wbr><<a href="MarkedVertex.html" title="Klasse in graph">MarkedVertex</a><<a href="DirectedGraph.html" title="Typparameter in DirectedGraph">T</a>>></code></div> <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getSuccessors(graph.MarkedVertex)" class="member-name-link">getSuccessors</a><wbr>(<a href="MarkedVertex.html" title="Klasse in graph">MarkedVertex</a><<a href="DirectedGraph.html" title="Typparameter in DirectedGraph">T</a>> n)</code></div> <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> <div class="block">Returns a vector of successor vertices (i.e., vertices with edges directed away from the specified vertex).</div> </div> <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div> <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#inDegree(graph.MarkedVertex)" class="member-name-link">inDegree</a><wbr>(<a href="MarkedVertex.html" title="Klasse in graph">MarkedVertex</a><<a href="DirectedGraph.html" title="Typparameter in DirectedGraph">T</a>> n)</code></div> <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> <div class="block">Returns the in-degree of a vertex (i.e., the number of edges directed towards the vertex).</div> </div> <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div> <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#inDegree(java.lang.String)" class="member-name-link">inDegree</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="Klasse oder Schnittstelle in java.lang" class="external-link">String</a> s)</code></div> <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> <div class="block">Returns the in-degree of a vertex by its name.</div> </div> <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div> <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#outDegree(graph.MarkedVertex)" class="member-name-link">outDegree</a><wbr>(<a href="MarkedVertex.html" title="Klasse in graph">MarkedVertex</a><<a href="DirectedGraph.html" title="Typparameter in DirectedGraph">T</a>> n)</code></div> <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> <div class="block">Returns the out-degree of a vertex (i.e., the number of edges directed away from the vertex).</div> </div> <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div> <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#outDegree(java.lang.String)" class="member-name-link">outDegree</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="Klasse oder Schnittstelle in java.lang" class="external-link">String</a> s)</code></div> <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> <div class="block">Returns the out-degree of a vertex by its name.</div> </div> <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div> <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#removeEdge(graph.MarkedEdge)" class="member-name-link">removeEdge</a><wbr>(<a href="MarkedEdge.html" title="Klasse in graph">MarkedEdge</a><<a href="DirectedGraph.html" title="Typparameter in DirectedGraph">U</a>> e)</code></div> <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> <div class="block">Removes an edge from the graph.</div> </div> <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div> <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#removeVertex(graph.MarkedVertex)" class="member-name-link">removeVertex</a><wbr>(<a href="MarkedVertex.html" title="Klasse in graph">MarkedVertex</a><<a href="DirectedGraph.html" title="Typparameter in DirectedGraph">T</a>> n)</code></div> <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> <div class="block">Removes a vertex from the graph.</div> </div> </div> </div> </div> <div class="inherited-list"> <h3 id="methods-inherited-from-class-graph.Graph">Von Klasse geerbte Methoden graph.<a href="Graph.html" title="Klasse in graph">Graph</a></h3> <code><a href="Graph.html#areAdjacent(graph.MarkedVertex,graph.MarkedVertex)">areAdjacent</a>, <a href="Graph.html#areAdjacent(java.lang.String,java.lang.String)">areAdjacent</a>, <a href="Graph.html#clearScreenGraphColor()">clearScreenGraphColor</a>, <a href="Graph.html#degree()">degree</a>, <a href="Graph.html#getAllEdges()">getAllEdges</a>, <a href="Graph.html#getAllVertexes()">getAllVertexes</a>, <a href="Graph.html#getName()">getName</a>, <a href="Graph.html#hasEdge(graph.MarkedEdge)">hasEdge</a>, <a href="Graph.html#hasEdge(graph.MarkedVertex,graph.MarkedVertex)">hasEdge</a>, <a href="Graph.html#hasEdge(java.lang.String)">hasEdge</a>, <a href="Graph.html#hasEdge(java.lang.String,java.lang.String)">hasEdge</a>, <a href="Graph.html#hasLoop(graph.MarkedVertex)">hasLoop</a>, <a href="Graph.html#hasLoop(java.lang.String)">hasLoop</a>, <a href="Graph.html#hasVertex(graph.MarkedVertex)">hasVertex</a>, <a href="Graph.html#hasVertex(java.lang.String)">hasVertex</a>, <a href="Graph.html#numberOfEdges()">numberOfEdges</a>, <a href="Graph.html#numberOfVertexes()">numberOfVertexes</a>, <a href="Graph.html#removeEdge(java.lang.String)">removeEdge</a>, <a href="Graph.html#removeVertex(java.lang.String)">removeVertex</a>, <a href="Graph.html#setName(java.lang.String)">setName</a>, <a href="Graph.html#toString()">toString</a></code></div> <div class="inherited-list"> <h3 id="methods-inherited-from-class-java.lang.Object">Von Klasse geerbte Methoden java.lang.<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html" title="Klasse oder Schnittstelle in java.lang" class="external-link">Object</a></h3> <code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#clone()" title="Klasse oder Schnittstelle in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="Klasse oder Schnittstelle in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#finalize()" title="Klasse oder Schnittstelle in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#getClass()" title="Klasse oder Schnittstelle in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#hashCode()" title="Klasse oder Schnittstelle in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#notify()" title="Klasse oder Schnittstelle in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#notifyAll()" title="Klasse oder Schnittstelle in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#wait()" title="Klasse oder Schnittstelle in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#wait(long)" title="Klasse oder Schnittstelle in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="Klasse oder Schnittstelle in java.lang" class="external-link">wait</a></code></div> </section> </li> </ul> </section> <section class="details"> <ul class="details-list"> <!-- ============ FIELD DETAIL =========== --> <li> <section class="field-details" id="field-detail"> <h2>Felddetails</h2> <ul class="member-list"> <li> <section class="detail" id="screenGraph"> <h3>screenGraph</h3> <div class="member-signature"><span class="modifiers">private</span> <span class="return-type"><a href="../visualizationElements/Graph.html" title="Klasse in visualizationElements">Graph</a></span> <span class="element-name">screenGraph</span></div> </section> </li> <li> <section class="detail" id="logList"> <h3>logList</h3> <div class="member-signature"><span class="modifiers">private</span> <span class="return-type"><a href="../logging/LogElementList.html" title="Klasse in logging">LogElementList</a><<a href="../OurApplication/OurLogElement.html" title="Klasse in OurApplication">OurLogElement</a>></span> <span class="element-name">logList</span></div> </section> </li> </ul> </section> </li> <!-- ========= CONSTRUCTOR DETAIL ======== --> <li> <section class="constructor-details" id="constructor-detail"> <h2>Konstruktordetails</h2> <ul class="member-list"> <li> <section class="detail" id="<init>()"> <h3>DirectedGraph</h3> <div class="member-signature"><span class="modifiers">public</span> <span class="element-name">DirectedGraph</span>()</div> <div class="block">Constructs an empty directed graph.</div> </section> </li> <li> <section class="detail" id="<init>(java.lang.String)"> <h3>DirectedGraph</h3> <div class="member-signature"><span class="modifiers">public</span> <span class="element-name">DirectedGraph</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="Klasse oder Schnittstelle in java.lang" class="external-link">String</a> s)</span></div> <div class="block">Constructs a directed graph from a string representation.</div> <dl class="notes"> <dt>Parameter:</dt> <dd><code>s</code> - the string representation of the graph</dd> </dl> </section> </li> </ul> </section> </li> <!-- ============ METHOD DETAIL ========== --> <li> <section class="method-details" id="method-detail"> <h2>Methodendetails</h2> <ul class="member-list"> <li> <section class="detail" id="getScreenGraph()"> <h3>getScreenGraph</h3> <div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="../visualizationElements/Graph.html" title="Klasse in visualizationElements">Graph</a></span> <span class="element-name">getScreenGraph</span>()</div> <div class="block">Returns the screen graph associated with this directed graph.</div> <dl class="notes"> <dt>Angegeben von:</dt> <dd><code><a href="Graph.html#getScreenGraph()">getScreenGraph</a></code> in Klasse <code><a href="Graph.html" title="Klasse in graph">Graph</a><<a href="DirectedGraph.html" title="Typparameter in DirectedGraph">T</a> extends <a href="VertexMarking.html" title="Klasse in graph">VertexMarking</a>,<wbr><a href="DirectedGraph.html" title="Typparameter in DirectedGraph">U</a> extends <a href="EdgeMarking.html" title="Klasse in graph">EdgeMarking</a>></code></dd> <dt>Gibt zurück:</dt> <dd>the screen graph</dd> </dl> </section> </li> <li> <section class="detail" id="getScreenGraphCopy()"> <h3>getScreenGraphCopy</h3> <div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="../visualizationElements/Graph.html" title="Klasse in visualizationElements">Graph</a></span> <span class="element-name">getScreenGraphCopy</span>()</div> <div class="block">Returns a copy of the screen graph associated with this directed graph.</div> <dl class="notes"> <dt>Gibt zurück:</dt> <dd>a copy of the screen graph</dd> </dl> </section> </li> <li> <section class="detail" id="getLogList()"> <h3>getLogList</h3> <div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="../logging/LogElementList.html" title="Klasse in logging">LogElementList</a><<a href="../OurApplication/OurLogElement.html" title="Klasse in OurApplication">OurLogElement</a>></span> <span class="element-name">getLogList</span>()</div> <div class="block">Returns the log list associated with this directed graph.</div> <dl class="notes"> <dt>Angegeben von:</dt> <dd><code><a href="Graph.html#getLogList()">getLogList</a></code> in Klasse <code><a href="Graph.html" title="Klasse in graph">Graph</a><<a href="DirectedGraph.html" title="Typparameter in DirectedGraph">T</a> extends <a href="VertexMarking.html" title="Klasse in graph">VertexMarking</a>,<wbr><a href="DirectedGraph.html" title="Typparameter in DirectedGraph">U</a> extends <a href="EdgeMarking.html" title="Klasse in graph">EdgeMarking</a>></code></dd> <dt>Gibt zurück:</dt> <dd>the log list</dd> </dl> </section> </li> <li> <section class="detail" id="addEdge(graph.MarkedEdge)"> <h3>addEdge</h3> <div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">addEdge</span><wbr><span class="parameters">(<a href="MarkedEdge.html" title="Klasse in graph">MarkedEdge</a><<a href="DirectedGraph.html" title="Typparameter in DirectedGraph">U</a>> e)</span></div> <div class="block">Adds an edge to the graph.</div> <dl class="notes"> <dt>Setzt außer Kraft:</dt> <dd><code><a href="Graph.html#addEdge(graph.MarkedEdge)">addEdge</a></code> in Klasse <code><a href="Graph.html" title="Klasse in graph">Graph</a><<a href="DirectedGraph.html" title="Typparameter in DirectedGraph">T</a> extends <a href="VertexMarking.html" title="Klasse in graph">VertexMarking</a>,<wbr><a href="DirectedGraph.html" title="Typparameter in DirectedGraph">U</a> extends <a href="EdgeMarking.html" title="Klasse in graph">EdgeMarking</a>></code></dd> <dt>Parameter:</dt> <dd><code>e</code> - the edge to be added</dd> </dl> </section> </li> <li> <section class="detail" id="addVertex(graph.MarkedVertex)"> <h3>addVertex</h3> <div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">addVertex</span><wbr><span class="parameters">(<a href="MarkedVertex.html" title="Klasse in graph">MarkedVertex</a><<a href="DirectedGraph.html" title="Typparameter in DirectedGraph">T</a>> n)</span></div> <div class="block">Adds a vertex to the graph.</div> <dl class="notes"> <dt>Setzt außer Kraft:</dt> <dd><code><a href="Graph.html#addVertex(graph.MarkedVertex)">addVertex</a></code> in Klasse <code><a href="Graph.html" title="Klasse in graph">Graph</a><<a href="DirectedGraph.html" title="Typparameter in DirectedGraph">T</a> extends <a href="VertexMarking.html" title="Klasse in graph">VertexMarking</a>,<wbr><a href="DirectedGraph.html" title="Typparameter in DirectedGraph">U</a> extends <a href="EdgeMarking.html" title="Klasse in graph">EdgeMarking</a>></code></dd> <dt>Parameter:</dt> <dd><code>n</code> - the vertex to be added</dd> </dl> </section> </li> <li> <section class="detail" id="removeEdge(graph.MarkedEdge)"> <h3>removeEdge</h3> <div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">removeEdge</span><wbr><span class="parameters">(<a href="MarkedEdge.html" title="Klasse in graph">MarkedEdge</a><<a href="DirectedGraph.html" title="Typparameter in DirectedGraph">U</a>> e)</span></div> <div class="block">Removes an edge from the graph.</div> <dl class="notes"> <dt>Setzt außer Kraft:</dt> <dd><code><a href="Graph.html#removeEdge(graph.MarkedEdge)">removeEdge</a></code> in Klasse <code><a href="Graph.html" title="Klasse in graph">Graph</a><<a href="DirectedGraph.html" title="Typparameter in DirectedGraph">T</a> extends <a href="VertexMarking.html" title="Klasse in graph">VertexMarking</a>,<wbr><a href="DirectedGraph.html" title="Typparameter in DirectedGraph">U</a> extends <a href="EdgeMarking.html" title="Klasse in graph">EdgeMarking</a>></code></dd> <dt>Parameter:</dt> <dd><code>e</code> - the edge to be removed</dd> </dl> </section> </li> <li> <section class="detail" id="removeVertex(graph.MarkedVertex)"> <h3>removeVertex</h3> <div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">removeVertex</span><wbr><span class="parameters">(<a href="MarkedVertex.html" title="Klasse in graph">MarkedVertex</a><<a href="DirectedGraph.html" title="Typparameter in DirectedGraph">T</a>> n)</span></div> <div class="block">Removes a vertex from the graph.</div> <dl class="notes"> <dt>Setzt außer Kraft:</dt> <dd><code><a href="Graph.html#removeVertex(graph.MarkedVertex)">removeVertex</a></code> in Klasse <code><a href="Graph.html" title="Klasse in graph">Graph</a><<a href="DirectedGraph.html" title="Typparameter in DirectedGraph">T</a> extends <a href="VertexMarking.html" title="Klasse in graph">VertexMarking</a>,<wbr><a href="DirectedGraph.html" title="Typparameter in DirectedGraph">U</a> extends <a href="EdgeMarking.html" title="Klasse in graph">EdgeMarking</a>></code></dd> <dt>Parameter:</dt> <dd><code>n</code> - the vertex to be removed</dd> </dl> </section> </li> <li> <section class="detail" id="areStrongAdjacent(graph.MarkedVertex,graph.MarkedVertex)"> <h3>areStrongAdjacent</h3> <div class="member-signature"><span class="modifiers">public</span> <span class="return-type">boolean</span> <span class="element-name">areStrongAdjacent</span><wbr><span class="parameters">(<a href="MarkedVertex.html" title="Klasse in graph">MarkedVertex</a><<a href="DirectedGraph.html" title="Typparameter in DirectedGraph">T</a>> n1, <a href="MarkedVertex.html" title="Klasse in graph">MarkedVertex</a><<a href="DirectedGraph.html" title="Typparameter in DirectedGraph">T</a>> n2)</span></div> <div class="block">Checks if two vertices are strongly adjacent (i.e., there is a bidirectional edge between them).</div> <dl class="notes"> <dt>Parameter:</dt> <dd><code>n1</code> - the first vertex</dd> <dd><code>n2</code> - the second vertex</dd> <dt>Gibt zurück:</dt> <dd>true if the vertices are strongly adjacent, false otherwise</dd> </dl> </section> </li> <li> <section class="detail" id="areStrongAdjacent(java.lang.String,java.lang.String)"> <h3>areStrongAdjacent</h3> <div class="member-signature"><span class="modifiers">public</span> <span class="return-type">boolean</span> <span class="element-name">areStrongAdjacent</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="Klasse oder Schnittstelle in java.lang" class="external-link">String</a> s1, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="Klasse oder Schnittstelle in java.lang" class="external-link">String</a> s2)</span> throws <span class="exceptions"><a href="NameDoesNotExistException.html" title="Klasse in graph">NameDoesNotExistException</a></span></div> <div class="block">Checks if two vertices are strongly adjacent (i.e., there is a bidirectional edge between them) by their names.</div> <dl class="notes"> <dt>Parameter:</dt> <dd><code>s1</code> - the name of the first vertex</dd> <dd><code>s2</code> - the name of the second vertex</dd> <dt>Gibt zurück:</dt> <dd>true if the vertices are strongly adjacent, false otherwise</dd> <dt>Löst aus:</dt> <dd><code><a href="NameDoesNotExistException.html" title="Klasse in graph">NameDoesNotExistException</a></code> - if one of the vertices does not exist</dd> </dl> </section> </li> <li> <section class="detail" id="inDegree(graph.MarkedVertex)"> <h3>inDegree</h3> <div class="member-signature"><span class="modifiers">public</span> <span class="return-type">int</span> <span class="element-name">inDegree</span><wbr><span class="parameters">(<a href="MarkedVertex.html" title="Klasse in graph">MarkedVertex</a><<a href="DirectedGraph.html" title="Typparameter in DirectedGraph">T</a>> n)</span></div> <div class="block">Returns the in-degree of a vertex (i.e., the number of edges directed towards the vertex).</div> <dl class="notes"> <dt>Parameter:</dt> <dd><code>n</code> - the vertex</dd> <dt>Gibt zurück:</dt> <dd>the in-degree of the vertex</dd> </dl> </section> </li> <li> <section class="detail" id="inDegree(java.lang.String)"> <h3>inDegree</h3> <div class="member-signature"><span class="modifiers">public</span> <span class="return-type">int</span> <span class="element-name">inDegree</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="Klasse oder Schnittstelle in java.lang" class="external-link">String</a> s)</span> throws <span class="exceptions"><a href="NameDoesNotExistException.html" title="Klasse in graph">NameDoesNotExistException</a></span></div> <div class="block">Returns the in-degree of a vertex by its name.</div> <dl class="notes"> <dt>Parameter:</dt> <dd><code>s</code> - the name of the vertex</dd> <dt>Gibt zurück:</dt> <dd>the in-degree of the vertex</dd> <dt>Löst aus:</dt> <dd><code><a href="NameDoesNotExistException.html" title="Klasse in graph">NameDoesNotExistException</a></code> - if the vertex does not exist</dd> </dl> </section> </li> <li> <section class="detail" id="outDegree(graph.MarkedVertex)"> <h3>outDegree</h3> <div class="member-signature"><span class="modifiers">public</span> <span class="return-type">int</span> <span class="element-name">outDegree</span><wbr><span class="parameters">(<a href="MarkedVertex.html" title="Klasse in graph">MarkedVertex</a><<a href="DirectedGraph.html" title="Typparameter in DirectedGraph">T</a>> n)</span></div> <div class="block">Returns the out-degree of a vertex (i.e., the number of edges directed away from the vertex).</div> <dl class="notes"> <dt>Parameter:</dt> <dd><code>n</code> - the vertex</dd> <dt>Gibt zurück:</dt> <dd>the out-degree of the vertex</dd> </dl> </section> </li> <li> <section class="detail" id="outDegree(java.lang.String)"> <h3>outDegree</h3> <div class="member-signature"><span class="modifiers">public</span> <span class="return-type">int</span> <span class="element-name">outDegree</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="Klasse oder Schnittstelle in java.lang" class="external-link">String</a> s)</span> throws <span class="exceptions"><a href="NameDoesNotExistException.html" title="Klasse in graph">NameDoesNotExistException</a></span></div> <div class="block">Returns the out-degree of a vertex by its name.</div> <dl class="notes"> <dt>Parameter:</dt> <dd><code>s</code> - the name of the vertex</dd> <dt>Gibt zurück:</dt> <dd>the out-degree of the vertex</dd> <dt>Löst aus:</dt> <dd><code><a href="NameDoesNotExistException.html" title="Klasse in graph">NameDoesNotExistException</a></code> - if the vertex does not exist</dd> </dl> </section> </li> <li> <section class="detail" id="getPredecessors(graph.MarkedVertex)"> <h3>getPredecessors</h3> <div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/Vector.html" title="Klasse oder Schnittstelle in java.util" class="external-link">Vector</a><<a href="MarkedVertex.html" title="Klasse in graph">MarkedVertex</a><<a href="DirectedGraph.html" title="Typparameter in DirectedGraph">T</a>>></span> <span class="element-name">getPredecessors</span><wbr><span class="parameters">(<a href="MarkedVertex.html" title="Klasse in graph">MarkedVertex</a><<a href="DirectedGraph.html" title="Typparameter in DirectedGraph">T</a>> n)</span></div> <div class="block">Returns a vector of predecessor vertices (i.e., vertices with edges directed towards the specified vertex).</div> <dl class="notes"> <dt>Parameter:</dt> <dd><code>n</code> - the vertex</dd> <dt>Gibt zurück:</dt> <dd>a vector of predecessor vertices</dd> </dl> </section> </li> <li> <section class="detail" id="getSuccessors(graph.MarkedVertex)"> <h3>getSuccessors</h3> <div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/Vector.html" title="Klasse oder Schnittstelle in java.util" class="external-link">Vector</a><<a href="MarkedVertex.html" title="Klasse in graph">MarkedVertex</a><<a href="DirectedGraph.html" title="Typparameter in DirectedGraph">T</a>>></span> <span class="element-name">getSuccessors</span><wbr><span class="parameters">(<a href="MarkedVertex.html" title="Klasse in graph">MarkedVertex</a><<a href="DirectedGraph.html" title="Typparameter in DirectedGraph">T</a>> n)</span></div> <div class="block">Returns a vector of successor vertices (i.e., vertices with edges directed away from the specified vertex).</div> <dl class="notes"> <dt>Parameter:</dt> <dd><code>n</code> - the vertex</dd> <dt>Gibt zurück:</dt> <dd>a vector of successor vertices</dd> </dl> </section> </li> <li> <section class="detail" id="getShortestPathDijkstra(graph.MarkedVertex,graph.MarkedVertex)"> <h3>getShortestPathDijkstra</h3> <div class="member-signature"><span class="modifiers">public</span> <span class="return-type">int</span> <span class="element-name">getShortestPathDijkstra</span><wbr><span class="parameters">(<a href="MarkedVertex.html" title="Klasse in graph">MarkedVertex</a><<a href="DirectedGraph.html" title="Typparameter in DirectedGraph">T</a>> n1, <a href="MarkedVertex.html" title="Klasse in graph">MarkedVertex</a><<a href="DirectedGraph.html" title="Typparameter in DirectedGraph">T</a>> n2)</span></div> <div class="block">Finds the shortest path between two vertices using Dijkstra's algorithm.</div> <dl class="notes"> <dt>Angegeben von:</dt> <dd><code><a href="Graph.html#getShortestPathDijkstra(graph.MarkedVertex,graph.MarkedVertex)">getShortestPathDijkstra</a></code> in Klasse <code><a href="Graph.html" title="Klasse in graph">Graph</a><<a href="DirectedGraph.html" title="Typparameter in DirectedGraph">T</a> extends <a href="VertexMarking.html" title="Klasse in graph">VertexMarking</a>,<wbr><a href="DirectedGraph.html" title="Typparameter in DirectedGraph">U</a> extends <a href="EdgeMarking.html" title="Klasse in graph">EdgeMarking</a>></code></dd> <dt>Parameter:</dt> <dd><code>n1</code> - the starting vertex</dd> <dd><code>n2</code> - the ending vertex</dd> <dt>Gibt zurück:</dt> <dd>the shortest distance from n1 to n2, or -1 if no path is found</dd> </dl> </section> </li> <li> <section class="detail" id="getShortestPathAStar(graph.MarkedVertex,graph.MarkedVertex)"> <h3>getShortestPathAStar</h3> <div class="member-signature"><span class="modifiers">public</span> <span class="return-type">double</span> <span class="element-name">getShortestPathAStar</span><wbr><span class="parameters">(<a href="MarkedVertex.html" title="Klasse in graph">MarkedVertex</a><<a href="DirectedGraph.html" title="Typparameter in DirectedGraph">T</a>> n1, <a href="MarkedVertex.html" title="Klasse in graph">MarkedVertex</a><<a href="DirectedGraph.html" title="Typparameter in DirectedGraph">T</a>> n2)</span></div> <div class="block">Finds the shortest path between two vertices using the A* algorithm.</div> <dl class="notes"> <dt>Angegeben von:</dt> <dd><code><a href="Graph.html#getShortestPathAStar(graph.MarkedVertex,graph.MarkedVertex)">getShortestPathAStar</a></code> in Klasse <code><a href="Graph.html" title="Klasse in graph">Graph</a><<a href="DirectedGraph.html" title="Typparameter in DirectedGraph">T</a> extends <a href="VertexMarking.html" title="Klasse in graph">VertexMarking</a>,<wbr><a href="DirectedGraph.html" title="Typparameter in DirectedGraph">U</a> extends <a href="EdgeMarking.html" title="Klasse in graph">EdgeMarking</a>></code></dd> <dt>Parameter:</dt> <dd><code>n1</code> - the starting vertex</dd> <dd><code>n2</code> - the ending vertex</dd> <dt>Gibt zurück:</dt> <dd>the shortest distance from n1 to n2, or -1 if no path is found</dd> </dl> </section> </li> </ul> </section> </li> </ul> </section> <!-- ========= END OF CLASS DATA ========= --> </main> </div> </div> </body> </html>