|
|
Universidad Carlos III de Madrid - Departamento de Ingeniería Telemática |
|
| Localización | Personal | Docencia | Investigación | Novedades | Intranet |
|
Datos de la práctica
Enlaces
|
Contenidos |
Para resolver este problema debes partir de las siguientes clases:
La clase InventarioAlmacen define un inventario para un almacén. El inventario se organiza mediante un árbol binario de búsqueda, para lo cual usamos la clase ArbolBB de las soluciones de las prácticas. Los elementos a almacenar en el árbol de la clase InventarioAlmacen son de la clase Elemento. Dicha clase Elemento contiene los siguientes atributos:
Observando el método insertarElementoEnAlmacen de la clase InventarioAlmacen, así como el método main de la misma clase, puedes hacerte una idea de cómo funciona el árbol. Para que tengas todo más claro:
En este primer apartado debes programar el método mostrarElemento de la clase InventarioAlmacen. Este método recibe un Integer como parámetro de entrada, que se corresponde con la clave de ordenación dentro del árbol. El método debe encontrar el elemento dentro del árbol e imprimir por pantalla la descripción y el número de elementos correspondiente, con el formato del siguiente ejemplo:
Descripcion: i10 Numero de Elementos: 12
Para probarlo puedes usar el método main de la clase.
Ahora nos vamos a centrar en la clase ArbolBB. El primer método a programar en ella debe, dada una clave de búsqueda, devolver un entero con el número de elementos del árbol cuya clave es mayor que la proporcionada. Por ejemplo, en un árbol compuesto de 5 elementos con claves 1, 2, 3 ,4 y 5, si llamamos al método pasándole como argumento 3, este debe devolver 2, ya que hay dos elementos cuya clave es mayor que 3. La declaración del método es la que sigue:
public int elementosMayoresQue(Comparable t)
Para probar el método puedes utilizar el método main de la clase ArbolBB.
Continuamos con la clase ArbolBB. En este apartado hay que implementar el método:
public String caminoAElemento(Comparable t)
Lo que hace este elemento es devolver una cadena de texto (String) concatenando el atributo info de todos los elementos encontrados en el camino hasta aquel nodo cuya clave sea igual al parámetro t. Para probarlo puedes utilizar el método main de la clase ArbolBB.
Este es el resultado de la ejecución del método main del apartado 1:
Descripcion: i10 Numero de Elementos: 12 Descripcion: i04 Numero de Elementos: 98 Descripcion: i09 Numero de Elementos: 56 Descripcion: i19 Numero de Elementos: 5
Este es el resultado de la ejecución del método main de los apartados 2 y 3:
Elementos mayores que 2: 18 Elementos mayores que 11: 9 Elementos mayores que 16: 4 Elementos mayores que 20: 0 ------------- i10 i15 i13 i12 i11