Вы находитесь на странице: 1из 10

7/6/2020 Examen final - Semana 8: RA/SEGUNDO BLOQUE-ANALISIS Y VERIFICACION DE ALGORITMOS-[GRUPO1]

Examen final - Semana 8

Fecha de entrega 7 de jul en 23:55 Puntos 120 Preguntas 10


Disponible 4 de jul en 0:00 - 7 de jul en 23:55 4 días Límite de tiempo 90 minutos
Intentos permitidos 2

Instrucciones

https://poli.instructure.com/courses/13149/quizzes/46726 1/10
7/6/2020 Examen final - Semana 8: RA/SEGUNDO BLOQUE-ANALISIS Y VERIFICACION DE ALGORITMOS-[GRUPO1]

Volver a realizar el examen

Historial de intentos

Intento Hora Puntaje

https://poli.instructure.com/courses/13149/quizzes/46726 2/10
7/6/2020 Examen final - Semana 8: RA/SEGUNDO BLOQUE-ANALISIS Y VERIFICACION DE ALGORITMOS-[GRUPO1]

Intento Hora Puntaje


MÁS RECIENTE Intento 1 53 minutos 120 de 120

 Las respuestas correctas estarán disponibles del 8 de jul en 23:55 al 9 de jul en 23:55.

Puntaje para este intento: 120 de 120


Entregado el 6 de jul en 13:56
Este intento tuvo una duración de 53 minutos.

Pregunta 1 12 / 12 pts

Observe el grafo a continuación:

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

A-B-H-I

No existe una ruta del nodo A al nodo I.

A-D-E-I

A-D-E-G-I

A-C-D-E-I

https://poli.instructure.com/courses/13149/quizzes/46726 3/10
7/6/2020 Examen final - Semana 8: RA/SEGUNDO BLOQUE-ANALISIS Y VERIFICACION DE ALGORITMOS-[GRUPO1]

Pregunta 2 12 / 12 pts

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;

swapped = true;

}while(swapped);

La complejidad en mejor caso del anterior algoritmo es:

ϴ(n^2)

ϴ(n^3)

ϴ(n^log(n))

https://poli.instructure.com/courses/13149/quizzes/46726 4/10
7/6/2020 Examen final - Semana 8: RA/SEGUNDO BLOQUE-ANALISIS Y VERIFICACION DE ALGORITMOS-[GRUPO1]

ϴ(2^n)

ϴ(n)

Pregunta 3 12 / 12 pts

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

False

True

Pregunta 4 12 / 12 pts

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

Transformar soluciones iterativas en recursivas

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

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

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

Transformar soluciones recursivas en iterativas

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


óptima

https://poli.instructure.com/courses/13149/quizzes/46726 5/10
7/6/2020 Examen final - Semana 8: RA/SEGUNDO BLOQUE-ANALISIS Y VERIFICACION DE ALGORITMOS-[GRUPO1]

Pregunta 5 12 / 12 pts

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).

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

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]

mG(i, 0) = 0, para: i en [0,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/13149/quizzes/46726 6/10
7/6/2020 Examen final - Semana 8: RA/SEGUNDO BLOQUE-ANALISIS Y VERIFICACION DE ALGORITMOS-[GRUPO1]

Pregunta 6 12 / 12 pts

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


Teoría de Grafos que soluciona:

Kruskal Árbol de Expansión Mini

Prim Árbol de Expansión Mini

Dijkstra Ruta más corta

A* Ruta más corta

Floyd-Warshal
Ruta más corta

Ford-Fulkerson Flujo máximo

Bellman-Ford Ruta más corta

Pregunta 7 12 / 12 pts

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


y Vencer?

Ordenamiento por mezcla

Algoritmo de Karatsuba

https://poli.instructure.com/courses/13149/quizzes/46726 7/10
7/6/2020 Examen final - Semana 8: RA/SEGUNDO BLOQUE-ANALISIS Y VERIFICACION DE ALGORITMOS-[GRUPO1]

Algoritmo de Strassen

Algoritmo de Ford-Fulkerson

Ordenamiento por inserción

Algoritmo de Dijkstra

Pregunta 8 12 / 12 pts

Teorema Maestro De acuerdo al teorema maestro, la función T(n) =


3T(n/2) + n es:

Θ(n^2)

Θ(nlog3(2)) (log3 es la función “logaritmo en base 3”)

Θ(n^(3/2))

Θ(nlog2(3)) (log2 es la función “logaritmo en base 2”)

Pregunta 9 12 / 12 pts

Observe el grafo a continuación:

https://poli.instructure.com/courses/13149/quizzes/46726 8/10
7/6/2020 Examen final - Semana 8: RA/SEGUNDO BLOQUE-ANALISIS Y VERIFICACION DE ALGORITMOS-[GRUPO1]

Indique si es verdadera o falsa la siguiente afirmación:

"Existen dos rutas óptimas (de menor costo) diferentes del nodo A al
nodo H."

False

True

Pregunta 10 12 / 12 pts

La programación dinámica es una técnica bastante amplia para atacar


problemas, que usualmente implican maximización.
¿Cuáles de las siguientes afirmaciones acerca de la programación
dinámica son verdaderas?

Es una solución polinomial a problemas NP-completos

Su implementación es usualmente recursiva.

Se llama dinámica porque necesita grupos dinámicos de programación

https://poli.instructure.com/courses/13149/quizzes/46726 9/10
7/6/2020 Examen final - Semana 8: RA/SEGUNDO BLOQUE-ANALISIS Y VERIFICACION DE ALGORITMOS-[GRUPO1]

Se atacan problemas partiendo de los más sencillos a los más complejos

Al igual que en dividir y vencer, se parte un problema grande en


problemas pequeños.

Es usual necesitar memoria adicional para almacenar las soluciones.

Usualmente parte de una definición recursiva

Su implementación es usualmente iterativa

Puntaje del examen: 120 de 120

https://poli.instructure.com/courses/13149/quizzes/46726 10/10

Вам также может понравиться