minetest_traintimetable/vendor/algb12/graph-ds/doc/classes/GraphDS.Algo.Dijkstra.html

690 lines
37 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!DOCTYPE html>
<html lang="en">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
<meta charset="utf-8"/>
<title>API Documentation</title>
<meta name="author" content=""/>
<meta name="description" content=""/>
<link href="../css/bootstrap-combined.no-icons.min.css" rel="stylesheet">
<link href="../css/font-awesome.min.css" rel="stylesheet">
<link href="../css/prism.css" rel="stylesheet" media="all"/>
<link href="../css/template.css" rel="stylesheet" media="all"/>
<!--[if lt IE 9]>
<script src="../js/html5.js"></script>
<![endif]-->
<script src="../js/jquery-1.11.0.min.js"></script>
<script src="../js/ui/1.10.4/jquery-ui.min.js"></script>
<script src="../js/bootstrap.min.js"></script>
<script src="../js/jquery.smooth-scroll.js"></script>
<script src="../js/prism.min.js"></script>
<!-- TODO: Add http://jscrollpane.kelvinluck.com/ to style the scrollbars for browsers not using webkit-->
<script type="text/javascript">
function loadExternalCodeSnippets() {
Array.prototype.slice.call(document.querySelectorAll('pre[data-src]')).forEach(function (pre) {
var src = pre.getAttribute('data-src').replace( /\\/g, '/');
var extension = (src.match(/\.(\w+)$/) || [, ''])[1];
var language = 'php';
var code = document.createElement('code');
code.className = 'language-' + language;
pre.textContent = '';
code.textContent = 'Loading…';
pre.appendChild(code);
var xhr = new XMLHttpRequest();
xhr.open('GET', src, true);
xhr.onreadystatechange = function () {
if (xhr.readyState == 4) {
if (xhr.status < 400 && xhr.responseText) {
code.textContent = xhr.responseText;
Prism.highlightElement(code);
}
else if (xhr.status >= 400) {
code.textContent = '✖ Error ' + xhr.status + ' while fetching file: ' + xhr.statusText;
}
else {
code.textContent = '✖ Error: File does not exist or is empty';
}
}
};
xhr.send(null);
});
}
$(document).ready(function(){
loadExternalCodeSnippets();
});
$('#source-view').on('shown', function () {
loadExternalCodeSnippets();
})
</script>
<link rel="shortcut icon" href="../images/favicon.ico"/>
<link rel="apple-touch-icon" href="../images/apple-touch-icon.png"/>
<link rel="apple-touch-icon" sizes="72x72" href="../images/apple-touch-icon-72x72.png"/>
<link rel="apple-touch-icon" sizes="114x114" href="../images/apple-touch-icon-114x114.png"/>
</head>
<body>
<div class="navbar navbar-fixed-top">
<div class="navbar-inner">
<div class="container">
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<i class="icon-ellipsis-vertical"></i>
</a>
<a class="brand" href="../index.html">API Documentation</a>
<div class="nav-collapse">
<ul class="nav pull-right">
<li class="dropdown">
<a href="../index.html" class="dropdown-toggle" data-toggle="dropdown">
API Documentation <b class="caret"></b>
</a>
<ul class="dropdown-menu">
<li><a href="../namespaces/GraphDS.html">\GraphDS</a></li>
</ul>
</li>
<li class="dropdown" id="charts-menu">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
Charts <b class="caret"></b>
</a>
<ul class="dropdown-menu">
<li>
<a href="../graphs/class.html">
<i class="icon-list-alt"></i>&#160;Class hierarchy diagram
</a>
</li>
</ul>
</li>
<li class="dropdown" id="reports-menu">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
Reports <b class="caret"></b>
</a>
<ul class="dropdown-menu">
<li>
<a href="../reports/errors.html">
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">0</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">0</span>
</a>
</li>
<li>
<a href="../reports/deprecated.html">
<i class="icon-list-alt"></i>&#160;Deprecated <span class="label label-info pull-right">0</span>
</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
</div>
<!--<div class="go_to_top">-->
<!--<a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>-->
<!--</div>-->
</div>
<div id="___" class="container-fluid">
<section class="row-fluid">
<div class="span2 sidebar">
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-575418948"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-575418948" class="accordion-body collapse in">
<div class="accordion-inner">
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle collapsed" data-toggle="collapse" data-target="#namespace-1757390633"></a>
<a href="../namespaces/GraphDS.html" style="margin-left: 30px; padding-left: 0">GraphDS</a>
</div>
<div id="namespace-1757390633" class="accordion-body collapse ">
<div class="accordion-inner">
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle collapsed" data-toggle="collapse" data-target="#namespace-2025072228"></a>
<a href="../namespaces/GraphDS.Algo.html" style="margin-left: 30px; padding-left: 0">Algo</a>
</div>
<div id="namespace-2025072228" class="accordion-body collapse ">
<div class="accordion-inner">
<ul>
<li class="class"><a href="../classes/GraphDS.Algo.BFS.html">BFS</a></li>
<li class="class"><a href="../classes/GraphDS.Algo.DFS.html">DFS</a></li>
<li class="class"><a href="../classes/GraphDS.Algo.Dijkstra.html">Dijkstra</a></li>
<li class="class"><a href="../classes/GraphDS.Algo.DijkstraMulti.html">DijkstraMulti</a></li>
<li class="class"><a href="../classes/GraphDS.Algo.FloydWarshall.html">FloydWarshall</a></li>
</ul>
</div>
</div>
</div>
</div>
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle collapsed" data-toggle="collapse" data-target="#namespace-1460027761"></a>
<a href="../namespaces/GraphDS.Edge.html" style="margin-left: 30px; padding-left: 0">Edge</a>
</div>
<div id="namespace-1460027761" class="accordion-body collapse ">
<div class="accordion-inner">
<ul>
<li class="class"><a href="../classes/GraphDS.Edge.DirectedEdge.html">DirectedEdge</a></li>
<li class="class"><a href="../classes/GraphDS.Edge.Edge.html">Edge</a></li>
<li class="class"><a href="../classes/GraphDS.Edge.UndirectedEdge.html">UndirectedEdge</a></li>
</ul>
</div>
</div>
</div>
</div>
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle collapsed" data-toggle="collapse" data-target="#namespace-1017639948"></a>
<a href="../namespaces/GraphDS.Graph.html" style="margin-left: 30px; padding-left: 0">Graph</a>
</div>
<div id="namespace-1017639948" class="accordion-body collapse ">
<div class="accordion-inner">
<ul>
<li class="class"><a href="../classes/GraphDS.Graph.DirectedGraph.html">DirectedGraph</a></li>
<li class="class"><a href="../classes/GraphDS.Graph.Graph.html">Graph</a></li>
<li class="class"><a href="../classes/GraphDS.Graph.UndirectedGraph.html">UndirectedGraph</a></li>
</ul>
</div>
</div>
</div>
</div>
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle collapsed" data-toggle="collapse" data-target="#namespace-1717299290"></a>
<a href="../namespaces/GraphDS.Persistence.html" style="margin-left: 30px; padding-left: 0">Persistence</a>
</div>
<div id="namespace-1717299290" class="accordion-body collapse ">
<div class="accordion-inner">
<ul>
<li class="class"><a href="../classes/GraphDS.Persistence.ExportGraph.html">ExportGraph</a></li>
<li class="class"><a href="../classes/GraphDS.Persistence.ImportGraph.html">ImportGraph</a></li>
</ul>
</div>
</div>
</div>
</div>
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle collapsed" data-toggle="collapse" data-target="#namespace-387806902"></a>
<a href="../namespaces/GraphDS.Vertex.html" style="margin-left: 30px; padding-left: 0">Vertex</a>
</div>
<div id="namespace-387806902" class="accordion-body collapse ">
<div class="accordion-inner">
<ul>
<li class="class"><a href="../classes/GraphDS.Vertex.DirectedVertex.html">DirectedVertex</a></li>
<li class="class"><a href="../classes/GraphDS.Vertex.UndirectedVertex.html">UndirectedVertex</a></li>
<li class="class"><a href="../classes/GraphDS.Vertex.Vertex.html">Vertex</a></li>
</ul>
</div>
</div>
</div>
</div>
<ul>
</ul>
</div>
</div>
</div>
</div>
<ul>
</ul>
</div>
</div>
</div>
</div>
</div>
</section>
<section class="row-fluid">
<div class="span10 offset2">
<div class="row-fluid">
<div class="span8 content class">
<nav>
<a href="../namespaces/GraphDS.Algo.html">\GraphDS\Algo</a> <i class="icon-level-up"></i>
</nav>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal"><i class="icon-code"></i></a>
<h1><small>\GraphDS\Algo</small>Dijkstra</h1>
<p><em>Class defining Dijkstra&#039;s shortest path algorithm.</em></p>
<section id="summary">
<h2>Summary</h2>
<section class="row-fluid heading">
<section class="span4">
<a href="#methods">Methods</a>
</section>
<section class="span4">
<a href="#properties">Properties</a>
</section>
<section class="span4">
<a href="#constants">Constants</a>
</section>
</section>
<section class="row-fluid public">
<section class="span4">
<a href="../classes/GraphDS.Algo.Dijkstra.html#method___construct" class="">__construct()</a><br />
<a href="../classes/GraphDS.Algo.Dijkstra.html#method_run" class="">run()</a><br />
<a href="../classes/GraphDS.Algo.Dijkstra.html#method_get" class="">get()</a><br />
</section>
<section class="span4">
<a href="../classes/GraphDS.Algo.Dijkstra.html#property_graph" class="">$graph</a><br />
<a href="../classes/GraphDS.Algo.Dijkstra.html#property_dist" class="">$dist</a><br />
<a href="../classes/GraphDS.Algo.Dijkstra.html#property_prev" class="">$prev</a><br />
<a href="../classes/GraphDS.Algo.Dijkstra.html#property_unvisitedVertices" class="">$unvisitedVertices</a><br />
<a href="../classes/GraphDS.Algo.Dijkstra.html#property_start" class="">$start</a><br />
</section>
<section class="span4">
<em>No constants found</em>
</section>
</section>
<section class="row-fluid protected">
<section class="span4">
<em>No protected methods found</em>
</section>
<section class="span4">
<em>No protected properties found</em>
</section>
<section class="span4">
<em>N/A</em>
</section>
</section>
<section class="row-fluid private">
<section class="span4">
<em>No private methods found</em>
</section>
<section class="span4">
<em>No private properties found</em>
</section>
<section class="span4">
<em>N/A</em>
</section>
</section>
</section>
</div>
<aside class="span4 detailsbar">
<dl>
<dt>File</dt>
<dd><a href="../files/Algo.Dijkstra.html"><div class="path-wrapper">Algo/Dijkstra.php</div></a></dd>
<dt>Package</dt>
<dd><div class="namespace-wrapper">Default</div></dd>
<dt>Class hierarchy</dt>
<dd class="hierarchy">
<div class="namespace-wrapper">\GraphDS\Algo\Dijkstra</div>
</dd>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr><td colspan="2"><em>None found</em></td></tr>
</table>
</aside>
</div>
<a id="properties" name="properties"></a>
<div class="row-fluid">
<div class="span8 content class">
<h2>Properties</h2>
</div>
<aside class="span4 detailsbar"></aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="property_graph" name="property_graph" class="anchor"></a>
<article class="property">
<h3 class="public ">$graph</h3>
<pre class="signature">$graph : \GraphDS\Graph\Graph</pre>
<p><em>Reference to the graph.</em></p>
<h4>Type</h4>
<a href="../classes/GraphDS.Graph.Graph.html">\GraphDS\Graph\Graph</a>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr><td colspan="2"><em>None found</em></td></tr>
</table>
</aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="property_dist" name="property_dist" class="anchor"></a>
<article class="property">
<h3 class="public ">$dist</h3>
<pre class="signature">$dist : array</pre>
<p><em>Array holding the shortest distances to each vertex from the source.</em></p>
<h4>Type</h4>
array
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr><td colspan="2"><em>None found</em></td></tr>
</table>
</aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="property_prev" name="property_prev" class="anchor"></a>
<article class="property">
<h3 class="public ">$prev</h3>
<pre class="signature">$prev : array</pre>
<p><em>Array holding the previous vertices for each vertex for the shortest path.</em></p>
<h4>Type</h4>
array
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr><td colspan="2"><em>None found</em></td></tr>
</table>
</aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="property_unvisitedVertices" name="property_unvisitedVertices" class="anchor"></a>
<article class="property">
<h3 class="public ">$unvisitedVertices</h3>
<pre class="signature">$unvisitedVertices : array</pre>
<p><em>Array holding the unvisited vertices in the graph.</em></p>
<h4>Type</h4>
array
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr><td colspan="2"><em>None found</em></td></tr>
</table>
</aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="property_start" name="property_start" class="anchor"></a>
<article class="property">
<h3 class="public ">$start</h3>
<pre class="signature">$start : array</pre>
<p><em>ID of the start vertex.</em></p>
<h4>Type</h4>
array
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr><td colspan="2"><em>None found</em></td></tr>
</table>
</aside>
</div>
<a id="methods" name="methods"></a>
<div class="row-fluid">
<div class="span8 content class"><h2>Methods</h2></div>
<aside class="span4 detailsbar"></aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="method___construct" name="method___construct" class="anchor"></a>
<article class="method">
<h3 class="public ">__construct()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">__construct(\GraphDS\Graph\Graph <span class="argument">$graph</span>) </pre>
<p><em>Constructor for the Dijkstra algorithm.</em></p>
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td><a href="../classes/GraphDS.Graph.Graph.html">\GraphDS\Graph\Graph</a></td>
<td>$graph </td>
<td><p>The graph to which the Dijkstra algorithm should be applied</p></td>
</tr>
</table>
<h4>Throws</h4>
<dl>
<dt>\InvalidArgumentException</dt>
<dd></dd>
</dl>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
<dt>Inherited from</dt>
<dd><a href="../classes/GraphDS.Algo.Dijkstra.html"><div class="path-wrapper">\GraphDS\Algo\Dijkstra</div></a></dd>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr><td colspan="2"><em>None found</em></td></tr>
</table>
</aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_run" name="method_run" class="anchor"></a>
<article class="method">
<h3 class="public ">run()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">run(mixed <span class="argument">$start</span>) : void</pre>
<p><em>Calculates the shortest path to every vertex from vertex $start.</em></p>
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>mixed</td>
<td>$start </td>
<td><p>ID of the starting vertex for Dijkstra's algorithm</p></td>
</tr>
</table>
<h4>Throws</h4>
<dl>
<dt>\InvalidArgumentException</dt>
<dd></dd>
</dl>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
<dt>Inherited from</dt>
<dd><a href="../classes/GraphDS.Algo.Dijkstra.html"><div class="path-wrapper">\GraphDS\Algo\Dijkstra</div></a></dd>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr><td colspan="2"><em>None found</em></td></tr>
</table>
</aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_get" name="method_get" class="anchor"></a>
<article class="method">
<h3 class="public ">get()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">get(string <span class="argument">$dest</span>) : array</pre>
<p><em>Returns the shortest path to $dest from the origin vertex in the graph.</em></p>
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string</td>
<td>$dest </td>
<td><p>ID of the destination vertex</p></td>
</tr>
</table>
<h4>Returns</h4>
array
&mdash; <p>An array containing the shortest path and distance</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
<dt>Inherited from</dt>
<dd><a href="../classes/GraphDS.Algo.Dijkstra.html"><div class="path-wrapper">\GraphDS\Algo\Dijkstra</div></a></dd>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr><td colspan="2"><em>None found</em></td></tr>
</table>
</aside>
</div>
</div>
</section>
<div id="source-view" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="source-view-label" aria-hidden="true">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="source-view-label">Dijkstra.php</h3>
</div>
<div class="modal-body">
<pre data-src="../files/Algo/Dijkstra.php.txt" class="language-php line-numbers"></pre>
</div>
</div>
<footer class="row-fluid">
<section class="span10 offset2">
<section class="row-fluid">
<section class="span10 offset1">
<section class="row-fluid footer-sections">
<section class="span4">
<h1><i class="icon-code"></i></h1>
<div>
<ul>
<li><a href="../namespaces/GraphDS.html">\GraphDS</a></li>
</ul>
</div>
</section>
<section class="span4">
<h1><i class="icon-bar-chart"></i></h1>
<div>
<ul>
<li><a href="../graphs/class.html">Class Hierarchy Diagram</a></li>
</ul>
</div>
</section>
<section class="span4">
<h1><i class="icon-pushpin"></i></h1>
<div>
<ul>
<li><a href="../reports/errors.html">Errors</a></li>
<li><a href="../reports/markers.html">Markers</a></li>
</ul>
</div>
</section>
</section>
</section>
</section>
<section class="row-fluid">
<section class="span10 offset1">
<hr />
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored
on April 2nd, 2018 at 23:46.
</section>
</section>
</section>
</footer>
</div>
</body>
</html>