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»

¿Qué es la programación competitiva y cómo prepararse para ella?

Programación… Programación Competitiva… ¿Te enseña a pensar? . Si eres programador, es posible que hayas entendido el significado profundo de estas líneas citadas por Steve Jobs y también hayas experimentado que, incluso después de apagar tu computadora, sigues pensando en cosas de programación o código que has escrito en tu proyecto. Una vez que ingresa … Continue reading «¿Qué es la programación competitiva y cómo prepararse para ella?»

Diferencia entre tipo de datos y estructura de datos.

Tipo de datos Un tipo de datos es la clasificación de datos más básica y común. Es a través de este que el compilador conoce la forma o el tipo de información que se utilizará a lo largo del código. Entonces, básicamente, el tipo de datos es un tipo de información transmitida entre el programador … Continue reading «Diferencia entre tipo de datos y estructura de datos.»

Cola de pares en C++ STL con ejemplos

Las colas en STL son un tipo de adaptadores de contenedores que operan en un tipo de arreglo de primero en entrar, primero en salir (FIFO) donde los elementos se insertan en la parte posterior (extremo) y se eliminan desde el frente. La cola de pares puede ser muy eficiente en el diseño de estructuras … Continue reading «Cola de pares en C++ STL con ejemplos»

Diferencia entre el árbol de expansión mínimo y la ruta más corta

Árbol de expansión : Un árbol de expansión (T) de un grafo no dirigido (G) es un subgrafo que es un árbol que incluye todos los vértices de un grafo (G) y el número mínimo de aristas necesarias para conectar el grafo (G) . Y es un conjunto máximo conocido de aristas sin ciclos. Propiedades: … Continue reading «Diferencia entre el árbol de expansión mínimo y la ruta más corta»

Hashing de strings usando la función hash rodante polinomial

Función hash Una función Hash es una función que asigna cualquier tipo de datos de tamaño arbitrario a valores de tamaño fijo. Los valores devueltos por la función se denominan valores hash o resúmenes. Hay muchas funciones hash populares como DJBX33A, MD5 y SHA-256. Esta publicación discutirá las características clave, la implementación, las ventajas y … Continue reading «Hashing de strings usando la función hash rodante polinomial»

Menos ancestro común de cualquier número de Nodes en el árbol binario

Dado un árbol binario (no un árbol de búsqueda binario) y cualquier número de Nodes clave, la tarea es encontrar el ancestro menos común de todos los Nodes clave.  La siguiente es la definición de LCA de Wikipedia :  Sea T un árbol enraizado. El ancestro común más bajo entre dos Nodes n1 y n2 … Continue reading «Menos ancestro común de cualquier número de Nodes en el árbol binario»

Cómo asignar dinámicamente una array 3D en C++

Prerrequisito: Array Basics En C / C++ , arreglos multidimensionales en palabras simples como un arreglo de arreglos. Los datos en arrays multidimensionales se almacenan en forma tabular (en orden de fila principal). A continuación se muestra la forma general de declarar arrays N-dimensionales : Sintaxis de una array multidimensional : tipo_datos nombre_array[tamaño1][tamaño2]….[tamañoN]; data_type: tipo … Continue reading «Cómo asignar dinámicamente una array 3D en C++»

Unión de conjuntos disjuntos extendidos en árboles

Prerrequisitos: DFS , Trees , DSU Dado un árbol con N Nodes desde el valor 1 hasta N y E bordes y array arr[] que denota el número asociado a cada Node. También recibe consultas Q que contienen 2 enteros {V, F} . Para cada consulta, hay un subárbol con vértice V , la tarea … Continue reading «Unión de conjuntos disjuntos extendidos en árboles»

Encuentra el elemento que falta en una array ordenada de números consecutivos

Dada una array arr[] de n enteros distintos. Los elementos se colocan secuencialmente en orden ascendente y falta un elemento. La tarea es encontrar el elemento que falta. Ejemplos:   Entrada: arr[] = {1, 2, 4, 5, 6, 7, 8, 9}  Salida: 3 Entrada: arr[] = {-4, -3, -1, 0, 1, 2}  Salida: -2 Entrada: arr[] … Continue reading «Encuentra el elemento que falta en una array ordenada de números consecutivos»