Vous êtes sur la page 1sur 9

Examen final - Semana 8: RA/SEGUNDO BLOQUE-ANALISIS Y VERIFICACION DE ALGORITMOS-[GRUPO1] 17/12/18, 4)18 p. m.

Examen final - Semana 8


Fecha límite 17 de dic en 23:59 Puntos 120 Preguntas 10
Disponible 14 de dic en 0:00-17 de dic en 23:59 4 días Tiempo límite 90 minutos
Intentos permitidos 2

Volver a realizar la evaluación

Historial de intentos
Intento Tiempo Puntaje
ÚLTIMO Intento 1 52 minutos 74.48 de 120

! Las respuestas correctas estarán disponibles del 18 de dic en 0:00 al 18 de dic en 23:59.

Calificación para este intento: 74.48 de 120


Presentado 17 de dic en 14:57
Este intento tuvo una duración de 52 minutos.

Incorrecto Pregunta 1 0 / 12 ptos.

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

True

False

Incorrecto Pregunta 2 0 / 12 ptos.

https://poli.instructure.com/courses/5709/quizzes/23499?headless=1 Página 1 de 9
Examen final - Semana 8: RA/SEGUNDO BLOQUE-ANALISIS Y VERIFICACION DE ALGORITMOS-[GRUPO1] 17/12/18, 4)18 p. m.

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

Usualmente parte de una definición recursiva

Su implementación es usualmente recursiva.

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

Su implementación es usualmente iterativa

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.

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

Aunque la programación dinámica plantea algoritmos polinomiales,


en los casos de problemas NP completos la solución es Pseudo-
Polinomial.

Pregunta 3 12 / 12 ptos.

https://poli.instructure.com/courses/5709/quizzes/23499?headless=1 Página 2 de 9
Examen final - Semana 8: RA/SEGUNDO BLOQUE-ANALISIS Y VERIFICACION DE ALGORITMOS-[GRUPO1] 17/12/18, 4)18 p. m.

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 peor caso del anterior algoritmo es:

ϴ(n^3)

ϴ(n^2)

ϴ(2^n)

ϴ(n)

ϴ(n^log(n))

https://poli.instructure.com/courses/5709/quizzes/23499?headless=1 Página 3 de 9
Examen final - Semana 8: RA/SEGUNDO BLOQUE-ANALISIS Y VERIFICACION DE ALGORITMOS-[GRUPO1] 17/12/18, 4)18 p. m.

Pregunta 4 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?

El anterior problema es una adaptación del problema:

Distancia de edición (distancia de Levenshtein)

Búsqueda ternaria

Subsecuencia creciente más larga (LIS)

Búsqueda en un arreglo ordenado

Del morral (knapsack)

Parcial Pregunta 5 8 / 12 ptos.

¿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/5709/quizzes/23499?headless=1 Página 4 de 9
Examen final - Semana 8: RA/SEGUNDO BLOQUE-ANALISIS Y VERIFICACION DE ALGORITMOS-[GRUPO1] 17/12/18, 4)18 p. m.

Algoritmo de Ford-Fulkerson

Algoritmo de Strassen

Algoritmo de Dijkstra

Ordenamiento por inserción

Parcial Pregunta 6 1.33 / 12 ptos.

Observe el grafo a continuación:

Ejecute el algoritmo de Dijkstra sobre el grafo, partiendo del nodo A y


complete las distancias mínimas a cada nodo.

A 0

https://poli.instructure.com/courses/5709/quizzes/23499?headless=1 Página 5 de 9
Examen final - Semana 8: RA/SEGUNDO BLOQUE-ANALISIS Y VERIFICACION DE ALGORITMOS-[GRUPO1] 17/12/18, 4)18 p. m.

Pregunta 7 12 / 12 ptos.

Los algoritmos de Dijkstra y Prim son ejemplos de algoritmos:

Ineficientes

de Programación Dinámica

Dividir y Vencer

De Ordenamiento

https://poli.instructure.com/courses/5709/quizzes/23499?headless=1 Página 6 de 9
Examen final - Semana 8: RA/SEGUNDO BLOQUE-ANALISIS Y VERIFICACION DE ALGORITMOS-[GRUPO1] 17/12/18, 4)18 p. m.

Voraces

Parcial Pregunta 8 5.14 / 12 ptos.

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


Teoría de Grafos que soluciona:

Kruskal Árbol de Expansión Minimal

Prim Árbol de Expansión Minimal

Dijkstra Ruta más corta

A* Flujo máximo

Floyd-Warshal Camino Euleriano

Ford-Fulkerson k-Colorabilidad

Bellman-Ford Cubrimiento de Vér!ces

Pregunta 9 12 / 12 ptos.

https://poli.instructure.com/courses/5709/quizzes/23499?headless=1 Página 7 de 9
Examen final - Semana 8: RA/SEGUNDO BLOQUE-ANALISIS Y VERIFICACION DE ALGORITMOS-[GRUPO1] 17/12/18, 4)18 p. m.

Observe el grafo a continuación:

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

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

True

False

Pregunta 10 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]){

https://poli.instructure.com/courses/5709/quizzes/23499?headless=1 Página 8 de 9
Examen final - Semana 8: RA/SEGUNDO BLOQUE-ANALISIS Y VERIFICACION DE ALGORITMOS-[GRUPO1] 17/12/18, 4)18 p. m.

int temp = a[i-1];

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

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)

ϴ(n^log(n))

ϴ(2^n)

ϴ(n^3)

ϴ(n^2)

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

https://poli.instructure.com/courses/5709/quizzes/23499?headless=1 Página 9 de 9

Vous aimerez peut-être aussi