Vous êtes sur la page 1sur 10

11/5/2019 Examen final - Semana 8: RA/ANALISIS Y VERIFICACION DE ALGORITMOS-[Grupo1]

Examen final - Semana 8

Fecha límite 14 de mayo en 23:55 Puntos 120 Preguntas 10


Disponible 11 de mayo en 0:00-14 de mayo en 23:55 4 días Tiempo límite 90 minutos
Intentos permitidos 2

Instrucciones

https://poli.instructure.com/courses/9268/quizzes/34941 1/10
11/5/2019 Examen final - Semana 8: RA/ANALISIS Y VERIFICACION DE ALGORITMOS-[Grupo1]

Historial de intentos

Intento Tiempo Puntaje


MANTENER Intento 2 8 minutos 120 de 120

ÚLTIMO Intento 2 8 minutos 120 de 120

https://poli.instructure.com/courses/9268/quizzes/34941 2/10
11/5/2019 Examen final - Semana 8: RA/ANALISIS Y VERIFICACION DE ALGORITMOS-[Grupo1]

Intento Tiempo Puntaje


Intento 1 21 minutos 108 de 120

Calificación para este intento: 120 de 120


Presentado 11 de mayo en 9:09
Este intento tuvo una duración de 8 minutos.

Pregunta 1 12 / 12 ptos.

Es cierto afirmar que la programación dinámica busca:

¡Correcto! Reducir la complejidad en tiempo de una solución recursiva.

Utilizar algoritmos Avaros (Greedy) para obtener una solución cercana a la


óptima

¡Correcto! Atacar los problemas de más sencillos a más complejos.

Atacar los problemas de más complejos a más sencillos

¡Correcto! Transformar soluciones recursivas en iterativas

Transformar soluciones iterativas en recursivas

Pregunta 2 12 / 12 ptos.

Juan tiene n canciones en formato MP3 en su computador. Los tamaños


de las canciones, en bytes, son d_1, d_2, d_3, ..., d_n. Juan quiere copiar
algunas de sus canciones a un CD de 600 MB de manera tal que se
desperdicie la menor cantidad posible de espacio en él. No es posible
copiar una canción parcialmente, esto es, una canción se copia al disco
completa o no se copia.

¿Qué canciones debe copiar Juan?


https://poli.instructure.com/courses/9268/quizzes/34941 3/10
11/5/2019 Examen final - Semana 8: RA/ANALISIS Y VERIFICACION DE ALGORITMOS-[Grupo1]

El anterior problema es una adaptación del problema:

Búsqueda en un arreglo ordenado

Distancia de edición (distancia de Levenshtein)

¡Correcto!
Del morral (knapsack)

Subsecuencia creciente más larga (LIS)

Búsqueda ternaria

Pregunta 3 12 / 12 ptos.

Un algoritmo ϴ(n) es en general más eficiente que un algoritmo ϴ(n^2).

¡Correcto!
True

False

Pregunta 4 12 / 12 ptos.

Para cada uno de los siguientes algoritmos, seleccione el problema en


Teoría de Grafos que soluciona:

¡Correcto! Kruskal Árbol de Expansión Mini

¡Correcto! Prim Árbol de Expansión Mini

https://poli.instructure.com/courses/9268/quizzes/34941 4/10
11/5/2019 Examen final - Semana 8: RA/ANALISIS Y VERIFICACION DE ALGORITMOS-[Grupo1]

¡Correcto! Dijkstra Ruta más corta

¡Correcto! A* Ruta más corta

¡Correcto! Floyd-Warshal Ruta más corta

¡Correcto! Ford-Fulkerson Flujo máximo

¡Correcto! Bellman-Ford Ruta más corta

Otras opciones de coincidencia incorrecta:


Cubrimiento de Vértices
Camino Euleriano
Camino Hamiltoniano
k-Colorabilidad

Pregunta 5 12 / 12 ptos.

public static void bubbleSort(int[] a){

boolean swapped;

do{

swapped = false;

for (int i = 1; i < a.length; i++) {

if (a[i-1] > a[i]){

int temp = a[i-1];

a[i-1] = a[i];

a[i] = temp;
https://poli.instructure.com/courses/9268/quizzes/34941 5/10
11/5/2019 Examen final - Semana 8: RA/ANALISIS Y VERIFICACION DE ALGORITMOS-[Grupo1]

swapped = true;

}while(swapped);

La complejidad en peor caso del anterior algoritmo es:

ϴ(n^log(n))

ϴ(n^3)

ϴ(2^n)

¡Correcto!
ϴ(n^2)

ϴ(n)

Pregunta 6 12 / 12 ptos.

public static void bubbleSort(int[] a){

boolean swapped;

do{

swapped = false;

for (int i = 1; i < a.length; i++) {

if (a[i-1] > a[i]){

int temp = a[i-1];

a[i-1] = a[i];

https://poli.instructure.com/courses/9268/quizzes/34941 6/10
11/5/2019 Examen final - Semana 8: RA/ANALISIS Y VERIFICACION DE ALGORITMOS-[Grupo1]

a[i] = temp;

swapped = true;

}while(swapped);

La complejidad en caso promedio (cualquier permutación de a es


igualmente probable) del anterior algoritmo es:

ϴ(n)

ϴ(2^n)

ϴ(n^log(n))

ϴ(n^3)

¡Correcto!
ϴ(n^2)

Pregunta 7 12 / 12 ptos.

¿Cuáles de los siguientes algoritmos están basados en la técnica Dividir


y Vencer?

¡Correcto! Algoritmo de Karatsuba

Ordenamiento por inserción

¡Correcto! Ordenamiento por mezcla

¡Correcto!
Algoritmo de Strassen

https://poli.instructure.com/courses/9268/quizzes/34941 7/10
11/5/2019 Examen final - Semana 8: RA/ANALISIS Y VERIFICACION DE ALGORITMOS-[Grupo1]

Algoritmo de Dijkstra

Algoritmo de Ford-Fulkerson

Pregunta 8 12 / 12 ptos.

Observe el grafo a continuación:

La ruta de menor costo del nodo A al nodo I es:

¡Correcto!
A-D-E-I

A-C-D-E-I

A-B-H-I

A-D-E-G-I

No existe una ruta del nodo A al nodo I.

https://poli.instructure.com/courses/9268/quizzes/34941 8/10
11/5/2019 Examen final - Semana 8: RA/ANALISIS Y VERIFICACION DE ALGORITMOS-[Grupo1]

Pregunta 9 12 / 12 ptos.

Problema de la mochila.

Juanita está regresando de viaje desde Miami, y ha comprado un montón


de artículos (chucherías) que quiere vender cuando llegue a Colombia.
Sin embargo al confirmar su tiquete le advierten que puede llevar un
máximo peso W sin pagar sobreequipaje. ¿Cuáles artículos debe llevar?
Usted va a ayudar a Juanita con un algoritmo de programación dinámica,
y para esto guarda el peso de los artículos en un arreglo P[0..n-1] y sus
respectivas ganancias en un arreglo G[0..n-1].
Además define la siguiente función recursiva mG:

mG(w, i): la máxima ganancia que Juanita puede llevar sin pasarse del
límite de peso w, usando los artículos 0, 1, ... i

Tenga en cuenta que Juanita sólo tiene uno de cada artículo.


¿Cuáles de las afirmaciones a continuación son verdaderas? (Seleccione
todas las respuestas válidas).

¡Correcto! La función cumple la relación de recurrencia:


mG(w, i) = max( G[i] + mG( w - P[i], i-1), mG( w, i -1 ) )
para i en [1, n-1], w en [1,W]

La función cumple la relación de recurrencia:


mG( w, i) = max( P[i] + mG( w - G[i], i-1), mG( w, i -1 ) )
para i en [1, n-1], w en [1,W]

¡Correcto!
La solución S es: S = mG(W, n-1)

mG(0 , w) = 0, para w en [1,W]

La función cumple la relación de recurrencia


mG( w, i) = max( mG( w - P[i], i-1), mG( w, i -1 ) )
para i en [1,n-1], w en [1,W]

https://poli.instructure.com/courses/9268/quizzes/34941 9/10
11/5/2019 Examen final - Semana 8: RA/ANALISIS Y VERIFICACION DE ALGORITMOS-[Grupo1]

¡Correcto! mG(i, 0) = 0, para: i en [0,n-1]

Pregunta 10 12 / 12 ptos.

Si T(n) = 8(T(n/2)) + n2, entonces T(n) = θ(n3)

False

¡Correcto! True

Calificación de la evaluación: 120 de 120

https://poli.instructure.com/courses/9268/quizzes/34941 10/10