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.
Seleziona un sito web
Seleziona un sito web per visualizzare contenuto tradotto dove disponibile e vedere eventi e offerte locali. In base alla tua area geografica, ti consigliamo di selezionare: .
Puoi anche selezionare un sito web dal seguente elenco:
Come ottenere le migliori prestazioni del sito
Per ottenere le migliori prestazioni del sito, seleziona il sito cinese (in cinese o in inglese). I siti MathWorks per gli altri paesi non sono ottimizzati per essere visitati dalla tua area geografica.
Americhe
- 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)