Montón sesgado

Un montón sesgado (o montón autoajustable) es una estructura de datos de montón implementada como un árbol binario . Los montones sesgados son ventajosos debido a su capacidad para fusionarse más rápidamente que los montones binarios. A diferencia de los montones binarios , no hay restricciones estructurales, por lo que no hay garantía de que … Continue reading «Montón sesgado»

Árbol de boas de Van Emde | Conjunto 4 | Supresión

Se recomienda encarecidamente leer primero los artículos anteriores sobre Van Emde Boas Tree . Procedimiento para Eliminar:  Aquí asumimos que la clave ya está presente en el árbol.  Primero verificamos si solo hay una clave presente, luego asignamos el máximo y el mínimo del árbol al valor nulo para eliminar la clave. Caso base: si … Continue reading «Árbol de boas de Van Emde | Conjunto 4 | Supresión»

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 los elementos mínimos de ambos lados de modo que 2*min se convierta en más que max | conjunto 2

Dada una array no ordenada, recorte la array de modo que el doble del mínimo sea mayor que el máximo en la array recortada. Los elementos deben eliminarse de cualquier extremo de la array. El número de retiros debe ser mínimo. Ejemplos: Entrada: arr[] = {4, 5, 100, 9, 10, 11, 12, 15, 200} Salida: … Continue reading «Eliminar los elementos mínimos de ambos lados de modo que 2*min se convierta en más que max | conjunto 2»

Número de elementos menores o iguales a un número en un subarreglo: Algoritmo de MO

Dada una array arr de tamaño N y Q consultas de la forma L, R y X, la tarea es imprimir el número de elementos menores o iguales a X en el subarreglo representado por L a R. Prerrequisitos: Algoritmo de MO , Descomposición Sqrt Ejemplos:  Input: arr[] = {2, 3, 4, 5} Q = … Continue reading «Número de elementos menores o iguales a un número en un subarreglo: Algoritmo de MO»

Encuentre el triplete tal que el número de Nodes que conectan estos tripletes sea máximo

Dado un árbol con N Nodes, la tarea es encontrar un triplete de Nodes (a, b, c) tal que el número de Nodes cubiertos en la ruta que conecta estos Nodes sea el máximo. (Cuenta un Node solo una vez). Ejemplos:   Entrada: N = 4  Conjunto de aristas:  1 2  1 3  1 4  Salida: … Continue reading «Encuentre el triplete tal que el número de Nodes que conectan estos tripletes sea máximo»

Recuento de todas las substrings con suma de pesos como máximo K

Dada una string S que consiste en letras minúsculas en inglés y una string W que consiste en el peso de todos los caracteres del alfabeto inglés donde para todo i,    . Tenemos que encontrar los números totales de una substring única con una suma de pesos como máximo K. Ejemplos:   Entrada: P … Continue reading «Recuento de todas las substrings con suma de pesos como máximo K»

Programa Java para contar inversiones de tamaño tres en una array dada

Dada una array arr[] de tamaño n. Tres elementos arr[i], arr[j] y arr[k] forman una inversión de tamaño 3 si a[i] > a[j] >a[k] e i < j < k. Encuentre el número total de inversiones de tamaño 3. Ejemplo:   Input: {8, 4, 2, 1} Output: 4 The four inversions are (8,4,2), (8,4,1), (4,2,1) and … Continue reading «Programa Java para contar inversiones de tamaño tres en una array dada»

Implementando el fenómeno Rich Getting Richer usando Barabasi Albert Model en Python

Prerrequisito : Introducción a las Redes Sociales , Barabasi Albert Graph En las redes sociales, existe un fenómeno llamado Rico cada vez más rico, también conocido como Apego preferencial. En el apego preferencial, una persona que ya es rica obtiene más y más y una persona que tiene menos obtiene menos. Esto se conoce como … Continue reading «Implementando el fenómeno Rich Getting Richer usando Barabasi Albert Model en Python»

Árbol izquierdista / Montón izquierdista

Un árbol de izquierda o un montón de izquierda es una cola de prioridad implementada con una variante de un montón binario. Cada Node tiene un valor s (o rango o distancia) que es la distancia a la hoja más cercana. A diferencia de un montón binario (que siempre es un árbol binario completo ), … Continue reading «Árbol izquierdista / Montón izquierdista»