Árbol rojo-negro | Serie 1 (Introducción)

Introducción: Un árbol rojo-negro es una especie de árbol de búsqueda binario autoequilibrado en el que cada Node tiene un bit adicional, y ese bit a menudo se interpreta como el color (rojo o negro). Estos colores se utilizan para garantizar que el árbol permanezca equilibrado durante las inserciones y eliminaciones. Aunque el equilibrio del … Continue reading «Árbol rojo-negro | Serie 1 (Introducción)»

Subarreglo más largo con solo un valor mayor que k

Dado un arreglo de N números, encuentre la longitud del subarreglo más largo tal que K sea el segundo elemento más grande en la inserción. Ejemplos:   Entrada: a[] = {9, 5, 5, 6, 8}, K = 7  Salida: 4  El subarreglo más largo es {9, 5, 5, 6}, en el que si se inserta K se … Continue reading «Subarreglo más largo con solo un valor mayor que k»

Producto máximo de una subsecuencia creciente de tamaño 3

Dada una array de enteros positivos distintos, la tarea es encontrar el producto máximo de una subsecuencia creciente de tamaño 3, es decir, necesitamos encontrar arr[i]*arr[j]*arr[k] tal que arr[i] < arr[j] < arr[k] y yo < j < k < n  Ejemplos:  C++ // C++ program to find maximum product of an increasing // subsequence … Continue reading «Producto máximo de una subsecuencia creciente de tamaño 3»

Descripción general de las estructuras de datos | Conjunto 2 (Árbol binario, BST, Heap y Hash)

Hemos discutido la descripción general de Array, Linked List, Queue y Stack . En este artículo se analizan las siguientes estructuras de datos.  5. Árbol binario  6. Árbol de búsqueda  binaria 7. Montón binario  9. Hashing  Árbol binario  A diferencia de las arrays, las listas vinculadas, la pila y las colas, que son estructuras de … Continue reading «Descripción general de las estructuras de datos | Conjunto 2 (Árbol binario, BST, Heap y Hash)»

Valor mínimo posible de |ai + aj – k| para una array dada y k.

Se le da una array de n enteros y un entero K. Encuentre el número total de pares no ordenados {i, j} tales que el valor absoluto de (ai + aj – K), es decir, |ai + aj – k| es mínimo posible donde i != j. Ejemplos:   Input : arr[] = {0, 4, 6, … Continue reading «Valor mínimo posible de |ai + aj – k| para una array dada y k.»

Compruebe si un árbol binario dado tiene una altura equilibrada como un árbol rojo-negro

En un árbol rojo-negro , la altura máxima de un Node es como máximo el doble de la altura mínima ( las cuatro propiedades del árbol rojo-negro aseguran que esto siempre se cumpla). Dado un árbol de búsqueda binario, debemos verificar la siguiente propiedad.  Para cada Node, la longitud del camino más largo de hoja … Continue reading «Compruebe si un árbol binario dado tiene una altura equilibrada como un árbol rojo-negro»

Número mínimo de Nodes en un árbol AVL con una altura dada

Dada la altura de un árbol AVL ‘h’, la tarea es encontrar el número mínimo de Nodes que puede tener el árbol. Ejemplos:  Input : H = 0 Output : N = 1 Only ‘1’ node is possible if the height of the tree is ‘0’ which is the root node. Input : H = … Continue reading «Número mínimo de Nodes en un árbol AVL con una altura dada»

Ordenar una array según la diferencia absoluta con el valor dado

Dada una array de n elementos distintos y un número x, organice los elementos de la array de acuerdo con la diferencia absoluta con x, es decir, un elemento que tenga una diferencia mínima aparece primero, y así sucesivamente. Nota: si dos o más elementos están a la misma distancia, organícelos en la misma secuencia que … Continue reading «Ordenar una array según la diferencia absoluta con el valor dado»

Árbol negro rojo inclinado a la izquierda (inserción)

Prerrequisitos: árboles rojos y negros. Un árbol rojo y negro inclinado a la izquierda o (LLRB) , es una variante del árbol rojo y negro, que es mucho más fácil de implementar que el propio árbol rojo y negro y garantiza todas las operaciones de búsqueda, eliminación e inserción en tiempo O (logn). ¿Qué Nodes … Continue reading «Árbol negro rojo inclinado a la izquierda (inserción)»

Ventajas de BST sobre Hash Table

Hash Table admite las siguientes operaciones en tiempo Θ(1). 1) Buscar 2) Insertar 3) Eliminar La complejidad temporal de las operaciones anteriores en un árbol de búsqueda binaria (BST) autoequilibrado (como el árbol rojo-negro , el árbol AVL , el árbol Splay , etc.) es O (Iniciar sesión). Entonces Hash Table parece vencer a BST … Continue reading «Ventajas de BST sobre Hash Table»