50 / \ 25 75 / \ / \ 15 27 62 79 depth = 3 total nodes = 7 max leaf nodes = 4 50 / \ 25 75 / \ / \ 15 27 62 79 _ _ _ _ 1 1 1 1 = 4en el caso de que el árbol esté lleno, se encontrará la cantidad total de nodos hoja, pero si el árbol no está lleno y solo se conoce la profundidad del árbol, ¿cómo puedo saber el máximo? nodos de hoja en ese árbol?
// if the tree is full function total_leafs_nodes(node, level, mxlevel) { if (node == null) { return 1; } if (node.left == null && node.right == null) return 1; else if (level == mxlevel) { return 1; } return (total_leafs_nodes(node.left, level + 1, mxlevel) + total_leafs_nodes(node.right, level + 1, mxlevel)); }Si hay un número máximo de nodos secundarios que cada nodo puede tener, puede aplicar lo siguiente:
Sea d igual a la profundidad, m el número máximo de nodos secundarios por nodo y n el número de nodos posibles, entonces...
n = m ^ (d - 1)