Programación B - DAM Ilerna (Examen - 3)
|
|
Título del Test:
![]() Programación B - DAM Ilerna (Examen - 3) Descripción: Preguntas de examen para la asignatura Programación B de Ilerna |



| Comentarios |
|---|
NO HAY REGISTROS |
|
Si una aplicación requiere realizar miles de búsquedas por índice por segundo pero nunca cambia el tamaño de la colección, ¿qué estructura es más eficiente?. Método genérico. LinkedList. Lista doblemente enlazada. Array. En términos de gestión de memoria, ¿cuál es la principal diferencia entre un Array y una LinkedList?. Ambos usan memoria contigua, pero la lista es más rápida. La lista solo usa memoria caché y el array memoria RAM. El array usa memoria dinámica y la lista memoria estática. El array reserva un bloque contiguo fijo, mientras que la lista usa memoria dispersa que crece dinámicamente. ¿Qué ocurre internamente cuando se declara un array como 'int[] numeros;' antes de su inicialización?. Se reservan automáticamente 10 espacios de memoria. La variable se llena con valores nulos por defecto. La variable se convierte en una lista dinámica. La variable se declara pero aún no tiene un espacio físico asignado en memoria. ¿Qué característica define la ubicación física de los datos de un array en el hardware?. Secuencia contigua de memoria. Ubicación dispersa o aleatoria. Almacenamiento en nodos enlazados. Referencia dinámica de punteros. Si tienes un array 'int[] datos = {10, 20, 30};' y ejecutas 'datos[1] = 50;', ¿cuál será el contenido final del array?. {10, 20, 30, 50}. {10, 50, 30}. {50, 20, 30}. {10, 20, 50}. En una LinkedList de Java, si necesitas eliminar el último elemento de forma eficiente, ¿qué método es el más adecuado?v. deleteEnd(). clear(last). removeLast(). pop(). ¿Por qué se dice que el acceso aleatorio es poco eficiente en una LinkedList?. Porque los nodos están en posiciones contiguas que bloquean el bus de datos. Porque requiere un acceso secuencial recorriendo la cadena nodo por nodo. Porque los nodos solo pueden almacenar tipos de datos String. Porque el lenguaje Java no permite usar índices con listas enlazadas. ¿Cuál es la función principal de los 'generics' en el ecosistema de Java?. Convertir automáticamente tipos primitivos en objetos de forma dinámica. Eliminar la necesidad de usar índices en las estructuras de datos. Aumentar la velocidad de ejecución de los bucles. Permitir que los componentes operen con diversos tipos de datos manteniendo la seguridad de tipos. Dada la declaración 'String[] nombres = new String[3];', ¿qué sucede si intentamos ejecutar 'nombres[3] = "Juan";'?. El valor sustituirá al elemento en la posición 0. Se guardará en la primera posición disponible. El array se expandirá automáticamente a tamaño 4. Se producirá un error porque el índice 3 está fuera de los límites (0 a 2). ¿Qué método de la clase LinkedList utilizarías para insertar un elemento al principio de la lista de la forma más directa?. insertStart(). addFirst(). add(0). pushFront(). ¿Qué impacto tiene el uso de genéricos en la reutilización de código frente a la creación de clases específicas para cada tipo?. Mejora el rendimiento de la CPU al eliminar el uso de variables temporales. Aumenta la cantidad de código necesario para cada tipo de dato. Reduce la duplicación de esfuerzos al permitir que una misma lógica funcione para múltiples tipos. Obliga a que todos los objetos hereden de la misma clase padre. Al definir un método genérico para intercambiar elementos en un array 'T[]', ¿dónde debe colocarse el parámetro ''?. Después del nombre del método. Dentro de los paréntesis de los argumentos. Al final de la declaración de la clase. Justo antes del tipo de retorno del método. ¿Qué letra se utiliza convencionalmente en Java como marcador de posición para un tipo genérico?. G. E. V. T. ¿Qué garantiza el compilador al utilizar estructuras genéricas?. Que los datos introducidos sean coherentes con el tipo definido, evitando errores en ejecución. Que el array cambie de tamaño automáticamente. Que el programa ocupe menos espacio en el disco duro. Que todos los elementos de la lista se conviertan a tipo String. Para crear una instancia de la clase genérica 'Caja' que almacene específicamente números decimales (Double), ¿cuál es la sintaxis correcta?. new Caja(Double) miCaja;. Caja miCaja = new Caja<>();. Caja miCaja = new Caja();. Caja miCaja = new Caja();. Si un desarrollador necesita agregar más elementos de los permitidos originalmente en un array, ¿qué debe hacer según el texto?. Crear un nuevo array con mayor capacidad y copiar los datos existentes. Utilizar el método extend() para ampliar la memoria actual. Simplemente asignar el valor al índice siguiente, Java lo gestiona automáticamente. Cambiar el índice del último elemento a un valor negativo. ¿Cuáles son las dos partes fundamentales que componen un nodo en una lista enlazada?. Índice y Valor. Clave y Atributo. Puntero inicial y Puntero final. Valor y Referencia. ¿Qué diferencia fundamental existe entre una lista enlazada simple y una doblemente enlazada?. La simple es genérica y la doble solo acepta enteros. La doble tiene referencias al nodo siguiente y al anterior, la simple solo al siguiente. La simple usa memoria contigua y la doble memoria dispersa. La doble permite almacenar el doble de datos que la simple. En Java, ¿cuál es el índice del primer elemento de un array?. -1. 1. Cualquier número entero positivo. 0. ¿Qué sucede con el último nodo de una lista enlazada simple para indicar que la estructura termina?. Su referencia apunta al primer nodo. Su referencia apunta a null. Se elimina automáticamente de la memoria. El valor del nodo se vuelve 0. En un algoritmo de verificación de paréntesis, si recibimos la cadena '( ) )', ¿qué detectará el algoritmo al procesar el tercer carácter?. Que el balanceo es correcto. Que la pila está llena. Que el carácter es inválido. Que la pila está vacía al intentar hacer un pop. ¿Por qué se utiliza una pila para gestionar las llamadas de funciones recursivas en lugar de una cola?. Porque se debe retomar la ejecución de la función más reciente (LIFO). Porque las colas no permiten el almacenamiento de estados de funciones. Porque las pilas consumen menos memoria que las colas. Porque las funciones deben ejecutarse en el orden exacto en que se llamaron (FIFO). Se tiene una cola vacía y se ejecutan: offer(1), offer(2), poll(), offer(3). ¿Qué valor devuelve peek()?. 1. 2. null. 3. Si aplicamos la secuencia de operaciones: push(A), push(B), pop(), push(C) en una pila, ¿cuál será el elemento en la cima?. B. La pila está vacía. A. C. Si transformamos un grafo de amistades de Facebook (no dirigido) en uno de seguidores de Twitter (dirigido), ¿cuál es el cambio estructural clave?. Las aristas pasan de ser relaciones simétricas a tener una dirección única. No se puede representar mediante listas de adyacencia. El número de nodos debe reducirse a la mitad. Se requiere añadir pesos a todas las conexiones. ¿Qué estructura de datos es la más adecuada para implementar el botón 'Atrás' de un navegador web?. Cola (Queue). Matriz de adyacencia. Pila (Stack). Grafo no dirigido. Para convertir el número decimal 13 a binario usando una pila, ¿en qué orden se obtendrían los restos?. 1, 1, 0, 1. 1, 1, 1, 1. 0, 1, 1, 0. 1, 0, 1, 1 (pero se leen en orden inverso tras el pop). ¿Qué clase de Java utilizarías si necesitas una cola donde el orden de salida dependa de la gravedad de un asunto y no solo del tiempo de llegada?. PriorityQueue. Stack. LinkedList. ArrayList. ¿Cómo funciona un grafo dirigido en comparación con uno no dirigido?. En el dirigido, todas las conexiones son bidireccionales. El dirigido solo puede representarse mediante listas de adyacencia. No existe diferencia funcional, solo estética. En el dirigido, las aristas tienen un sentido específico indicado por flechas. ¿Qué método de la interfaz Queue en Java se utiliza para retirar y devolver el elemento al principio de la cola?. peek(). poll(). offer(). push(). Al comparar una Matriz de Adyacencia con una Lista de Adyacencia para un grafo de 10,000 nodos y solo 50 conexiones, ¿cuál es la conclusión técnica correcta?. La matriz es mejor porque el acceso es O(1). La lista es superior porque evita desperdiciar espacio en miles de celdas vacías. La matriz es necesaria porque la lista no soporta tantos nodos. Ambas consumen la misma cantidad de memoria. En una cola, ¿por qué extremos se realizan las inserciones y las extracciones?. Inserción por la cima y extracción por la cima. Inserción por el final y extracción por el frente. Inserción por el frente y extracción por el final. Ambas operaciones se realizan por el mismo extremo. ¿Qué caracteriza a un grafo de tipo 'ponderado'?. Cada arista tiene un peso o coste asociado. Tiene un número limitado de nodos. Se implementa obligatoriamente mediante matrices. Sus conexiones son siempre bidireccionales. ¿Cuál es la principal diferencia entre las operaciones 'pop' y 'peek' en una pila?. Pop elimina el elemento superior, mientras que peek solo lo consulta. No hay diferencia, ambas devuelven el elemento superior sin alterarlo. Pop devuelve un booleano y peek devuelve el objeto. Pop añade un elemento y peek lo elimina. En el contexto de grafos, ¿cómo se denominan las conexiones que unen a los nodos?. Vértices. Aristas. Celdas. Punteros. ¿Cuál es el principio fundamental que rige el funcionamiento de una pila (stack)?. FILO (First In, Last Out). LILO (Last In, Last Out). FIFO (First In, First Out). LIFO (Last In, First Out). ¿Qué ventaja principal ofrece la lista de adyacencia frente a la matriz de adyacencia?. Ahorra memoria en grafos dispersos con pocas conexiones. Es más sencilla de implementar con matrices bidimensionales. Es más rápida para verificar si dos nodos están conectados. Permite representar solo grafos ponderados. ¿Cuál es el propósito del método isEmpty() en las estructuras lineales?. Verificar si la estructura contiene elementos antes de intentar extraer uno. Contar cuántos elementos hay en total. Borrar todos los elementos de la estructura. Reiniciar el tamaño de la memoria asignada. ¿De qué clase de Java hereda directamente la clase Stack?. ArrayList. LinkedList. Collection. Vector. Si quieres representar una red de carreteras donde el tiempo de viaje varía entre ciudades, ¿qué tipo de grafo es el más preciso?. Grafo ponderado. Grafo no ponderado. Pila de adyacencia. Cola de prioridades. |




