Está en la página 1de 6

Resultados de Examen parcial - Semana 4

 Las respuestas correctas estarán disponibles del 25 sep en 0:00 al 25 sep en 23:59.

Calificación para este intento: 70 de 70


Presentado 24 sep en 22:12
Este intento tuvo una duración de 5 minutos.

Pregunta 1

Formalmente, ¿qué es una cola?

Es una estructura de datos lineal que permite inserciones en un extremo y


eliminaciones por el otro extremo.

Es una estructura de datos lineal que permite inserciones y eliminaciones por el


mismo extremo.

Es una pila al revés.

Es una lista doblemente encadenada.

Es una estructura de datos lineal con apuntador a la cola.

Pregunta 2

¿Cuál es la complejidad temporal de la siguiente función?:

public voidf(List<Integer> p) {

int n=p.size();

for (int i=0; i<n; i++) {

intx=p.get(i);

if(x+x==4) System.out.println(x);
}

O(1)

O(2*n)

O( n )

Depende de cómo esté implementada la lista p.

O(n/2)

Pregunta 3

Siendo p una lista encadenada de enteros, ¿cuál de las siguientes es la


mejor opción para eliminar todos los múltiplos de tres de la lista p?:

Iterator it=p.iterator(); while (it.hasNext()) { if (it.next()/3==0) it.remove(); }

Iterator it=p.iterator(); while (it.hasNext()) { if (it.next()%3==0) it.remove(); }

Pregunta 4

¿Qué hace exactamente la segunda instrucción del siguiente programa?:

List<Integer> q=new ArrayList<Integer>(Arrays.asList(5,3,9));

q.add(2,1);

Inserta en la posición 1 de la lista q el valor 2.

Inserta al final de la lista q el valor 1.


Inserta al final de la lista q el valor 2.

Inserta al principio de la lista q el valor 1.

Inserta en la posición 2 de la lista q el valor 1.

Pregunta 5

Siendo n y m dos variables enteras no negativas, ¿cuál es el número


exacto de líneas que imprime en consola el siguiente ciclo?:

for (int i=0; i<=n; i++) {

for (int j=0; j<=m; j++) {

System.out.println(i+";"+j);

n*m + n + m + 1.

O(n*m).

n*m.

n*m + 1.

Pregunta 6

Trabajando sobre listas, ¿cuál es el propósito de los iteradores?:


Ser la única forma de eliminar los elementos de la lista que cumplen cierta
condición.

Ofrecer una forma de insertar elementos a una lista.

Ofrecer una forma de iterar un ciclo que usa listas.

Proveer una forma cómoda y eficiente de visitar todos los elementos de una lista.

Ofrecer la única forma de visitar todos los elementos de una lista.

Pregunta 7

En general, ¿qué hace la siguiente función?:

public voidf(List<Integer> p) {

Iterator<Integer> it=p.iterator();

while(it.hasNext()) {

intx=it.next();

if(x+x==4) it.remove();

No compila, porque la variable x debe ser de tipo Integer y no int.

Elimina todos los elementos de la lista.

Elimina de la lista todos los elementos iguales a 2.

Elimina de la lista todos los elementos iguales a 4.

Deja la lista intacta.


Pregunta 8

En general, en una implementación de listas con encabezado, ¿para qué sirve el


encabezado (o header)?.

Para imponerle un orden a la lista.

Para hacer posibles las implementaciones.

Para guardar el primer elemento de la lista.

Para hacer más eficientes las implementaciones.

Para hacer más fáciles de programar los métodos de la lista.

Pregunta 9

Una definición completa, clara y concisa de la técnica de Backtracking


es:

Una técnica de búsqueda por fuerza bruta que consiste en iterar sobre todas las
posibilidades hasta que se encuentre una solución adecuada al problema,
descartando en masa conjuntos de posibilidades sin haberlas construido
explícitamente, utilizando las restricciones que ofrece el problema.

Una técnica de dividir y vencer para buscar soluciones.

Una técnica de dividir y vencer para buscar cosas.

Una técnica de fuerza bruta para buscar soluciones.

Una técnica de fuerza bruta para buscar cosas.


Pregunta 10

¿Qué fórmula describe de la mejor manera la complejidad temporal del


siguiente programa?:

public static void f(long n) {

long s=0;

for (long i=2; i<=n; i=i*2) {

s+=i;

O(raíz( n )).

i=i*2.

O( n ).

O(log2( n )).

O(n*log2( n )).

Calificación de la evaluación: 70 de 70

También podría gustarte