



Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Documento que contiene el examen final de estructuras de datos y de la información de la carrera plan 98, con tres problemas a resolver. El primer problema consiste en implementar un método que devuelva el número de hijos que tiene un árbol binario a una profundidad dada. El segundo problema es diseñar un método para generar el árbol de recubrimiento de un grafo. El tercer problema consiste en diseñar una clase polinomio con las operaciones grado y suma, y implementar la operación evaluar. Además, se piden detalles sobre la implementación de clases y métodos relacionados.
Tipo: Exámenes
1 / 6
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!




12 de Junio de 2001
Problema.
profundidad dada. El método debe ser añadido en una clase que permita ser usado con los
árboles binarios ordenados de acuerdo con la estructura de clases de su práctica.
Nivel de Profundidad Número de Hijos en ese nivel 0 1 1 2 2 3 3 1
Notas:
ESVACIA: LISTA F 0 E 0boolean AÑADIRPPIO: LISTA x OBJECT F 0 E 0LISTA PRIMERO: LISTA F 0 E 0OBJECT RESTO: LISTA F 0 E 0LISTA BORRARPRIMERO: LISTA F 0 E 0LISTA
Finalmente, considera también implementadas las operaciones básicas de la clase árbol que utilices. (En árboles binarios: HijoIzquierdo, HijoDerecho,Esvacio,Construir(Hi,raiz,Hd), Raiz,. En árboles generales Los hijos vienen dados por una lista: HIJOS:ARBOLGENERAL F 0 E 0LISTA )
Problema 3.
a) (1,5 puntos) Realiza la especificación algebraica del TAD Polinomio con coeficientes enteros. Entre las operaciones definidas en la interfaz deben incluirse, al menos, las operaciones GRADO, que proporciona el grado de un polinomio, y SUMA que, dados dos polinomios, genera la suma de ambos. Como operaciones generadoras se definen:
PoliVacio : F 0 E 0Polinomio {Genera el polinomio vacío} Añadir (Polinomio, Entero, Natural) F 0 E 0Polinomio {Dado un polinomio p, un valor entero e y uno natural n, añade al polinomio el monomio de coeficiente e y de grado n}
Ejemplos: P(x)= -4x^2 +3+x^3 =3+0x-4x 2 +x^3 F 0 B A Añ(Añ(Añ(Polivacio,-4,2) ,3,0), 1,3) Q(x)= x-x 2 F 0 B A Añ(Añ(Polivacio,1,1), -1,2)
b) (2 puntos) Implementa la clase Polinomio con la operación EVALUAR(POLINOMIO, ENTERO) F 0 E 0ENTERO cuyo significado es el siguiente: dado un polinomio P y un valor v para x, devuelve el resultado de evaluar el polinomio en dicho valor v, es decir, P(v)
Problema 1.
(2,5 puntos) Realizar el diseño de clases, en JAVA, necesario para representar la información almacenada en la biblioteca de una facultad correspondiente a los libros y a los usuarios de la misma. De cada libro, se desea tener acceso a su título, autor, editorial, año de publicación, número de ejemplares, signatura (única y diferente para cada ejemplar de cada libro) y si está disponible o no. En caso de que esté prestado, hay que saber la fecha de préstamo, la de devolución y los datos del usuario que lo tiene. Si está disponible, se mostrará la identificación de la estantería en la que se puede encontrar. Por otro lado, los usuarios de la biblioteca pueden ser alumnos y profesores del centro, de los que se almacenará su nombre, apellidos, dirección, DNI, el máximo número de libros que pueden tener prestados (distinto para alumnos que para profesores) y la lista de libros prestados. Nota: Utiliza tablas hash****. (1,5 puntos) Suponiendo que se tiene almacenada la información según el diseño realizado para el apartado anterior, diseñar un método en JAVA para que, dada una persona, muestre los datos de los libros que tiene prestados.
Problema 2. (3 puntos)
Diseñar un método (en JAVA o en pseudocódigo) para que, dado un grafo, genere su árbol de recubrimiento. Nota: Supón que tienes implementada la clase grafo en un archivo que se llama GRAFO.CLASS con los siguientes métodos:
AÑADIRVERTICE: VERTICE x GRAFO F 0 E 0GRAFO AÑADIRARCO: ARCO x GRAFO F 0 E 0GRAFO PERTVERTICE: VERTICE x GRAFO F 0 E 0boolean PERTARCO: ARCO x GRAFO F 0 E 0boolean ESGRAFOVACÍO: GRAFO F 0 E 0boolean BORRARVERTICE: VERTICE x GRAFO F 0 E 0GRAFO BORRARARCO: ARCO x GRAFO F 0 E 0GRAFO VERTICES: GRAFO F 0 E 0LISTA, ARCOS: GRAFO F 0 E 0LISTA, ADYACENTES: GRAFO x VERTICE F 0 E 0LISTA
Además, cuenta con que dispones de la implementación del TAD Vértice y del TAD Arco, en los archivos VERTICE.CLASS y ARCO.CLASS, con los siguientes métodos: VERTICE: String F 0 E 0VERTICE IDENTIFICADOR: VÉRTICE F 0 E 0String EQUALS: VERTICE x VERTICE F 0 E 0boolean
ARCO: VERTICE x VERTICE F 0 E 0ARCO ORIGEN: ARCO F 0 E 0VERTICE DESTINO: ARCO F 0 E 0VERTICE
1