Descomposición centroide del árbol

Antecedentes: ¿Qué es el centroide del árbol?  El centroide de un árbol es un Node que, si se elimina del árbol, lo dividiría en un «bosque», de modo que cualquier árbol del bosque tendría como máximo la mitad del número de vértices del árbol original. Supongamos que hay n Nodes en el árbol. El ‘tamaño … Continue reading «Descomposición centroide del árbol»

Segundo elemento mínimo usando comparaciones mínimas

Dada una array de enteros, encuentre el elemento mínimo (o máximo) y el elemento mayor (o menor) que eso en menos de 2n comparaciones. La array dada no está necesariamente ordenada. Se permite espacio adicional. Ejemplos: Input: {3, 6, 100, 9, 10, 12, 7, -1, 10} Output: Minimum: -1, Second minimum: 3 Ya hemos discutido … Continue reading «Segundo elemento mínimo usando comparaciones mínimas»

área rectangular más grande en un histograma | Serie 1

Encuentre el área rectangular más grande posible en un histograma dado donde el rectángulo más grande puede estar formado por varias barras contiguas. Para simplificar, suponga que todas las barras tienen el mismo ancho y el ancho es 1 unidad.  Por ejemplo, considere el siguiente histograma con 7 barras de alturas {6, 2, 5, 4, … Continue reading «área rectangular más grande en un histograma | Serie 1»

Manipulación de imágenes usando Quadtrees

Los quadtrees son un método eficaz para almacenar y localizar datos de puntos en un plano bidimensional. Otro uso efectivo de quadtrees es en el campo de la manipulación de imágenes. A diferencia del almacenamiento de puntos, en la manipulación de imágenes obtenemos un quadtree completo con los Nodes hoja que consisten en píxeles individuales … Continue reading «Manipulación de imágenes usando Quadtrees»

Consultas para actualizar un índice dado y encontrar gcd en el rango

Dada una array arr[] de N enteros y consultas Q . Las consultas son de dos tipos:  Actualice un índice dado por X . Encuentre el gcd de los elementos en el rango de índice [L, R] . Ejemplos:   Entrada: arr[] = {1, 3, 6, 9, 9, 11}  Consulta de tipo 2: L = 1, … Continue reading «Consultas para actualizar un índice dado y encontrar gcd en el rango»

Recuento de números distintos en una array en un rango para consultas en línea utilizando el árbol de ordenación de combinación

Dada una array arr[] de tamaño N y Q consultas de la forma [L, R], la tarea es encontrar el número de valores distintos en esta array en el rango dado. Ejemplos: Entrada: arr[] = {4, 1, 9, 1, 3, 3}, Q = {{1, 3}, {1, 5}} Salida: 3 4 Explicación: Para consulta {1, 3}, … Continue reading «Recuento de números distintos en una array en un rango para consultas en línea utilizando el árbol de ordenación de combinación»

String más larga en una array que coincide con el prefijo de la string dada

Dada una array de strings arr[] y consultas Q donde cada consulta consta de una string str , la tarea es encontrar la string más larga en la array que coincida con el prefijo de la string dada str , es decir, la string debe ser el prefijo de str . Ejemplos: Entrada: arr[] = … Continue reading «String más larga en una array que coincide con el prefijo de la string dada»

Par de strings que tienen el prefijo común más largo de longitud máxima en una array dada

Dada una array de strings arr[] , la tarea es encontrar el par de strings de la array dada cuya longitud del prefijo común más largo entre ellas es máxima. Si existen varias soluciones, imprima cualquiera de ellas. Ejemplos: Entrada: arr[] = {“geeksforgeeks”, “geeks”, “geeksforcse”, }  Salida: (geeksforgeeks, geeksforcse)  Explicación:  Todos los pares posibles y … Continue reading «Par de strings que tienen el prefijo común más largo de longitud máxima en una array dada»

Enstringmiento de tablas hash con listas doblemente enlazadas

Requisito previo: Introducción al hash , Hashtable usando una lista enlazada individualmente e implementando nuestra propia tabla hash con enstringmiento separado en Java Implementar una tabla hash usando enstringmiento a través de una lista doblemente enlazada es similar a implementar Hashtable usando una lista enlazada individualmente . La única diferencia es que cada Node de … Continue reading «Enstringmiento de tablas hash con listas doblemente enlazadas»

Árbol de segmentos | (XOR de un rango dado)

Consideremos el siguiente problema para comprender los árboles de segmentos. Tenemos una array arr[0 . . . n-1]. Deberíamos poder  1 Encontrar el xor de los elementos del índice l a r donde 0 <= l <= r <= n-1. 2 Cambiar el valor de un elemento específico de la array a un nuevo valor … Continue reading «Árbol de segmentos | (XOR de un rango dado)»