Carrera: Lic. en Sistemas de Información Asignatura: Algoritmos y estructuras de datos II Año: 2010 Serie Práctica Nº 4 Lista simplemente enlazada de nodos con números enteros, implementada mediante punteros Ejercicio Nº 1: Crear una función que verifique si la lista se encuentra vacía. Ejercicio Nº 2: Crear un procedimiento que permita Insertar un nodo a la lista. Verificar que si la lista está vacía. Ejercicio Nº 3: Crear un procedimiento que permita insertar un nodo al final de la lista. Ejercicio Nº 4: Crear un procedimiento que permita vaciar la lista. Verificar que la lista no esté vacía. Ejercicio Nº 5: Crear un procedimiento que permita eliminar un nodo de la lista, que coincida con un valor ingresado. Ejercicio Nº 6: Crear un procedimiento que permita buscar un nodo en la lista, que coincida con un valor ingresado. Ejercicio Nº 7: Mostrar todos los elementos de la lista. Verificar que la lista no esté vacía. Ejercicio Nº 8: Crear una función que invierta el contenido de la lista. La función debe devolver la lista invertida. Verificar que la lista no esté vacía. Ejercicio Nº 9: Crear un menú principal que contenga las siguientes opciones: Insertar un nodo a la lista Insertar un nodo al final Eliminar un nodo de la lista Vaciar la lista Eliminar un nodo de la lista Mostrar todos los elementos de la lista Carrera: Lic. en Sistemas de Información Asignatura: Algoritmos y estructuras de datos II Año: 2010 Serie Práctica Nº 4 Pilas implementada mediante punteros Ejercicio Nº 1: Crear una función que verifique si la Pila se encuentra vacía. Ejercicio Nº 2: Crear una función que verifique si la Pila se encuentra llena. Ejercicio Nº 3: Crear una función que devuelva la cima de la pila. Verificar que la pila no este vacía. Ejercicio Nº 4: Crear un procedimiento que permita Apilar un elemento a la pila. Verificar que si la no esté llena. Ejercicio Nº 5: Crear un procedimiento que permita Desapilar un elemento de la pila. Verificar que la pila no este vacía. Ejercicio Nº 6: Crear un procedimiento que permita Mostrar todos los elementos de la Pila. Verificar que si la pila está vacía. Ejercicio Nº 7: Crear un menú principal que contenga las siguientes opciones: Apilar un nodo a la Pila Desapilar un nodo de la pila Visualizar la cima de la Pila Vaciar la Pila. Mostrar todos los elementos de la pila. Colas implementadas mediante punteros Ejercicio Nº 8: Crear una función que verifique si la Cola está vacía. Ejercicio Nº 9: Crear una función que verifique si la cola está llena. Ejercicio Nº 10: Crear una función que devuelva el primer elemento de la Cola. Verificar que la Cola no esté vacía. Ejercicio Nº 11: Crear un procedimiento que permita Poner un elemento a la cola. Verificar que si la está llena. Ejercicio Nº 12: Crear un procedimiento que permita Quitar un elemento de la pila. Verificar que la cola no esté vacía. Ejercicio Nº 13: Crear un procedimiento que permita Mostrar todos los elementos de la cola. Verificar que si la Cola está vacía. Ejercicio Nº 14: Crear un menú principal que contenga las siguientes opciones: Poner un nodo en la cola Quitar un nodo de la cola Visualizar el primer nodo de la cola Mostrar todos los nodos de la cola. Carrera: Lic. en Sistemas de Información Año: 2010 Asignatura: Algoritmos y estructuras de datos II Serie Práctica Nº 4 Arboles y Grafos. Ejercicio Nº 1: Dado el siguiente árbol A B E C F I J G D H K Indique los caminos (A;K), (C,K), (A,G); Profundidad de (A),(H),(I); Altura del árbol Ejercicio Nº 2: ) Confeccione gráficamente el árbol binario de las siguientes expresiones aritméticas: (2(a-1)) + 3b, a*(b+c)+d y de (a+b)*c, a+b*c. Indique de estas dos últimas la diferencia. Ejercicio Nº 3: Recorrido de un árbol. Indique el recorrido en pre-orden, in-orden y postorden de los dos primeros árboles del ejercicio anterior. Ejercicio Nº 4: Construir un árbol binario correspondiente a la lista de números: 4 19 –7 49 100 0 22 12 a) Nodo raíz del árbol: primer elemento de la lista b) Los siguientes nodos serán descendientes derechos si son mayores y descendientes izquierdo si son menores. (tener en cuenta el orden de la lista dada) Ejercicio Nº 5: Indique los vértices y arcos de los siguientes grafos B 3 9 A D 5 1 C 7 Carrera: Lic. en Sistemas de Información Año: 2010 Asignatura: Algoritmos y estructuras de datos II Serie Práctica Nº 4 Ejercicio Nº 6: A partir de la siguiente informacion, contruya el grafo: Vertices V(G)= (x,y,z,u,v) Aristas A(G1)= (xy,xz,xv,yz,yu,zv,vu) Aristas A(G2)= (xy,yx,xz,xv,yz,yu,zv,vz,uv,vu) Ejercicio Nº 7: Escriba de los grafos vistos en los ejercicios anteriores: a) los caminos (a,d), (b,d), (9,5), 9,7), (u,z),(x,v) b) caminos cerrados, c) grado de los nodos. Ejercicio Nº 8: Escriba la matriz de adyacencia de los siguientes grafos 1 3 1 3 1 2 2 6 1 2 4 5 2 5 2 1 3 4 Ejercicio Nº 9: A partir de la siguiente matriz de adyacencias, reconstruir el grafo 0 1 1 0 0 1 1 1 0 1 0 1 1 1 0 0 1 1 1 1 0 0 1 0 0 1 1 0 1 0 0 1 0 0 0 0 0 1 1 0 0 4