<!DOCTYPE html>
<html>
<head>
  <meta http-equiv='content-type' value='text/html;charset=utf8'>
  <meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'>
  <title>shortest(1) - Compute the distance between one node and all the other nodes of a graph</title>
  <style type='text/css' media='all'>
  /* style: man */
  body#manpage {margin:0}
  .mp {max-width:100ex;padding:0 9ex 1ex 4ex}
  .mp p,.mp pre,.mp ul,.mp ol,.mp dl {margin:0 0 20px 0}
  .mp h2 {margin:10px 0 0 0}
  .mp > p,.mp > pre,.mp > ul,.mp > ol,.mp > dl {margin-left:8ex}
  .mp h3 {margin:0 0 0 4ex}
  .mp dt {margin:0;clear:left}
  .mp dt.flush {float:left;width:8ex}
  .mp dd {margin:0 0 0 9ex}
  .mp h1,.mp h2,.mp h3,.mp h4 {clear:left}
  .mp pre {margin-bottom:20px}
  .mp pre+h2,.mp pre+h3 {margin-top:22px}
  .mp h2+pre,.mp h3+pre {margin-top:5px}
  .mp img {display:block;margin:auto}
  .mp h1.man-title {display:none}
  .mp,.mp code,.mp pre,.mp tt,.mp kbd,.mp samp,.mp h3,.mp h4 {font-family:monospace;font-size:14px;line-height:1.42857142857143}
  .mp h2 {font-size:16px;line-height:1.25}
  .mp h1 {font-size:20px;line-height:2}
  .mp {text-align:justify;background:#fff}
  .mp,.mp code,.mp pre,.mp pre code,.mp tt,.mp kbd,.mp samp {color:#131211}
  .mp h1,.mp h2,.mp h3,.mp h4 {color:#030201}
  .mp u {text-decoration:underline}
  .mp code,.mp strong,.mp b {font-weight:bold;color:#131211}
  .mp em,.mp var {font-style:italic;color:#232221;text-decoration:none}
  .mp a,.mp a:link,.mp a:hover,.mp a code,.mp a pre,.mp a tt,.mp a kbd,.mp a samp {color:#0000ff}
  .mp b.man-ref {font-weight:normal;color:#434241}
  .mp pre {padding:0 4ex}
  .mp pre code {font-weight:normal;color:#434241}
  .mp h2+pre,h3+pre {padding-left:0}
  ol.man-decor,ol.man-decor li {margin:3px 0 10px 0;padding:0;float:left;width:33%;list-style-type:none;text-transform:uppercase;color:#999;letter-spacing:1px}
  ol.man-decor {width:100%}
  ol.man-decor li.tl {text-align:left}
  ol.man-decor li.tc {text-align:center;letter-spacing:4px}
  ol.man-decor li.tr {text-align:right;float:right}
  </style>
  <style type='text/css' media='all'>
  /* style: toc */
  .man-navigation {display:block !important;position:fixed;top:0;left:113ex;height:100%;width:100%;padding:48px 0 0 0;border-left:1px solid #dbdbdb;background:#eee}
  .man-navigation a,.man-navigation a:hover,.man-navigation a:link,.man-navigation a:visited {display:block;margin:0;padding:5px 2px 5px 30px;color:#999;text-decoration:none}
  .man-navigation a:hover {color:#111;text-decoration:underline}
  </style>
</head>
<!--
  The following styles are deprecated and will be removed at some point:
  div#man, div#man ol.man, div#man ol.head, div#man ol.man.

  The .man-page, .man-decor, .man-head, .man-foot, .man-title, and
  .man-navigation should be used instead.
-->
<body id='manpage'>
  <div class='mp' id='man'>

  <div class='man-navigation' style='display:none'>
    <a href="#NAME">NAME</a>
    <a href="#SYNOPSIS">SYNOPSIS</a>
    <a href="#DESCRIPTION">DESCRIPTION</a>
    <a href="#PARAMETERS">PARAMETERS</a>
    <a href="#OUTPUT">OUTPUT</a>
    <a href="#EXAMPLES">EXAMPLES</a>
    <a href="#SEE-ALSO">SEE ALSO</a>
    <a href="#REFERENCES">REFERENCES</a>
    <a href="#AUTHORS">AUTHORS</a>
  </div>

  <ol class='man-decor man-head man head'>
    <li class='tl'>shortest(1)</li>
    <li class='tc'>www.complex-networks.net</li>
    <li class='tr'>shortest(1)</li>
  </ol>

  <h2 id="NAME">NAME</h2>
<p class="man-name">
  <code>shortest</code> - <span class="man-whatis">Compute the distance between one node and all the other nodes of a graph</span>
</p>

<h2 id="SYNOPSIS">SYNOPSIS</h2>

<p><code>shortest</code> <var>graph_in</var> <var>node</var> [SHOW]</p>

<h2 id="DESCRIPTION">DESCRIPTION</h2>

<p><code>shortest</code> computes the distance (and the shortest paths) between a
given node and all the other nodes of an undirected graph provided as
input. The program implements the Breadth-First Search algorithm.</p>

<h2 id="PARAMETERS">PARAMETERS</h2>

<dl>
<dt><var>graph_in</var></dt><dd><p>  input graph (edge list) if equal to <code>-</code> (dash), read the edge list
  from STDIN.</p></dd>
<dt class="flush"><var>node</var></dt><dd><p>  The label of the node from which distances are to be computed</p></dd>
<dt class="flush">SHOW</dt><dd><p>  If the third (optional) parameter is equal to <code>SHOW</code>, the program
  will dump on the standard error also all the shortest paths
  between <var>node</var> and all the other nodes of the graph</p></dd>
</dl>


<h2 id="OUTPUT">OUTPUT</h2>

<p><code>shortest</code> prints on the standard output the distances betwen <var>node</var>
and all the other nodes of the graph, in the format:</p>

<pre><code>d0 d1 d2 d3.....
</code></pre>

<p>where <code>d0</code> is the distance to node <code>0</code>, <code>d1</code> is the distance to node
<code>1</code>, and so forth. If <code>SHOW</code> is given, the list of all the shortest
paths between <var>node</var> and the other nodes is printed on the standard
error, one path per line, in the format:</p>

<pre><code>label0 label1 label2 ... node
</code></pre>

<p>where <code>label1</code>, <code>label2</code>, etc. are the labels of a shortest path
between <code>label0</code> and <var>node</var></p>

<h2 id="EXAMPLES">EXAMPLES</h2>

<p>The following command:</p>

<pre><code>      $ shortest er_1000_5000.net 25 
      3 4 4 4 2.......
      $
</code></pre>

<p>will show on output the distances between node 25 and all the other
nodes in the graph <code>er_1000_5000.net</code>. If we invoke the program with:</p>

<pre><code>      $ shortest er_1000_5000.net 25 SHOW 2&gt;er_1000_5000.net_25_paths
      3 4 4 4 2.......
      $
</code></pre>

<p>the program will dump on STDERR the list of all the shortest paths
between 'node' and all the other nodes of the graph. Since we used the
redirection <code>2&gt;er_1000_5000.net_25_paths</code> (which can be read "redirect
STDERR to 'er_1000_5000.net_25_paths' "), the list of shortest
paths will be written to the file <code>er_1000_5000.net_25_paths</code>.</p>

<h2 id="SEE-ALSO">SEE ALSO</h2>

<p><span class="man-ref">dijkstra<span class="s">(1)</span></span>, <span class="man-ref">bet_dependency<span class="s">(1)</span></span>, <span class="man-ref">betweenness<span class="s">(1)</span></span>, <span class="man-ref">shortest_avg_max_hist<span class="s">(1)</span></span></p>

<h2 id="REFERENCES">REFERENCES</h2>

<ul>
<li><p>V. Latora, V. Nicosia, G. Russo, "Complex Networks: Principles,
Methods and Applications", Chapter 3, Cambridge University Press
(2017)</p></li>
<li><p>V. Latora, V. Nicosia, G. Russo, "Complex Networks: Principles,
Methods and Applications", Appendix 6, Cambridge University Press
(2017)</p></li>
</ul>


<h2 id="AUTHORS">AUTHORS</h2>

<p>(c) Vincenzo 'KatolaZ' Nicosia 2009-2017 <code>&lt;v.nicosia@qmul.ac.uk&gt;</code>.</p>


  <ol class='man-decor man-foot man foot'>
    <li class='tl'>www.complex-networks.net</li>
    <li class='tc'>September 2017</li>
    <li class='tr'>shortest(1)</li>
  </ol>

  </div>
</body>
</html>