public string Recorrido(Nodo nodo = null,
                                TipoRecorrido tipoRecorrido = TipoRecorrido.Preorden)
        {
            if (nodo == null)
            {
                nodo = this.raiz;
            }

            string recorrido = string.Empty;

            switch (tipoRecorrido)
            {
            case TipoRecorrido.Preorden:
                RecorridoPreorden(nodo, ref recorrido);
                break;

            case TipoRecorrido.Inorden:
                RecorridoInorden(nodo, ref recorrido);
                break;

            case TipoRecorrido.Posorden:
                RecorridoPosorden(nodo, ref recorrido);
                break;

            default: throw new Exception("Recorrido incorrecto");
            }

            return($"Tipo recorrido: {tipoRecorrido}: {recorrido}");
        }
Exemplo n.º 2
0
        public string Recorrido(Nodo nodo = null, TipoRecorrido tipoRecorrido = TipoRecorrido.Preorden)
        {
            nodo ??= this.raiz;
            string datos = string.Empty;

            switch (tipoRecorrido)
            {
            case TipoRecorrido.Preorden:
                RecorridoPreorden(nodo, ref datos);
                break;

            case TipoRecorrido.Inorden:
                RecorridoInorden(nodo, ref datos);
                break;

            case TipoRecorrido.Posorden:
                RecorridoPosorden(nodo, ref datos);
                break;
            }
            return($"{tipoRecorrido}: {datos}");
        }