Conversión de árbol binario a árbol de búsqueda binario usando el conjunto STL

Dado un árbol binario, conviértalo en un árbol de búsqueda binario . La conversión debe hacerse de forma que se mantenga la estructura original del Árbol Binario. Esta solución utilizará conjuntos de C++ STL en lugar de una solución basada en arrays. Ejemplos:  Example 1 Input: 10 / \ 2 7 / \ 8 4 … Continue reading «Conversión de árbol binario a árbol de búsqueda binario usando el conjunto STL»

Experiencia de entrevista OLA | conjunto 12

Ronda 1:  Ronda de codificación en línea de Hackerearth.  Ronda 2: (1 h 15 min)  Vista izquierda de un árbol binario  Explicar la búsqueda binaria y su complejidad.  ¿Cómo funciona un mapa hash? ¿Cuál es la diferencia entre un mapa hash y una array?  Dado un gráfico acíclico y una función f(x) que devuelven el … Continue reading «Experiencia de entrevista OLA | conjunto 12»

Implementando iterador hacia atrás en BST

Dado un árbol de búsqueda binario, la tarea es implementar un iterador hacia atrás con las siguientes funciones.  curr(): devuelve el puntero al elemento actual. prev(): itera hasta el elemento más grande anterior en el árbol de búsqueda binaria. isEnd(): devuelve verdadero si no queda ningún Node para atravesar, de lo contrario, es falso. El … Continue reading «Implementando iterador hacia atrás en BST»

Construir árbol a partir de array de antepasados

Dada una array de antepasados ​​mat[n][n] donde la array de antepasados ​​se define como se muestra a continuación.  mat[i][j] = 1 if i is ancestor of j mat[i][j] = 0, otherwise Construya un árbol binario a partir de una array de ancestro dada donde todos sus valores de Nodes sean de 0 a n-1. Se … Continue reading «Construir árbol a partir de array de antepasados»

Subárboles formados después de reventar Nodes

Se le da un árbol n-ario con una propiedad especial :  si rompemos un Node aleatorio del árbol, este Node junto con sus padres inmediatos hasta la raíz se desvanece. El árbol tiene N Nodes y los Nodes están numerados del 1 al N. La raíz siempre está en 1. Dada una secuencia de consultas … Continue reading «Subárboles formados después de reventar Nodes»

Suma de todos los elementos del árbol N-ario

Dado un árbol N-ario, encuentre la suma de todos los elementos en él.  C++ // C++ program to find sum of all // elements in generic tree #include <bits/stdc++.h> using namespace std;    // Represents a node of an n-ary tree struct Node {     int key;     vector<Node*> child; };    // Utility function to create … Continue reading «Suma de todos los elementos del árbol N-ario»

Encuentre el hermano correcto de un árbol binario con punteros principales

Dado un árbol binario con punteros principales, encuentre el hermano correcto de un Node dado (se dará el puntero al Node), si no existe, devuelva nulo. ¿Hacerlo en O(1) espacio y O(n) tiempo? Ejemplos:  1 / \ 2 3 / \ \ 4 6 5 / \ \ 7 9 8 / \ 10 12 … Continue reading «Encuentre el hermano correcto de un árbol binario con punteros principales»

Vista inferior de un árbol binario

Dado un árbol binario, necesitamos imprimir la vista inferior de izquierda a derecha. Un Node x está allí en la salida si x es el Node más bajo en su distancia horizontal. La distancia horizontal del hijo izquierdo de un Node x es igual a una distancia horizontal de x menos 1, y la de … Continue reading «Vista inferior de un árbol binario»

Dado un árbol binario, imprima todos sus caminos de raíz a hoja, uno por línea.

Dadas las raíces de un árbol. imprima todas sus rutas de raíz a hoja, una por línea.  Algoritmo: initialize: pathlen = 0, path[1000] /*1000 is some max limit for paths, it can change*/ /*printPathsRecur traverses nodes of tree in preorder */ printPathsRecur(tree, path[], pathlen) 1) If node is not NULL then a) push data to … Continue reading «Dado un árbol binario, imprima todos sus caminos de raíz a hoja, uno por línea.»