Árbol de búsqueda binaria | Conjunto 3 (eliminación iterativa)

Dado un árbol de búsqueda binaria y un Node del árbol de búsqueda binaria, la tarea es eliminar el Node del árbol de búsqueda binaria de forma iterativa. Estos son los tres casos que surgen al realizar una operación de eliminación en un BST:  1. Caso 1: el Node a eliminar es un Node hoja. … Continue reading «Árbol de búsqueda binaria | Conjunto 3 (eliminación iterativa)»

Conteo de pares que violan la propiedad BST

Dado un árbol binario y una cantidad de Nodes en el árbol, la tarea es encontrar la cantidad de pares que violan la propiedad BST . Binary Search Tree es una estructura de datos de árbol binario basada en Nodes que tiene las siguientes propiedades:  El subárbol izquierdo de un Node contiene solo Nodes con … Continue reading «Conteo de pares que violan la propiedad BST»

Cree un BST balanceado usando vector en C++ STL

Dado un vector arr no ordenado , la tarea es crear un árbol de búsqueda binario balanceado usando los elementos del arreglo. Nota: Puede haber más de un BST balanceado. Formar cualquiera es aceptable Ejemplos:   Entrada: arr[] = { 2, 1, 3} Salida: 2 1 3 Explicación: El árbol formado se muestra a continuación. … Continue reading «Cree un BST balanceado usando vector en C++ STL»

Árbol rojo-negro | Juego 2 (insertar)

En la publicación anterior , discutimos la introducción a Red-Black Trees. En este post, se discute la inserción. En la inserción del árbol AVL , usamos la rotación como una herramienta para equilibrar después de la inserción. En el árbol rojo-negro, usamos dos herramientas para equilibrar.  Recolorear Rotación Recolorear es el cambio de color del … Continue reading «Árbol rojo-negro | Juego 2 (insertar)»

Implementación del iterador de avance en BST

Dado un árbol de búsqueda binario, la tarea es implementar un iterador hacia adelante con las siguientes funciones.  curr(): devuelve el puntero al elemento actual. next(): itera hasta el siguiente elemento más pequeño 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 «Implementación del iterador de avance en BST»

Contar inversiones en una array | Conjunto 2 (usando BST de autoequilibrio)

El conteo de inversión para una array indica qué tan lejos (o cerca) está la array de ser ordenada. Si una array ya está ordenada, el recuento de inversión es 0. Si una array se ordena en orden inverso, el recuento de inversión es el máximo. Dos elementos a[i] y a[j] forman una inversión si a[i] … Continue reading «Contar inversiones en una array | Conjunto 2 (usando BST de autoequilibrio)»

Amazon entrevista Experiencia | Set 140 (Experimentado para SDE)

Hola, Recientemente tuve entrevistas con Amazon. 1ra Ronda (Telefónica): 1. Dada una array de enteros y un número constante X, imprima todos los pares de números en la array cuyo producto sea igual a X. Seguimiento: ¿cómo le irá en O(n)? ¿Cómo manejará los pares duplicados? Se requiere código en collabedit. 2. Preguntó si conozco … Continue reading «Amazon entrevista Experiencia | Set 140 (Experimentado para SDE)»

Imprimir claves BST en un rango dado | O(1) Espacio

Dados dos valores n1 y n2 (donde n1 < n2) y un puntero raíz a un árbol de búsqueda binario. Imprime todas las claves del árbol en el rango n1 a n2. es decir, imprime todos los Nodes n tales que n1<=n<=n2 yn es una clave de BST dada. Imprime todas las claves en orden … Continue reading «Imprimir claves BST en un rango dado | O(1) Espacio»

Encuentre el elemento más cercano en el árbol de búsqueda binaria – Part 1

Dado un árbol de búsqueda binario y un Node objetivo K. La tarea es encontrar el Node con la diferencia mínima absoluta con el valor objetivo dado K.    C++ // Recursive C++ program to find key closest to k // in given Binary Search Tree. #include<bits/stdc++.h> using namespace std;   /* A binary tree … Continue reading «Encuentre el elemento más cercano en el árbol de búsqueda binaria – Part 1»

Imprimir Nodes comunes en dos árboles de búsqueda binarios

Dados dos árboles de búsqueda binarios, encuentre Nodes comunes en ellos. En otras palabras, encuentre la intersección de dos BST. Ejemplo: Método 1 (Solución simple) Una forma simple es buscar uno por uno todos los Nodes del primer árbol en el segundo árbol. La complejidad temporal de esta solución es O(m * h) donde m … Continue reading «Imprimir Nodes comunes en dos árboles de búsqueda binarios»