Core Functions
Страница в процессе перевода. |
LightGraphs.jl includes the following core functions:
Full Docs
#
LightGraphs.add_vertices!
— Method
add_vertices!(g, n)
Add n
new vertices to the graph g
. Return the number of vertices that were added successfully.
Examples
julia> using LightGraphs
julia> g = SimpleGraph()
{0, 0} undirected simple Int64 graph
julia> add_vertices!(g, 2)
2
#
LightGraphs.all_neighbors
— Function
all_neighbors(g, v)
Return a list of all inbound and outbound neighbors of v
in g
. For undirected graphs, this is equivalent to both outneighbors
and inneighbors
.
Implementation Notes
Returns a reference to the current graph’s internal structures, not a copy. Do not modify result. If the graph is modified, the behavior is undefined: the array behind this reference may be modified too, but this is not guaranteed.
Examples
julia> using LightGraphs
julia> g = DiGraph(3);
julia> add_edge!(g, 2, 3);
julia> add_edge!(g, 3, 1);
julia> all_neighbors(g, 1) 1-element Array{Int64,1}: 3
julia> all_neighbors(g, 2) 1-element Array{Int64,1}: 3
julia> all_neighbors(g, 3) 2-element Array{Int64,1}: 1 2
#
LightGraphs.common_neighbors
— Method
common_neighbors(g, u, v)
Return the neighbors common to vertices u
and v
in g
.
Implementation Notes
Returns a reference to the current graph’s internal structures, not a copy. Do not modify result. If the graph is modified, the behavior is undefined: the array behind this reference may be modified too, but this is not guaranteed.
Examples
julia> using LightGraphs
julia> g = SimpleGraph(4);
julia> add_edge!(g, 1, 2);
julia> add_edge!(g, 2, 3);
julia> add_edge!(g, 3, 4);
julia> add_edge!(g, 4, 1);
julia> add_edge!(g, 1, 3);
julia> common_neighbors(g, 1, 3)
2-element Array{Int64,1}:
2
4
julia> common_neighbors(g, 1, 4)
1-element Array{Int64,1}:
3
#
LightGraphs.degree
— Function
degree(g[, v])
Return a vector corresponding to the number of edges which start or end at each vertex in graph g
. If v
is specified, only return degrees for vertices in v
. For directed graphs, this value equals the incoming plus outgoing edges. For undirected graphs, it equals the connected edges.
Examples
julia> using LightGraphs
julia> g = DiGraph(3);
julia> add_edge!(g, 2, 3);
julia> add_edge!(g, 3, 1);
julia> degree(g)
3-element Array{Int64,1}:
1
1
2
#
LightGraphs.density
— Function
density(g)
Return the density of g
. Density is defined as the ratio of the number of actual edges to the number of possible edges ( for directed graphs and for undirected graphs).
#
LightGraphs.has_self_loops
— Method
has_self_loops(g)
Return true if g
has any self loops.
Examples
julia> using LightGraphs
julia> g = SimpleGraph(2);
julia> add_edge!(g, 1, 2);
julia> has_self_loops(g)
false
julia> add_edge!(g, 1, 1);
julia> has_self_loops(g)
true
#
LightGraphs.indegree
— Method
indegree(g[, v])
Return a vector corresponding to the number of edges which end at each vertex in graph g
. If v
is specified, only return degrees for vertices in v
.
Examples
julia> using LightGraphs
julia> g = DiGraph(3);
julia> add_edge!(g, 2, 3);
julia> add_edge!(g, 3, 1);
julia> indegree(g)
3-element Array{Int64,1}:
1
0
1
#
LightGraphs.is_ordered
— Method
is_ordered(e)
Return true if the source vertex of edge e
is less than or equal to the destination vertex.
Examples
julia> using LightGraphs
julia> g = DiGraph(2);
julia> add_edge!(g, 2, 1);
julia> is_ordered(first(edges(g)))
false
#
LightGraphs.neighbors
— Method
neighbors(g, v)
Return a list of all neighbors reachable from vertex v
in g
. For directed graphs, the default is equivalent to outneighbors
; use all_neighbors
to list inbound and outbound neighbors.
Implementation Notes
Returns a reference to the current graph’s internal structures, not a copy. Do not modify result. If the graph is modified, the behavior is undefined: the array behind this reference may be modified too, but this is not guaranteed.
Examples
julia> using LightGraphs
julia> g = DiGraph(3);
julia> add_edge!(g, 2, 3);
julia> add_edge!(g, 3, 1);
julia> neighbors(g, 1)
0-element Array{Int64,1}
julia> neighbors(g, 2)
1-element Array{Int64,1}:
3
julia> neighbors(g, 3)
1-element Array{Int64,1}:
1
#
LightGraphs.num_self_loops
— Method
num_self_loops(g)
Return the number of self loops in g
.
Examples
julia> using LightGraphs
julia> g = SimpleGraph(2);
julia> add_edge!(g, 1, 2);
julia> num_self_loops(g)
0
julia> add_edge!(g, 1, 1);
julia> num_self_loops(g)
1
#
LightGraphs.outdegree
— Method
outdegree(g[, v])
Return a vector corresponding to the number of edges which start at each vertex in graph g
. If v
is specified, only return degrees for vertices in v
.
Examples
julia> using LightGraphs
julia> g = DiGraph(3);
julia> add_edge!(g, 2, 3);
julia> add_edge!(g, 3, 1);
julia> outdegree(g)
3-element Array{Int64,1}:
0
1
1
#
LightGraphs.squash
— Method
squash(g)
Return a copy of a graph with the smallest practical type that can accommodate all vertices.
#
LightGraphs.weights
— Method
weights(g)
Return the weights of the edges of a graph g
as a matrix. Defaults to LightGraphs.DefaultDistance
.
Implementation Notes
In general, referencing the weight of a nonexistent edge is undefined behavior. Do not rely on the weights
matrix as a substitute for the graph’s adjacency_matrix
.