Colocación de Sudo[1.4] | Saltando el subárbol

Dado un árbol de búsqueda binario de n Nodes con valores distintos. También se dan consultas Q. Cada consulta consta de un valor de Node que debe buscarse en el BST y omitir el subárbol que tiene el Node como raíz. Si el Node proporcionado es la propia raíz, imprima «Vacío» sin comillas. Después de … Continue reading «Colocación de Sudo[1.4] | Saltando el subárbol»

Contar elementos que dividen todos los números en el rango LR

Dados N números y Q consultas, cada consulta consta de L y R. La tarea es escribir un programa que imprima el recuento de números que divide todos los números en el rango dado LR. Ejemplos:   Input : a = {3, 4, 2, 2, 4, 6} Q = 2 L = 1 R = 4 L … Continue reading «Contar elementos que dividen todos los números en el rango LR»

Ancho máximo de un árbol binario

Dado un árbol binario, escriba una función para obtener el ancho máximo del árbol dado. El ancho de un árbol es el máximo de anchos de todos los niveles.  Consideremos el siguiente árbol de ejemplo.   C++ // C++ program to calculate width of binary tree #include <bits/stdc++.h> using namespace std;   /* A binary tree … Continue reading «Ancho máximo de un árbol binario»

Descomposición Sqrt (o Raíz Cuadrada) | Conjunto 2 (LCA de Tree in O(sqrt(height)) tiempo)

Requisito previo: Introducción y DFS La tarea es encontrar LCA de dos Nodes dados en un árbol (no necesariamente un árbol binario). En publicaciones anteriores, hemos visto cómo calcular LCA utilizando el enfoque Sparse Matrix DP . En esta publicación, veremos una optimización realizada en el método Naive mediante la técnica de descomposición sqrt que … Continue reading «Descomposición Sqrt (o Raíz Cuadrada) | Conjunto 2 (LCA de Tree in O(sqrt(height)) tiempo)»

Reemplace cada Node en el árbol binario con la suma de su predecesor y sucesor en orden

Dado un árbol binario que contiene n Nodes. El problema es reemplazar cada Node en el árbol binario con la suma de su predecesor en orden y su sucesor en orden. Ejemplos:  Input : 1 / \ 2 3 / \ / \ 4 5 6 7 Output : 11 / \ 9 13 / … Continue reading «Reemplace cada Node en el árbol binario con la suma de su predecesor y sucesor en orden»

Rellenar sucesor en orden para todos los Nodes

Dado un árbol binario donde cada Node tiene la siguiente estructura, escriba una función para completar el siguiente puntero para todos los Nodes. El próximo puntero para cada Node debe configurarse para que apunte al sucesor en orden. C++ class node { public:     int data;     node* left;     node* right;     node* next; };   // This … Continue reading «Rellenar sucesor en orden para todos los Nodes»

Secuencia consecutiva más larga en el árbol binario

Dado un árbol binario, encuentre la longitud de la ruta más larga que se compone de Nodes con valores consecutivos en orden creciente. Cada Node se considera como un camino de longitud 1. Ejemplos:   In below diagram binary tree with longest consecutive path(LCP) are shown : C++ // C/C++ program to find longest consecutive // … Continue reading «Secuencia consecutiva más larga en el árbol binario»

Codificación sucinta del árbol binario

Una codificación sucinta de Binary Tree ocupa casi el mínimo espacio posible. El número de árboles binarios estructuralmente diferentes en n Nodes es el n’ésimo número catalán . Para n grande, esto es alrededor de 4 n ; por lo tanto, necesitamos al menos log 2 4 n = 2n bits para codificarlo. Por lo … Continue reading «Codificación sucinta del árbol binario»