hascycles
Determine whether graph contains cycles
Syntax
Description
Examples
Create and plot an undirected graph.
G = graph([1 1 1 1],[2 3 4 5]); plot(G)

Determine whether the graph has cycles.
tf = hascycles(G)
tf = logical
0
Now add an edge to the graph between node 2 and node 3. Replot the graph.
G = addedge(G,2,3); plot(G)

Determine whether the new graph has cycles.
tf2 = hascycles(G)
tf2 = logical
1
Examine the difference between the hascycles and isdag functions operating on a directed graph.
Create and plot a directed graph.
s = [1 1 1 2 3 3 3 4 6]; t = [2 4 5 5 6 7 4 1 4]; G = digraph(s,t); plot(G)

Determine whether the graph contains any cycles.
tf = hascycles(G)
tf = logical
1
hascycles returns true when a directed graph contains a cycle.
Now, use isdag to determine whether the graph is directed and acyclic.
tf2 = isdag(G)
tf2 = logical
0
isdag returns false because the graph contains a cycle. In general, the hascycles and isdag functions return opposite results for directed graphs.
Input Arguments
More About
A cycle exists in a graph when there is a nonempty path in which only the first and last nodes are repeated. An example of a cycle is: (Node1 - Node2 - Node3 - Node1).
A cycle cannot traverse the same edge twice. For example, the cycle (Node1 - Node2 - Node1) in an undirected graph only exists if there is more than one edge connecting Node1 and Node2. By this definition, self-loops count as cycles, though they cannot be part of any larger cycles.
Version History
Introduced in R2021a
See Also
allcycles | cyclebasis | isdag
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Seleccione un país/idioma
Seleccione un país/idioma para obtener contenido traducido, si está disponible, y ver eventos y ofertas de productos y servicios locales. Según su ubicación geográfica, recomendamos que seleccione: .
También puede seleccionar uno de estos países/idiomas:
Cómo obtener el mejor rendimiento
Seleccione China (en idioma chino o inglés) para obtener el mejor rendimiento. Los sitios web de otros países no están optimizados para ser accedidos desde su ubicación geográfica.
América
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)