Enfoque iterativo para verificar si un árbol binario es BST o no

Dado un árbol binario , la tarea es verificar si el árbol binario dado es un árbol de búsqueda binaria o no. Si se encuentra que es cierto, escriba «SÍ» . De lo contrario, escriba «NO» . Ejemplos: Aporte:  9 / \ 6 10 / \ \ 4 7 11 / \ \ 3 5 … Continue reading «Enfoque iterativo para verificar si un árbol binario es BST o no»

Á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)»

Implementación de AVL Tree usando gráficos en C++

Los árboles AVL son árboles de búsqueda binarios autoequilibrados donde la diferencia entre las alturas de los subárboles izquierdo y derecho no puede ser más de uno para todos los Nodes. A continuación se muestra el ejemplo del árbol AVL: En este artículo, implementaremos el concepto de AVL Tree usando gráficos en C ++. Como … Continue reading «Implementación de AVL Tree usando gráficos en C++»

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»

Colocación de Sudo[1.4] | BST transversal

N elementos dados que se insertarán en el árbol de búsqueda binaria. La tarea es construir un árbol de búsqueda binaria con solo la operación de inserción y finalmente imprimir los elementos en el recorrido posterior al pedido. El BST se construye según el orden de llegada de los elementos. Ejemplos:  Input: N elements = … Continue reading «Colocación de Sudo[1.4] | BST transversal»

Cómo insertar strings en un árbol AVL

AVL Tree es un árbol de búsqueda binaria (BST) autoequilibrado donde la diferencia entre las alturas de los subárboles izquierdo y derecho no puede ser más de uno para todos los Nodes. Ejemplos: El árbol anterior es AVL porque las diferencias entre las alturas de los subárboles izquierdo y derecho para cada Node son menores … Continue reading «Cómo insertar strings en un árbol AVL»

Implementación de conjuntos sin contenedores STL de C++

Un Conjunto es una colección de elementos distintos. Los elementos no se pueden modificar una vez agregados. Hay varias operaciones asociadas con conjuntos, como unión, intersección, conjunto de potencia, producto cartesiano, diferencia de conjunto, complemento e igualdad. Métodos de conjunto:  add(data) – Agrega ‘datos’ al conjunto unionSet(s) – Devuelve la unión del conjunto con el … Continue reading «Implementación de conjuntos sin contenedores STL de C++»

Cree una array de ondas a partir del árbol de búsqueda binaria dado

Dado un árbol de búsqueda binario , la tarea es crear una array de ondas a partir del árbol de búsqueda binario dado. Una array arr[0..n-1] se denomina array de ondas si arr[0] >= arr[1] <= arr[2] >= arr[3] <= arr[4] >= … Ejemplos: Aporte: Salida: 4 2 8 6 12 10 14 Explicación: La … Continue reading «Cree una array de ondas a partir del árbol de búsqueda binaria dado»

Consultas de rango de strings para contar el número de caracteres distintos con actualizaciones

Dada una string S de longitud N, y Q consultas del siguiente tipo: Tipo 1: 1 i X Actualiza el i-ésimo carácter de la string con el carácter dado, X. Tipo 2: LR Cuenta el número de caracteres distintos en el rango dado [L, R]. Restricción: 1<=N<=500000 1<=Q<20000 |S|=N La string S contiene solo letras … Continue reading «Consultas de rango de strings para contar el número de caracteres distintos con actualizaciones»

Aplane un árbol de búsqueda binaria para convertir el árbol en una lista de ondas solo en su lugar

Dado un árbol de búsqueda binaria que consta de N Nodes distintos, la tarea es aplanar el árbol de búsqueda binaria dado para convertir el árbol en una lista de ondas. Una lista de ondas arr[0..n-1] se denomina lista de ondas si arr[0] >= arr[1] <= arr[2] >= arr[3] <= arr[4] >= … . Ejemplos: … Continue reading «Aplane un árbol de búsqueda binaria para convertir el árbol en una lista de ondas solo en su lugar»