Hola 😄, si quieren probar el código les comparto lo siguiente:
.
profundidad.js:
const arbol = {
valor: 25,
izquierda: {
valor: 10,
izquierda: {
valor: 8,
izquierda: {
valor: 6,
izquierda: {
valor: 1,
izquierda: null,
derecha: null,
},
derecha: {
valor: 7,
izquierda: null,
derecha: null,
},
},
derecha: null,
},
derecha: {
valor: 13,
izquierda: null,
derecha: {
valor: 15,
izquierda: null,
derecha: null,
},
},
},
derecha: {
valor: 40,
izquierda: {
valor: 30,
izquierda: {
valor: 26,
izquierda: null,
derecha: null,
},
derecha: null,
},
derecha: {
valor: 42,
izquierda: null,
derecha: {
valor: 49,
izquierda: {
valor: 45,
izquierda: null,
derecha: null,
},
derecha: {
valor: 51,
izquierda: null,
derecha: null,
},
},
},
},
};
const profundidadMin = function (raiz) {
if (!raiz) {
return 0;
}
var izquierda = profundidadMin(raiz.izquierda);
var derecha = profundidadMin(raiz.derecha);
if (!izquierda) {
return derecha + 1;
}
if (!derecha) {
return izquierda + 1;
}
return Math.min(izquierda, derecha) + 1;
};
let profundidadMinima = profundidadMin(arbol);
console.log("La profundidad mínima del árbol es: ", profundidadMinima);
const profundidadMax = function (raiz) {
if (!raiz) {
return 0;
}
var izquierda = profundidadMax(raiz.izquierda);
var derecha = profundidadMax(raiz.derecha);
if (!izquierda) {
return derecha + 1;
}
if (!derecha) {
return izquierda + 1;
}
return Math.max(izquierda, derecha) + 1;
};
let profundidadMaxima = profundidadMax(arbol);
console.log("La profundidad máxima del árbol es: ", profundidadMaxima);
.
Output:
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?