Trees4ever - SamArtGS/Trees4ever GitHub Wiki

ÁRBOLES BINARIOS

Que el alumno implemente árboles binarios y que desarrolle sus habilidades en el manejo de archivos y programación orientada a objetos. DESCRIPCIÓN GENERAL El usuario deberá realizar un programa donde se utilicen las principales aplicaciones de árboles binarios. El entregable final deberá contener las siguientes implementaciones de árboles binarios.

  • Árboles binarios de búsqueda balanceados
  • Heaps
  • Árboles de expresiones aritméticas

En la misma ejecución del programa el usuario podrá utilizar indistintamente cualquiera de las implementaciones CARACTERÍSTICAS.

Al ejecutar el programa el usuario podrá ver un menú con las diferentes implementaciones de árbol binario, con las opciones para cada uno.

Árbol binario de búsqueda

  • Agregar
  • Buscar
  • Eliminar
  • Mostrar árbol.

Heap

  • Agregar Nodo
  • Eliminar Raíz
  • Mostrar árbol.

Árbol de Expresión Aritmética

  • Ingresar expresión
  • Mostrar árbol
  • Resolver.

Datos de entrada del programa

  • Claves para construir el heap o el árbol binario de búsqueda
  • Expresión Aritmética

Los datos de salida que el programa deberá mostrar serán de acuerdo con las opciones seleccionadas

FORMATO DE ENTREGA

El programa deberá ser entregado en cd, con todos los archivos correspondientes. El cd deberá ser etiquetado con el número del equipo.

Es obligatorio incluir los siguientes elementos:

  • Documento escrito con el análisis, antecedentes y marco teórico realizado para el desarrollo del programa.

  • Algoritmos de inserción y eliminación (para un árbol binario balanceado) o Algoritmo para la construcción de un árbol de expresión aritmética.

  • Algoritmos de heaps.

  • Archivo ejecutable del programa realizado.

  • Código fuente del programa realizado.

  • Imágenes, diagramas, o cualquier tipo de material que el alumno considere conveniente para completar su documentación.

  • Manual con las instrucciones para la ejecución del programa y/o el archivo ejecutable.

OBSERVACIONES

  • Se recomienda resolver la expresión aritmética con una pila utilizando el algoritmo de notación polaca inversa.

  • Los árboles binarios (de búsqueda y heap) serán conformados por números enteros

  • El programa deberá ser realizado alguno de los siguientes lenguajes: JAVA // C#

  • La fecha de entrega para el programa será lunes 5 de noviembre de 2018

  • Los equipos que entreguen el proyecto el 31 de octubre obtendrán 1 punto extra sobre la calificación del proyecto

  • Todos los archivos de código fuente deberán estar comentados a nivel archivo/clase y a nivel método/función indicando la funcionalidad de dichos métodos la descripción de los parámetros que reciben y lo que devuelven etc. Se deberá evitar incluir comentarios de tipo: int a= 5 // la variable “a” se iguala a 5.

  • Está estrictamente prohibido entregar programas obtenidos en internet.

  • Se permite que parte de los archivos sean basados en bibliografía siempre y cuando ésta se incluya de manera correcta y no sean copias idénticas.

NOTA: TODOS LOS ASPECTOS NO DEFINIDOS EN EL PRESENTE DOCUMENTO SERÁN RESUELTOS POR EL PROFESOR EN CONSENSO CON LOS ALUMNOS.