graph_center — center of a graph
[no,rad] = graph_center(g)
graph_center
computes a center of the graph g
i.e. the
node for which the largest of the shortest paths to all the other nodes
is minimum. The lengths of the arcs are supposed to be integer (and the default
value is 1).
The output is the value rad
of the length of the radius and
no
which is the node number of the center of the graph.
ta=[1 1 2 2 2 3 4 5 5 7 8 8 9 10 10 10 10 11 12 13 13 14 15 16 16 17 17]; he=[2 10 3 5 7 4 2 4 6 8 6 9 7 7 11 13 15 12 13 9 14 11 16 1 17 14 15]; g=make_graph('foo',0,17,ta,he); g.nodes.graphics.x=[283 163 63 57 164 164 273 271 339 384 504 513 439 623 631 757 642]/2; g.nodes.graphics.y=[59 133 223 318 227 319 221 324 432 141 209 319 428 443 187 151 301]/2; show_graph(g); [no,rad] = graph_center(g) hilite_nodes(no); r1=0; for k=1:16 [p,lp] = shortest_path(no,k,g,'arc'); if lp>r1 then r1=lp;path=p;end end r1 hilite_edges(path)