¿Qué debo aprender primero: estructuras de datos o algoritmos?

La estructura de datos y los algoritmos son una parte integral de la informática. Todos los entusiastas, en algún momento, aprenden estos dos temas importantes. Son temas diferentes pero muy interrelacionados. Esta interrelación saca a relucir la gran pregunta que debe responderse: “ ¿Qué debo aprender primero: estructuras de datos o algoritmos? ”  ¿Qué debo … Continue reading «¿Qué debo aprender primero: estructuras de datos o algoritmos?»

Programa C++ para maximizar el recuento de los mismos elementos correspondientes en permutaciones dadas usando rotaciones cíclicas

Dadas dos permutaciones P1 y P2 de números de 1 a N , la tarea es encontrar el recuento máximo de los mismos elementos correspondientes en las permutaciones dadas realizando un desplazamiento cíclico hacia la izquierda o hacia la derecha en P1 . Ejemplos:  Entrada: P1 = [5 4 3 2 1], P2 = [1 2 … Continue reading «Programa C++ para maximizar el recuento de los mismos elementos correspondientes en permutaciones dadas usando rotaciones cíclicas»

Estructuras de datos estáticas y dinámicas en Java con ejemplos

La estructura de datos es una forma de almacenar y organizar datos de manera eficiente, de modo que las operaciones requeridas en ellos se puedan realizar de manera eficiente con respecto al tiempo y la memoria. Simplemente, la estructura de datos se usa para reducir la complejidad (principalmente la complejidad del tiempo) del código. Las … Continue reading «Estructuras de datos estáticas y dinámicas en Java con ejemplos»

¿Cuáles son las diferencias entre los algoritmos de Bellman Ford y Dijkstra?

Algoritmo de Bellman Ford  Al igual que otros problemas de programación dinámica , el algoritmo calcula las rutas más cortas de forma ascendente. Primero calcula las distancias más cortas que tienen como máximo un borde en la ruta. Luego, calcula los caminos más cortos con 2 aristas como máximo, y así sucesivamente. Después de la … Continue reading «¿Cuáles son las diferencias entre los algoritmos de Bellman Ford y Dijkstra?»

Clasificación de conteo

  La clasificación por conteo es una técnica de clasificación basada en claves entre un rango específico. Funciona contando la cantidad de objetos que tienen valores clave distintos (tipo de hashing). Luego haga algo de aritmética para calcular la posición de cada objeto en la secuencia de salida.  Características del tipo de conteo: La ordenación … Continue reading «Clasificación de conteo»

Prioridad de programación de CPU con diferente tiempo de llegada – Conjunto 2 – Part 1

Requisito previo: programa para programación prioritaria: conjunto 1 La programación prioritaria es un algoritmo no preventivo y uno de los algoritmos de programación más comunes en los sistemas por lotes. A cada proceso se le asigna la primera hora de llegada (menos el proceso de hora de llegada primero) si dos procesos tienen la misma … Continue reading «Prioridad de programación de CPU con diferente tiempo de llegada – Conjunto 2 – Part 1»

Esquema de aproximación de tiempo polinomial

Es un hecho muy conocido que no existe una solución de tiempo polinomial conocida para problemas NP completos y estos problemas ocurren mucho en el mundo real (ver this , this y this por ejemplo). Así que debe haber una manera de manejarlos. Hemos visto algoritmos para estos problemas que son p aproximados (por ejemplo, … Continue reading «Esquema de aproximación de tiempo polinomial»

Diseña un juego de ajedrez

Declaración del problema : El problema es diseñar un juego de ajedrez utilizando principios orientados a objetos. Preguntado en: Adobe, Amazon, Microsoft, etc. Solución: este tipo de preguntas se hacen en entrevistas para juzgar la habilidad de Diseño Orientado a Objetos de un candidato. Entonces, antes que nada, debemos pensar en las clases. Las principales … Continue reading «Diseña un juego de ajedrez»

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»