Construcción del árbol de sufijos de Ukkonen – Parte 4

Este artículo es la continuación de los siguientes tres artículos: Construcción del árbol de sufijos de Ukkonen – Parte 1 Construcción del árbol de sufijos de Ukkonen – Parte 2 Construcción del árbol de sufijos de Ukkonen – Parte 3 Consulte la Parte 1 , la Parte 2 y la Parte 3 antes de ver … Continue reading «Construcción del árbol de sufijos de Ukkonen – Parte 4»

¿Cómo diseñar una URL pequeña o un acortador de URL?

Cómo diseñar un sistema que tome direcciones URL grandes como «https://www.geeksforgeeks.org/count-sum-of-digits-in-numbers-from-1-to-n/» y las convierta en un carácter corto de 6 URL Se da que las URL se almacenan en la base de datos y cada URL tiene una identificación de número entero asociada.  Una cosa importante a tener en cuenta es que la URL larga … Continue reading «¿Cómo diseñar una URL pequeña o un acortador de URL?»

Subarreglo más largo con GCD mayor que 1

Dado un arreglo arr[] que consta de N enteros, la tarea es encontrar la longitud máxima del subarreglo que tiene el Máximo Común Divisor (MCD) de todos los elementos mayores que 1 . Ejemplos: Entrada: arr[] = {4, 3, 2, 2} Salida: 2 Explicación: Considere el subarreglo {2, 2} que tiene GCD como 2(> 1) … Continue reading «Subarreglo más largo con GCD mayor que 1»

Árbol de segmento bidimensional | Suma de subarray

Dada una array rectangular M[0…n-1][0…m-1] , y se solicitan consultas para encontrar la suma / mínimo / máximo en algunos sub-rectángulos M[a…b][e…f] , como así como consultas para la modificación de elementos de array individuales (es decir , M[x] [y] = p ). También podemos responder consultas de subarrays utilizando el árbol indexado binario bidimensional … Continue reading «Árbol de segmento bidimensional | Suma de subarray»

Consultas de elementos que tienen valores dentro del rango A a B en el rango de índice dado usando Segment Tree

Dada una array arr[] de N elementos y dos números enteros A a B , la tarea es responder Q consultas, cada una de las cuales tiene dos números enteros L y R. Para cada consulta, la tarea es encontrar el número de elementos en el subarreglo arr[L…R] que se encuentra dentro del rango A … Continue reading «Consultas de elementos que tienen valores dentro del rango A a B en el rango de índice dado usando Segment Tree»

Reorganizar los números en una array de manera que no haya dos números adyacentes iguales

Dada una array de enteros. La tarea es reorganizar los elementos de la array de manera que no haya dos elementos adyacentes iguales en la array. Ejemplos:   Input: arr[] = {1, 1, 1, 2, 2, 2} Output: {2, 1, 2, 1, 2, 1} Input: arr[] = {1, 1, 1, 1, 2, 2, 3, 3} Output: … Continue reading «Reorganizar los números en una array de manera que no haya dos números adyacentes iguales»

Eliminar los bordes conectados a un Node de modo que los tres Nodes dados estén en árboles diferentes

Dado un árbol binario y 3 Nodes a, b y c, la tarea es encontrar un Node en el árbol tal que después de eliminar todo el borde conectado a ese Node, a, b y c estén en tres árboles diferentes. A continuación se muestra un árbol con Nodes de entrada como c, j y … Continue reading «Eliminar los bordes conectados a un Node de modo que los tres Nodes dados estén en árboles diferentes»

Dada una secuencia de palabras, imprime todos los anagramas juntos | conjunto 2

Dada una serie de palabras, imprima todos los anagramas juntos. Por ejemplo, si la array dada es {“gato”, “perro”, “tac”, “dios”, “acto”}, entonces la salida puede ser “gato tac acto perro dios”. Hemos discutido dos métodos diferentes en la publicación anterior . En esta publicación, se discute una solución más eficiente. Trie estructura de datos … Continue reading «Dada una secuencia de palabras, imprime todos los anagramas juntos | conjunto 2»

Conectividad Dinámica | Conjunto 1 (incremental)

La conectividad dinámica es una estructura de datos que mantiene dinámicamente la información sobre los componentes conectados del gráfico. En palabras simples, supongamos que hay un gráfico G(V, E) en el que no. de vértices V es constante pero no. de aristas E es variable. Hay tres formas en las que podemos cambiar el número … Continue reading «Conectividad Dinámica | Conjunto 1 (incremental)»

Árbol dimensional K | Conjunto 1 (Buscar e Insertar)

Un árbol KD (también llamado árbol K-dimensional) es un árbol de búsqueda binaria donde los datos en cada Node son un punto K-dimensional en el espacio. En resumen, es una estructura de datos de partición de espacio (detalles a continuación) para organizar puntos en un espacio K-Dimensional. Un Node que no es una hoja en … Continue reading «Árbol dimensional K | Conjunto 1 (Buscar e Insertar)»