Ordinario

Anuncio
UNIVERSIDAD DEL ISTMO
Estructuras de Datos - Evaluación Ordinaria – 13/JUL/09
M.I.A Daniel Alejandro García López
Alumno: ___________________________________________________
Evaluación Escrita:
PORCENTAJE 30% CALIF_______
Evaluación Práctica (proyecto): PORCENTAJE 70% CALIF_______
Calificación final: _________________________________________
_____________________________
EVALUACIÓN ESCRITA
Escriba V o F según sea verdadero o falso los siguientes enunciados. Cada acierto en esta sección vale 0.05 puntos.
1.
2.
3.
4.
5.
6.
( ) Las estructuras de datos lineales incluyen pilas, colas y algunas listas ligadas.
( ) Una lista enlazada es una colección secuencial de elementos llamados generalmente nodos.
( ) Una lista doblemente ligada es una colección de nodos, en la cual cada nodo tiene dos punteros.
( ) Todo nodo de un árbol que no es raíz ni terminal u hoja se conoce con el nombre de exterior.
( ) El recorrido postorden se visita el subárbol izquierdo, luego el derecho y finalmente la raíz.
( ) Una pila es simplemente una lista de elementos a la cual se puede insertar o eliminar elementos por los
extremos.
7. ( ) El método de ordenamiento por selección consiste en encontrar el menor de todos los elementos del arreglo e
intercambiarlo con el que está en la primera posición, luego el segundo más pequeño y así sucesivamente.
8. ( ) Las pilas pueden representarse mediante el uso de arreglos y listas enlazadas.
9. ( ) Las colas también reciben el nombre de estructuras LIFO.
10. ( ) Si la pila está llena y se intentara insertar un nuevo valor, se tendría un error conocido con el nombre de overflow.
11. ( ) Una estructura de datos es un conjunto de operaciones y procedimientos que deben seguirse para resolver un
problema.
12. ( ) El grado de un árbol es el número de arcos que deben recorrerse para llegar a un nodo terminal.
Ejercicio 1. Convierta el siguiente bosque en una representación de árbol binario y desarrolle los recorridos Preorden, Enorden,
Postorden para del árbol binario. ¿En cuál de los recorridos se visitan menos nodos para llegar al elemento ‘%’?(0.8 punto).
Ejercicio 2. Realice las siguientes eliminaciones en el árbol balanceado AVL dado, 20, 13,18, 11, 9. Y después inserte los
siguientes elementos 3, 9, 8, 1, 2,19. Utilice la regla para elegir al nodo más a la derecha del subárbol izquierdo (0.8 puntos).
Ejercicio 3. Cuáles son los resultados después de aplicar a los siguientes algoritmos las entradas dadas: (0.8 puntos).
a)
V={10, 25, 35, 61, 147, 197, 217,309, 448,503}
Llamada funcionRecursivaa(V,309,2,8);
int funcionRecursivaa(int K[], int X, int T, int B){
if(T==B) and K[T]!=X
return -1;
M=(T+B)/2;
If(K[M]==X)
Return M;
Else
If(K[M]<X)
Return(funcionRecursivaa(K,X,M+1,B))
Else
Return(funcionRecursivaa(K,X,T,M-1))
}
b)
Llamada funcionRecursivab(4,7);
int funcionRecursivab(int i,int f){
int retorno;
if(i> f)
retorno=-1;
else
if(i==f)
retorno=1;
else
retorno=inicio*funcionRecursivab(i+1, f);
return retorno;
}
EVALUACIÓN PRÁCTICA (PROYECTO)
Descripción: Diseñar un programa que calcule y muestre la cantidad de accesorios o componentes de una red de
comunicación de voz y datos, tales como el número de distribuidores de fibra óptica que se requieren en cada uno de los
edificios, el número de hilos de Fibra óptica, así como el número de concentradores o switches, jacks RJ45, bobinas de cable
UTP, paneles de parcheo, jumpers lado usuario y lado administrador. Los datos de entrada deben ser leídos desde archivo, y la
salida debe poderse guardar en un archivo y/o mostrarse en pantalla (Veáse ejemplo del cálculo en el archivo problema.pdf).
Utilice las bibliotecas de estructuras de datos realizadas durante el curso sin realizar modificaciones a las mismas, además
comente el programa apropiadamente.
Se debe entregar en dos archivos: proyecto1.c y funciones.h, el primero de ellos sólo debe contener la función principal
(main), no debe exceder de 100 líneas de código siguiendo las reglas de estilo de programación y el segundo contendrá las
funciones auxiliares para resolver el problema, no excediendo las 300 líneas de código. Los comentarios no forman parte de las
restricciones de líneas. No se permite más de una instrucción por línea, habrá penalización por cada evento. Se tomará en
cuenta las buenas prácticas de programación. Exceder las restricciones en el número de líneas por archivo tendrá penalización
por el número de líneas excedentes.
Puntos evaluados:
1.
2.
3.
4.
Uso correcto de estructuras de datos (3 en total): _____________
Uso de la biblioteca de programas con las estructuras de datos asignada(1.5 en total): _____________
Funcionamiento completo y correcto del programa, facilidad de interpretación en la salida (2 en total):
________________________
Código documentado completo y correcto(0.5 en total): __________________
ARCHIVOS ANEXOS A ESTE EXAMEN: proyecto1.c, funciones.h, problema.pdf, y biblioteca de estructuras de datos.*.
Descargar