Llegamos al final de la cursada. Los
trabajos finales de los alumnos son todos muy buenos, demuestran el
trabajo realizado aplicando conceptos estudiados en la materia.
Árboles Binarios Aritméticos
Damián Ledesma y Diego Tapia
construyeron un analizador sintáctico de expresiones aritméticas de
números y operaciones suma, resta, multiplicación y división. El
análisis se realiza construyendo un árbol binario y finalmente
resuelve la expresión podando el árbol a medida que lo recorre. De
esta manera demuestran sin tener conocimientos de teoría de
compiladores, la construcción, recorrido y modificación dinámicos
de árboles con estructura semántica, reutilizando código
desarrollado en los trabajos prácticos. Este es el informe.
Código de Huffman
Bruno Vitucci trabajó con árboles de
Huffman, vistos como un caso de aplicación de árboles binarios. En
una primera etapa desarrolló un traductor de texto a código de unos
y ceros y otro traductor en sentido inverso, ambos para un código de
Huffman fijo de ejemplo. En una segunda etapa logró la construcción
del árbol a partir de una tabla de frecuencias de ejemplo. De esta
manera trabajó en la construcción y recorrido dinámicos de árboles
binarios, en el uso de diccionarios y la lectura y escritura de
archivos. Este es el informe.
Algoritmo de Manejo de Grafos
Maive Acevedo trabajó con algoritmos
sobre grafos. Construyó un grafo mediante listas de adyacencias
cuyos nodos son las provincias argentinas y cuyas aristas representan
adyacencia entre ellas. Implementó el algoritmo de Dijkstra para
determinar cuántas provincias es necesario cruzar para llegar de una
inicial a otra final. Finalmente añadió la medición de un
indicador del tiempo de ejecución del algoritmo, que se informa al
final de cada ejecución. De esta manera logró implementar un grafo,
trabajar sobre la estructura, implementar el algoritmo de Dijkstra,
elaborar un indicador del tiempo de ejecución e implementarlo. Este es el informe.