Problema de isomorfismo del árbol

Escribe una función para detectar si dos árboles son isomorfos. Dos árboles se denominan isomorfos si uno de ellos se puede obtener del otro mediante una serie de cambios, es decir, intercambiando los hijos izquierdo y derecho de varios Nodes. Cualquier número de Nodes en cualquier nivel puede intercambiar sus hijos. Dos árboles vacíos son … Continue reading «Problema de isomorfismo del árbol»

Convertir un árbol binario dado en una lista doblemente enlazada | Serie 1

Dado un árbol binario (Bt), conviértalo en una lista doblemente enlazada (DLL). Los punteros izquierdo y derecho en los Nodes se utilizarán como punteros anterior y siguiente, respectivamente, en la DLL convertida. El orden de los Nodes en DLL debe ser el mismo que en Inorder para el árbol binario dado. El primer Node del … Continue reading «Convertir un árbol binario dado en una lista doblemente enlazada | Serie 1»

Encuentre si hay un par en la ruta de la raíz a una hoja con una suma igual a los datos de la raíz

Dado un árbol binario, encuentre si hay un par en la ruta de la raíz a una hoja tal que la suma de los valores en el par sea igual a los datos de la raíz. Por ejemplo, en el árbol a continuación no hay pares en ninguna ruta de raíz a hoja con una … Continue reading «Encuentre si hay un par en la ruta de la raíz a una hoja con una suma igual a los datos de la raíz»

Encuentra la suma de todos los Nodes del árbol binario perfecto dado

Dado un entero positivo L que representa el número de niveles en un árbol binario perfecto. Dado que los Nodes hoja en este árbol binario perfecto se numeran del 1 al n, donde n es el número de Nodes hoja. Y el Node padre es la suma de los dos Nodes hijos. Nuestra tarea es … Continue reading «Encuentra la suma de todos los Nodes del árbol binario perfecto dado»

Encuentra las primeras hojas que no coinciden en dos árboles binarios

Dados dos árboles binarios, encuentre las primeras hojas de dos árboles que no coincidan. Si no hay hojas que no coincidan, no imprima nada. Ejemplos:  C++ // C++ program to find first leaves that are // not same. #include<bits/stdc++.h> using namespace std;   // Tree node struct Node {     int data;     Node *left,  *right; }; … Continue reading «Encuentra las primeras hojas que no coinciden en dos árboles binarios»

Convertir un BST normal a BST equilibrado

Dado un BST ( árbol de búsqueda binaria ) que puede estar desequilibrado, conviértalo en un BST equilibrado que tenga la altura mínima posible. Ejemplos:  C++ // C++ program to convert a left unbalanced BST to // a balanced BST #include <bits/stdc++.h> using namespace std;   struct Node {     int data;     Node* left,  *right; }; … Continue reading «Convertir un BST normal a BST equilibrado»

Contar árboles binarios balanceados de altura h

Dada una altura h, cuente y devuelva el máximo número posible de árboles binarios equilibrados con altura h. Un árbol binario balanceado es aquel en el que para cada Node, la diferencia entre las alturas del subárbol izquierdo y derecho no es más de 1. Ejemplos:  Input : h = 3 Output : 15 Input … Continue reading «Contar árboles binarios balanceados de altura h»

Encuentre MEX de cada subárbol en un árbol dado

Dado un árbol genérico que consta de N Nodes numerados de 0 a N – 1 que tiene su raíz en el Node 0 y una array val[] tal que el valor en cada Node está representado por val[i] , la tarea de cada Node es encontrar el valor de MEX de su subárbol. El … Continue reading «Encuentre MEX de cada subárbol en un árbol dado»

Compruebe si el árbol binario contiene un BST equilibrado de tamaño K

Dado un Árbol Binario y un entero positivo K . La tarea es verificar si el BST balanceado de tamaño K existe en un árbol binario dado o no. Si existe, imprima » Sí»; de lo contrario, imprima » No» . Ejemplos:  Input: K = 4, Below is the given Tree: 15 / \ 10 … Continue reading «Compruebe si el árbol binario contiene un BST equilibrado de tamaño K»

Cuente las rutas diagonales desde un Node hasta una hoja que consta de Nodes del mismo valor

Dado un árbol binario , la tarea es encontrar el número de caminos diagonales a la hoja de un árbol binario tal que los valores de todos los Nodes en la misma diagonal sean iguales. Ejemplos: Aporte:  5 / \ 6 5 \ \ 6 5 Salida: 2  Explicación:  Diagonal 6 – 6 y 5 … Continue reading «Cuente las rutas diagonales desde un Node hasta una hoja que consta de Nodes del mismo valor»