# jungerer.algo

Functions to find a path and calculate a score of a graph.

### barycenter-scorer

`(barycenter-scorer graph)`

Returns an edu.uci.ics.jung.algorithms.scoring.BarycenterScorer for graph. It can be used for calculating scores for each node according to the sum of its distances to all other nodes.

### betweenness-centrality

`(betweenness-centrality graph)`

Returns an edu.uci.ics.jung.algorithms.scoring.BetweennessCentrality for graph. It can be used for calculating betweenness centrality for each node and edge in the graph.

### bf-path

`(bf-path graph src-node dst-node)`

Returns a vector of the nodes on the shortest path from src-node to dst-node, in order of their occurrence on this path, using Breadth-First Search (BFS) algorithm. Returns an empty vector if the path does not exist.

### closeness-centrality

`(closeness-centrality graph)`

`(closeness-centrality graph distance)`

Returns an edu.uci.ics.jung.algorithms.scoring.ClosenessCentrality for graph. It can be used for calculating scores for each node based on the mean distance to each other node.

### degree-scorer

`(degree-scorer graph)`

Returns an edu.uci.ics.jung.algorithms.scoring.DegreeScorer for graph. It can be used for calculating scores for each node equal to its degree.

### dijkstra-path

`(dijkstra-path graph src-node dst-node)`

Returns a vector of the nodes on the shortest path from src-node to dst-node, in order of their occurrence on this path, using Dijkstra's single-source- shortest-path algorithm. Returns an empty vector if the path does not exist.

### eigenvector-centrality

`(eigenvector-centrality graph)`

Returns an edu.uci.ics.jung.algorithms.scoring.EigenvectorCentrality for graph. It can be used for calculating eigenvector centrality for each node in the graph. The 'eigenvector centrality' for a node is defined as the fraction of time that a random walk(er) will spend at that node over an infinite time horizon. Assumes that the graph is strongly connected.

### hits

`(hits graph)`

Returns an edu.uci.ics.jung.algorithms.scoring.HITS for graph. It can be used for calculating hub and authority scores to each node depending on the topology of the network.

### page-rank

`(page-rank graph)`

`(page-rank graph alpha)`

Returns an edu.uci.ics.jung.algorithms.scoring.PageRank for graph. It can be used for calculating scores for each node according to the PageRank algorithm.

### ScoreAvailable

#### protocol

#### members

### score

`(score this node)`

Returns a score of node calculated with scorer algorithm. Note that type of the returned score is different depending on the scorer.