Colecciones multidimensionales en Java

En Java, tenemos un marco de colección que proporciona funcionalidad para almacenar un grupo de objetos. Esto se llama ArrayList unidimensional donde solo podemos tener un elemento en una fila. Geek, pero qué pasa si queremos hacer un ArrayList multidimensional, para esta funcionalidad tenemos colecciones multidimensionales (o colecciones anidadas) en Java.  Colecciones multidimensionales (o colecciones … Continue reading «Colecciones multidimensionales en Java»

¿Qué es la cola de prioridad? Introducción a la cola de prioridad

Priority Queue es un tipo de datos abstracto que es similar a una cola , y cada elemento tiene algún valor de prioridad asociado. La prioridad de los elementos en una cola de prioridad determina el orden en que se sirven los elementos (es decir, el orden en que se eliminan). Si en algún caso … Continue reading «¿Qué es la cola de prioridad? Introducción a la cola de prioridad»

Ventajas de la cola circular sobre la cola lineal

Cola lineal :una cola lineal generalmente se conoce como cola. Es unaestructura de datos linealque sigue el orden FIFO (First In First Out). Un ejemplo de la vida real de una cola es cualquier cola de clientes que esperan para comprar un producto de una tienda donde se atiende primero al cliente que llegó primero. … Continue reading «Ventajas de la cola circular sobre la cola lineal»

Encontrar grados de entrada y salida de todos los vértices en un gráfico

Dado un gráfico dirigido, la tarea es contar el grado de entrada y salida de cada vértice del gráfico. Ejemplos: Input: Output: Vertex In Out 0 1 2 1 2 1 2 2 3 3 2 2 4 2 2 5 2 2 6 2 1 Enfoque: Lista de adyacencia transversal para cada vértice, si … Continue reading «Encontrar grados de entrada y salida de todos los vértices en un gráfico»

Máxima diferencia absoluta entre distintos elementos en un Array

Dada una array arr[] de N enteros, la tarea es encontrar la máxima diferencia absoluta entre distintos elementos de la array. Ejemplos:  Entrada: arr[] = {12, 10, 9, 45, 2, 10, 10, 45, 10}  Salida: 10  Explicación:  Los distintos elementos de una array dada son 12, 9, 2.  Por lo tanto, la máxima diferencia absoluta … Continue reading «Máxima diferencia absoluta entre distintos elementos en un Array»

Problema de ruta más ancha | Aplicación práctica del Algoritmo de Dijkstra

Se recomienda encarecidamente leer primero el algoritmo de Dijkstra utilizando Priority Queue . El problema de la ruta más ancha es un problema de encontrar una ruta entre dos vértices del gráfico que maximiza el peso del borde de peso mínimo en la ruta . Vea la siguiente imagen para hacerse una idea del problema:  … Continue reading «Problema de ruta más ancha | Aplicación práctica del Algoritmo de Dijkstra»

Estructuras de datos | Recorridos de árboles | Pregunta 11

Sea LASTPOST, LASTIN y LASTPRE el último vértice visitado en un recorrido en postorden, en orden y en preorden. Respectivamente, de un árbol binario completo. ¿Cuál de las siguientes es siempre cierta? (GATE CS 2000) (A) LASTIN = LASTPOST (B) LASTIN = LASTPRE (C) LASTPRE = LASTPOST (D) Ninguna de las anteriores Respuesta: (D) Explicación: … Continue reading «Estructuras de datos | Recorridos de árboles | Pregunta 11»

Recorrido de izquierda a derecha de todos los niveles del árbol binario

Dado un árbol binario enraizado en el Node 1, la tarea es imprimir los elementos en el siguiente orden definido.  Primero, imprima todos los elementos del último nivel de una manera alternativa, por ejemplo, primero imprime el elemento más a la izquierda y luego el elemento más a la derecha y continúa así hasta que … Continue reading «Recorrido de izquierda a derecha de todos los niveles del árbol binario»

Programa recursivo para imprimir Nodes extremos de cada nivel del árbol binario en orden alternativo

Dado un árbol binario, la tarea es imprimir los Nodes de las esquinas extremas de cada nivel pero en orden alterno. Ejemplos:   Input : 1 / \ 2 3 / / \ 4 5 6 / / \ 7 8 9 Output : 1 2 6 7 Print the rightmost node at 1st level: 1 … Continue reading «Programa recursivo para imprimir Nodes extremos de cada nivel del árbol binario en orden alternativo»

Node Kth en Diagonal Traversal of Binary Tree

Dado un árbol binario y un valor K . La tarea es imprimir el k-ésimo Node en el recorrido diagonal del árbol binario. Si no existe tal Node, imprima -1. Ejemplos:   Input : 8 / \ 3 10 / / \ 1 6 14 / \ / 4 7 13 k = 5 Output : … Continue reading «Node Kth en Diagonal Traversal of Binary Tree»