Está en la página 1de 2

Examen 1 ProgNoNum2

Parte 1: (6pts)

1. Dado un grafo dirigido, indicar que se conoce como ciclo.


2. Diferencia entre grado interior y grado exterior de un dígrafo.
3. Si tengo un árbol binario casi completo que tiene n° 12 elementos representados en él y
tiene un profundidad de 4. Señalar cuantos nodos hacen falta para que el árbol binario sea
completo. Razone su respuesta.
4. Se tienen 2 algoritmos que resuelven el mismo problema, se les hizo un análisis a priori y
arrojaron el mismo resultado, que podríamos concluir de la eficiencia de los algoritmos.
5. ¿Cuál es el objetivo del análisis a priori?
6. Diferencia entre nodo interno y nodo externo, en la representación del algoritmo de
BUSQUEDA BINARIA.

Parte 2: (4pts)

Indique cual es el orden de magnitud de cada uno de los algoritmos que se representan a
continuación:

1. Extraer un elemento de una cola de prioridad. ( )


2. Construir una cola de prioridad. ( )
3. Caso promedio de una búsqueda NO exitosa en una búsqueda binaria. ( )
4. Clasificación en forma descendente de un HEAPSORT. ( )

Parte 3: (20pts)

1) Dado el vector original A = (50,15,80,20,65,40,5,30,90,12) se pide:


a) Generar el árbol con los parámetros manejados al ejecutar el procedimiento
MaximoMinimo2, como se hizo en clase, señalando como se van obteniendo los
valores. (3pts)
b) Construya un MINHEAP con los valores del vector A, con el algoritmo más eficiente
para su construcción dado en clase. (5pts).
c) Aplique un HEAPSORT para ordenar el vector A original, de manera descendente.
(5pts)
d) Dado el arreglo A = (10,12,35,50,85,48,40,90,80,30) ejecute la instrucción
INSERTAR(A,10) como se hizo en clase y al final se debe mostrar como quedo el
arreglo. (3pts)
2) Dado el vector PADRE = (5,3,-3,1,-5,9,-4,10,-2,7,3,5,1,10) se pide aplicar la siguiente
frecuencia de instrucciones, aplicando las reglas de la BALANZA y COLAPSAMIENTO,
indicando las trasformaciones que se le hagan al arreglo PADRE.
a) Unión (5,7) b) k = Encontrar (8) c) Unión (k ,3) d) k = Encontrar(14) (4pts)
Examen 1 ProgNoNum2

1. Dado el vector A = (60,40,90,10,15,85,100,33,25,70)


a) Genere el árbol con el vector A, como se hizo en clase, que refleje las llamadas
recursivas al procedimiento MAXIMOMINIMO2, indicando como se van obteniendo
los resultados. (3pts)
b) Ordene descendentemente el vector A. (6pts)
2. Dado el vector A = (5,20,40,30,25,18,33,2) ejecute la instrucción INSERTAR(A,8) (3pts)
3. Considerando la regla de la Balanza y la regla del Colapsamiento y los distintos conjuntos
disjuntos representados en el vector PADRE = (7,8,4,-4,8,11,-3,6,10,3,-5,7), se pide que se
ejecute la siguiente secuencia de instrucciones, reflejando al finalizar cada una, como
quedaría dicho vector, el cual serviría de entrada para la siguiente instrucción. UNION (4,7)
k:= Encontrar(9), UNION (k,11), Encontrar(8) (4pts)
4. Explique claro y brevemente: a) Cuantas comparaciones a lo sumo entre elementos, en
caso de una búsqueda exitosa, realiza el algoritmo BUSQUEDABINARIA. b) Si tengo un
árbol binario completo con 15 elementos ¿Cuál es a profundidad del árbol? Deduzca
analíticamente c) en un grafo dirigido, que es un paso simple. d) en un grafo dirigido que
es un ciclo. (4pts)
5. Indique cual es el orden de magnitud de los siguientes procedimientos.
a) Caso promedio de una búsqueda no exitosa ( )
b) HEAPSORT ( )
c) Crear un cola de prioridad ( )
6. Dado el procedimiento determine el orden de magnitud del siguiente procedimiento:

Procedure Prueba (Vector: Tipo_Vector; N: Integer);


Var
Suma, Cont1, Cont2: Integer;
Begin
For Cont1:= 1 to N do
If ESNROPRIMO (Vector [Cont1])
Then Begin
Suma = 0;
For Cont2:= N Downto 3 do
Suma: = Suma + Vector [Cont2];
Writeln(Suma/Vector[Cont1]
End
End;

Nota: La Función ESNROPRIMO indica si el número que recibe como parámetro es un número
primo

También podría gustarte