File: girth.Rd

package info (click to toggle)
r-cran-igraph 2.1.4-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 27,044 kB
  • sloc: ansic: 204,981; cpp: 21,711; fortran: 4,090; yacc: 1,229; lex: 519; sh: 52; makefile: 8
file content (90 lines) | stat: -rw-r--r-- 2,514 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/structural.properties.R
\name{girth}
\alias{girth}
\title{Girth of a graph}
\usage{
girth(graph, circle = TRUE)
}
\arguments{
\item{graph}{The input graph. It may be directed, but the algorithm searches
for undirected circles anyway.}

\item{circle}{Logical scalar, whether to return the shortest circle itself.}
}
\value{
A named list with two components: \item{girth}{Integer constant, the
girth of the graph, or 0 if the graph is acyclic.} \item{circle}{Numeric
vector with the vertex ids in the shortest circle.}
}
\description{
The girth of a graph is the length of the shortest circle in it.
}
\details{
The current implementation works for undirected graphs only, directed graphs
are treated as undirected graphs. Loop edges and multiple edges are ignored.
If the graph is a forest (i.e. acyclic), then \code{Inf} is returned.

This implementation is based on Alon Itai and Michael Rodeh: Finding a
minimum circuit in a graph \emph{Proceedings of the ninth annual ACM
symposium on Theory of computing}, 1-10, 1977. The first implementation of
this function was done by Keith Briggs, thanks Keith.
}
\examples{

# No circle in a tree
g <- make_tree(1000, 3)
girth(g)

# The worst case running time is for a ring
g <- make_ring(100)
girth(g)

# What about a random graph?
g <- sample_gnp(1000, 1 / 1000)
girth(g)

}
\references{
Alon Itai and Michael Rodeh: Finding a minimum circuit in a
graph \emph{Proceedings of the ninth annual ACM symposium on Theory of
computing}, 1-10, 1977
}
\seealso{
Other structural.properties: 
\code{\link{bfs}()},
\code{\link{component_distribution}()},
\code{\link{connect}()},
\code{\link{constraint}()},
\code{\link{coreness}()},
\code{\link{degree}()},
\code{\link{dfs}()},
\code{\link{distance_table}()},
\code{\link{edge_density}()},
\code{\link{feedback_arc_set}()},
\code{\link{is_acyclic}()},
\code{\link{is_dag}()},
\code{\link{is_matching}()},
\code{\link{k_shortest_paths}()},
\code{\link{knn}()},
\code{\link{reciprocity}()},
\code{\link{subcomponent}()},
\code{\link{subgraph}()},
\code{\link{topo_sort}()},
\code{\link{transitivity}()},
\code{\link{unfold_tree}()},
\code{\link{which_multiple}()},
\code{\link{which_mutual}()}

Graph cycles
\code{\link{feedback_arc_set}()},
\code{\link{has_eulerian_path}()},
\code{\link{is_acyclic}()},
\code{\link{is_dag}()}
}
\author{
Gabor Csardi \email{csardi.gabor@gmail.com}
}
\concept{cycles}
\concept{structural.properties}
\keyword{graphs}