Manual del estudiante de Ingeniería en Sistemas de UTN/Diseño e Implementación de Estructuras de Datos/Guías prácticas/Árboles

De Wikilibros, la colección de libros de texto de contenido libre.
Ir a la navegación Ir a la búsqueda

Ejercicio 1[editar]

Agregue a la clase ArbolBinario, los siguientes métodos:

totalNodos() : int

Retorna un int que representa la cantidad de nodos que tiene el árbol.

totalHojas() : int

Retorna un int que representa la cantidad de hojas que tiene el árbol.

nodosNivel(int nivel) : Vector

Retorna una instancia de Vector que contiene los nodos del nivel dado como argumento.

Ejercicio 2[editar]

Agregue a la clase Ntree, los siguientes métodos:

delete(Object  aObject) : void

Elimina el nodo del árbol cuyo valor es aObject.

deep() : int

Retorna un entero que representa la profundidad del árbol.

Ejercicio 3[editar]

Para realizar una búsqueda rápida de palabras, se le solicita implementar la clase DiccionarioIndizado, que contendrá un AVL con las palabras ordenado alfabéticamente. Una clase BusquedaEnDiccionarioIndizado se encargará de recorrerlo, y deberá contar con los siguientes métodos:

String agregarCaracter(String carácter)

Agrega un carácter a la búsqueda y devuelve la primera palabra que contenga la secuencia formada por todos los caracteres añadidos.

String quitarCaracter(String carácter)

Elimina un carácter de la búsqueda y devuelve la primera palabra que contenga la secuencia formada por todos los caracteres añadidos.

String palabraSiguiente ()

Devuelve la palabra que en orden alfabético es la siguiente a la última devuelta.

String palabraAnterior()

Devuelve la palabra que en orden alfabético es inmediatamente anterior a la última devuelta.

Ejercicio 4[editar]

Un árbol de materiales de una empresa de producción refleja como se compone cada uno de los productos de la empresa. Los productos pueden ser:

  • Productos finales.
  • Componentes.
  • Materiales.

Cada producto final estará formado por subproductos, y éstos a su vez podrán estar compuestos por subproductos. Un producto final puede ser subproducto de otro producto. Los materiales no tienen subproductos. Un producto que no es producto final ni material es un componente. Un subproducto puede ser componente de uno o más productos.

Cada producto final tiene una demanda por cada período. Para indicar que el producto final “A” tiene una demanda de 500 unidades en el período 5, se utiliza la siguiente sentencia:

Demanda de “A”*500 en 5

Cada producto tiene un período de tiempo para ser producido. Para indicar que el producto “A” tiene un tiempo de producción de 2 períodos, se utiliza la siguiente sentencia:

Producción de “A” tarda 2

Para indicar que un producto “A” esta formado por 2 productos “B” y 3 “C”, se utilizan las siguientes sentencias:

“A” necesita “B”*2
“A” necesita “C”*3

Si un producto “A” tiene un requerimiento de 500 unidades en el período 5, y tarda 2 períodos en ser elaborado, deberá comenzarse su fabricación en el período 3, para lo cual hará falta que al comenzar ese período se cuente con 1000 “B” y 1500 “C”.

Consigna[editar]

  • Modelar el problema que, dado un árbol de materiales con la especificación y requerimientos de los productos finales completos, resuelva los requerimientos de subproductos y materiales, y presente un informe tal como:
Lista de materiales

-----------------
Productos finales
-----------------

A
Período 3: se producen 500

-----------
Componentes
-----------
No hay componentes.

-----------
Materiales
-----------

B
Período 2: se producen 1000

C
Período 1: se producen 1500
  • Indicar qué casos excepcionales se pueden presentar.