/// <summary>
        /// Valida si existen ciclos dirigidos o no dirigidos en el grafo representado por este árbol.
        /// </summary>
        /// <returns><code>true</code> si existen ciclos dirigidos o no dirigidos. <code>false</code> en cualquier otro caso.</returns>
        public bool TieneCiclos(List <String> arcoRol)
        {
            DetectorDeCiclos detector = new DetectorDeCiclos();

            if (detector.ContieneCiclos(NodoRaiz, arcoRol))
            {
                return(true);
            }
            return(false);
        }
 /// <summary>
 /// Valida si existen ciclos dirigidos o no dirifidos por cada grafo a partir del nodo raíz del árbol
 /// </summary>
 /// <param name="arcoRol">Tipo de arcos a validar</param>
 /// <returns>true si hay ciclos en algún grafo que parte del nodo raíz</returns>
 public bool TieneCiclosPorGrafo(List <string> arcoRol)
 {
     //Detección de ciclos por cada inicio de grafo a partir del nodo raíz
     foreach (var conn in NodoRaiz.ConectoresSalientes)
     {
         DetectorDeCiclos detector = new DetectorDeCiclos();
         if (detector.ContieneCiclos(conn.NodoSiguiente, arcoRol))
         {
             return(true);
         }
     }
     return(false);
 }