Escriba un programa para encontrar la profundidad o altura máxima de un árbol

Dado un árbol binario, encuentra su altura. La altura del árbol vacío es -1, la altura del árbol con un Node es 0 y la altura del árbol inferior es 2.   C++ // C++ program to find height of tree #include <bits/stdc++.h> using namespace std;     /* A binary tree node has data, pointer … Continue reading «Escriba un programa para encontrar la profundidad o altura máxima de un árbol»

Predecesor de orden posterior de un Node en el árbol de búsqueda binaria

Dado un árbol binario y un Node en el árbol binario, encuentre el predecesor Postorder del Node dado.  Ejemplos:  Consider the following binary tree 20 / \ 10 26 / \ / \ 4 18 24 27 / \ 14 19 / \ 13 15 Input : 4 Output : 10 Postorder traversal of given … Continue reading «Predecesor de orden posterior de un Node en el árbol de búsqueda binaria»

Consultas para encontrar la suma de pesos de todos los Nodes con ancho vertical del rango dado en un árbol binario

Dado un árbol binario que consta de N Nodes con valores en el rango [0, N – 1] arraigados como 0 , una array wt[] de tamaño N donde wt[i] es el peso del i -ésimo Node y una array 2D Q [][] que consta de consultas del tipo {L, R} , la tarea de … Continue reading «Consultas para encontrar la suma de pesos de todos los Nodes con ancho vertical del rango dado en un árbol binario»

Encuentre la coincidencia máxima en un árbol binario dado

Dado un árbol con N Nodes valores de 1 a N y N – 1 aristas. La tarea es encontrar la coincidencia máxima en el árbol dado. Una coincidencia en un árbol es una colección de aristas tal que ningún par de aristas comparte un Node común. La coincidencia con la mayoría de los bordes … Continue reading «Encuentre la coincidencia máxima en un árbol binario dado»

Suma de Nodes hoja en cada nivel horizontal en un árbol binario

Dado un árbol binario , la tarea es encontrar la suma de los Nodes hoja en cada nivel del árbol dado . Ejemplos: Aporte: Salida: 0 0 6 30 12 Explicación: Nivel 1: sin Node de hoja, por lo que suma = 0 Nivel 2: sin Node de hoja, por lo que suma = 0 … Continue reading «Suma de Nodes hoja en cada nivel horizontal en un árbol binario»

Escribir código para determinar si dos árboles son idénticos

Dos árboles son idénticos cuando tienen los mismos datos y la disposición de los datos también es la misma. Para identificar si dos árboles son idénticos, necesitamos atravesar ambos árboles simultáneamente, y mientras lo hacemos, necesitamos comparar los datos y los hijos de los árboles.  Algoritmo:   sameTree(tree1, tree2) 1. If both trees are empty then return … Continue reading «Escribir código para determinar si dos árboles son idénticos»

Escriba un programa para eliminar un árbol

Para eliminar un árbol, debemos recorrer todos los Nodes del árbol y eliminarlos uno por uno. Entonces, ¿qué recorrido deberíamos usar: transversal en orden, transversal en preorden o transversal en postorden? La respuesta es simple. Deberíamos usar la transversal de orden posterior porque antes de eliminar el Node principal, primero debemos eliminar sus Nodes secundarios. … Continue reading «Escriba un programa para eliminar un árbol»

Recorrido de orden de nivel de Binary Tree usando Morris Traversal

Dado un árbol binario , la tarea es atravesar el árbol binario en orden de niveles . Ejemplos:   Input: 1 / \ 2 3 Output: 1 2 3 Input: 5 / \ 2 3 \ 6 Output: 5 2 3 6 Enfoque: La idea es utilizar Morris Preorder Traversal para recorrer el árbol en orden … Continue reading «Recorrido de orden de nivel de Binary Tree usando Morris Traversal»

Construya un BST a partir de un recorrido posterior al pedido usando Stack

Dado el recorrido posterior al orden de un árbol de búsqueda binario, construya el BST. Por ejemplo,  1. Si el recorrido dado es {1, 7, 5, 50, 40, 10}, entonces se debe construir el siguiente árbol y se debe devolver la raíz del árbol.   10 / \ 5 40 / \ \ 1 7 50 … Continue reading «Construya un BST a partir de un recorrido posterior al pedido usando Stack»