Algoritmo de Prim (implementación simple para representación de array de adyacencia)

Hemos discutido el algoritmo de Prim y su implementación para la representación de gráficos de array de adyacencia . Como se discutió en la publicación anterior, en el algoritmo de Prim , se mantienen dos conjuntos, un conjunto contiene una lista de vértices ya incluidos en MST, otro conjunto contiene vértices aún no incluidos. En cada … Continue reading «Algoritmo de Prim (implementación simple para representación de array de adyacencia)»

Algoritmos de programación de disco FCFS

Requisito previo: algoritmos de programación de discos. Dada una array de números de pista de disco y la posición inicial del encabezado, nuestra tarea es encontrar el número total de operaciones de búsqueda realizadas para acceder a todas las pistas solicitadas si se utiliza el algoritmo de programación de disco First Come First Serve (FCFS) … Continue reading «Algoritmos de programación de disco FCFS»

Algoritmo Expectimax en teoría de juegos

El algoritmo de búsqueda Expectimax es un algoritmo de teoría de juegos utilizado para maximizar la utilidad esperada. Es una variación del algoritmo Minimax . Mientras que Minimax asume que el adversario (el minimizador) juega de manera óptima, Expectimax no lo hace. Esto es útil para modelar entornos donde los agentes adversarios no son óptimos … Continue reading «Algoritmo Expectimax en teoría de juegos»

Encuentre una permutación de 2N números tal que el resultado de la expresión dada sea exactamente 2K

Dados dos números enteros N y K , la tarea es encontrar una permutación de los primeros 2*N números naturales tal que se satisfaga la siguiente ecuación. Nota: El valor de K siempre será menor o igual que N. Ejemplos:   Input : N = 1, K = 0 Output : 1 2 The result of the … Continue reading «Encuentre una permutación de 2N números tal que el resultado de la expresión dada sea exactamente 2K»

Compruebe si el artículo se puede medir con una balanza y algunos pesos

Dados unos pesos de masas a 0 , a 1 , a 2 , …, a 100 , siendo a un número entero, y una balanza donde se pueden poner pesos a ambos lados de la balanza. Verifique si un artículo en particular de peso W se puede medir usando estos pesos y escala.  Restricciones: … Continue reading «Compruebe si el artículo se puede medir con una balanza y algunos pesos»

Método de adivinar y confirmar

La idea básica detrás de este método es adivinar la respuesta y luego demostrar que es correcta por inducción. Este método se puede utilizar para resolver cualquier recurrencia. Si se adivina una solución y luego se intenta verificar nuestra suposición de manera inductiva, por lo general, la prueba tendrá éxito (en ese caso hemos terminado) … Continue reading «Método de adivinar y confirmar»

Particionamiento de tres vías utilizando el algoritmo de clasificación nacional holandés (versión de cambio de caja) en Java

Dada una lista de arreglos arr y valores lowVal y highVal . La tarea es dividir la array alrededor del rango de modo que la lista de arrays se divida en tres partes. 1) Todos los elementos más pequeños que lowVal van primero. 2) Todos los elementos en el rango lowVal a highVVal vienen a … Continue reading «Particionamiento de tres vías utilizando el algoritmo de clasificación nacional holandés (versión de cambio de caja) en Java»

Suma de la diferencia mínima entre elementos consecutivos de una array

Dada una array de pares donde cada par representa un rango, la tarea es encontrar la suma de la diferencia mínima entre los elementos consecutivos de una array donde la array se llena de la siguiente manera:  Cada elemento de una array se encuentra en el rango dado en su índice correspondiente en la array … Continue reading «Suma de la diferencia mínima entre elementos consecutivos de una array»

Cuente las permutaciones que primero disminuyen y luego aumentan.

Dado un número entero N , calcule el número de permutaciones de A = [1, 2, …, N] que primero disminuyen y luego aumentan. Ejemplos:   Entrada: N = 5  Salida: 14 Las siguientes son las subsecuencias que primero disminuyen y luego aumentan:  [2, 1, 3, 4, 5], [3, 1, 2, 4, 5], [4, 1 , 2, … Continue reading «Cuente las permutaciones que primero disminuyen y luego aumentan.»

¿Qué son las funciones hash y cómo elegir una buena función hash?

Requisito previo: hashing | Serie 1 (Introducción)  ¿Qué es una función hash?  Una función que convierte un número de teléfono grande dado en un pequeño valor entero práctico. El valor entero asignado se utiliza como índice en la tabla hash. En términos simples, una función hash asigna un número grande o una string a un … Continue reading «¿Qué son las funciones hash y cómo elegir una buena función hash?»