Suma de (elemento máximo – elemento mínimo) para todos los subconjuntos de una array.

Dada una array arr[] , la tarea es calcular la suma de (max{A} – min{A}) para cada subconjunto A no vacío de la array arr[]. Ejemplos:   Entrada: arr[] = { 4, 7 }  Salida: 3 Hay tres subconjuntos no vacíos: { 4 }, { 7 } y { 4, 7 }. máx({4}) – mín({4}) = 0  … Continue reading «Suma de (elemento máximo – elemento mínimo) para todos los subconjuntos de una array.»

Implementando Generic Graph en Java

Prerrequisito: Clase Genérica  También podemos usarlos para codificar Graph en Java . La clase Graph se implementa usando HashMap en Java . Como sabemos que HashMap contiene una clave y un valor, representamos los Nodes como claves y su lista de adyacencia en valores en el gráfico. Ilustración: un gráfico no dirigido y no ponderado … Continue reading «Implementando Generic Graph en Java»

Eliminar todos los Nodes no primarios de una lista vinculada individualmente

Dada una lista enlazada individualmente que contiene N Nodes, la tarea es eliminar todos los Nodes de la lista que no son primos. Ejemplos:   Entrada: Lista = 15 -> 16 -> 6 -> 7 -> 17  Salida: Lista final = 7 -> 17 Entrada: Lista = 15 -> 3 -> 4 -> 2 -> 9  … Continue reading «Eliminar todos los Nodes no primarios de una lista vinculada individualmente»

Estructuras de datos | Lista vinculada | Pregunta 1 – Part 5

¿Qué hace la siguiente función para una lista enlazada dada con el primer Node como encabezado ? void fun1(struct node* head) { if(head == NULL) return; fun1(head->next); printf(«%d «, head->data); } (A) Imprime todos los Nodes de las listas enlazadas (B) Imprime todos los Nodes de la lista enlazada en orden inverso (C) Imprime los … Continue reading «Estructuras de datos | Lista vinculada | Pregunta 1 – Part 5»

Dividir N segmentos en dos grupos no vacíos de modo que se cumpla la condición dada

Dados N segmentos (o rangos) representados por dos números enteros no negativos L y R . Divida estos segmentos en dos grupos no vacíos de modo que no haya dos segmentos de diferentes grupos que compartan un punto común. Si es posible, asigne a cada segmento un número del conjunto {1, 2}; de lo contrario, … Continue reading «Dividir N segmentos en dos grupos no vacíos de modo que se cumpla la condición dada»

Producto de todos los Nodes en un árbol binario

Dado un árbol binario . La tarea es escribir un programa para encontrar el producto de todos los Nodes del árbol binario dado.  En el árbol binario anterior,  Producto = 15*10*8*12*20*16*25 = 115200000  La idea es recursivamente:  Encuentre el producto del subárbol izquierdo. Encuentre el producto del subárbol derecho. Multiplique el producto de los subárboles … Continue reading «Producto de todos los Nodes en un árbol binario»

Cuente los subarreglos con una suma distinta de cero en el Array dado

Dada una array arr[] de tamaño N, la tarea es contar el número total de subarreglos para la array dada arr[] que tienen una suma distinta de cero. Ejemplos: Entrada: arr[] = {-2, 2, -3}  Salida: 4  Explicación:  Los subarreglos con suma distinta de cero son: [-2], [2], [2, -3], [-3]. Todos los subarreglos posibles … Continue reading «Cuente los subarreglos con una suma distinta de cero en el Array dado»

Encuentre el k-ésimo elemento en la serie generada por los N rangos dados

Dados N rangos no superpuestos L[] y R[] donde cada rango comienza después de que finaliza el rango anterior, es decir , L[i] > R[i – 1] para todos los i válidos . La tarea es encontrar el K -ésimo elemento en la serie que se forma después de ordenar todos los elementos en todos … Continue reading «Encuentre el k-ésimo elemento en la serie generada por los N rangos dados»

XOR de elementos en un rango dado con actualizaciones usando Fenwick Tree

Dada una array A[] de enteros y una array Q que consta de consultas de los siguientes dos tipos: (1, L, R) : Devuelve XOR de todos los elementos presentes entre los índices L y R . (2, I, val) : actualice A[I] a A[I] XOR val . La tarea es resolver cada consulta e … Continue reading «XOR de elementos en un rango dado con actualizaciones usando Fenwick Tree»

Eliminar todos los Nodes de la lista doblemente enlazada que sean mayores que un valor dado

Dada una lista doblemente enlazada que contiene N Nodes y un número X, la tarea es eliminar todos los Nodes de la lista que son mayores que el valor dado X. Ejemplos:   Entrada: 10 8 4 11 9, X = 9  Salida: 8 4 9  Explicación:   10 y 11 son mayores que 9. Entonces, … Continue reading «Eliminar todos los Nodes de la lista doblemente enlazada que sean mayores que un valor dado»