Hola! Necesito el código en java de un programa

Necesito el código en java de un programa donde el usuario pueda ingresar una hilera de datos, caracteres ( números, operadores como + - / *, y paréntesis) y el programa cree un árbol binario y lo ordene de acuerdo a esos datos que ingreso el usuario, siempre el menor numero va por el subarbol izquierdo, también que el usuario llame los recorridos como preorden, inorden y postorden y el árbol binario devuelva esa información como una hilera de números y operaciones( no hay que graficar el árbol binario) se puede trabajar con netbeans

1 Respuesta

Respuesta
2
Bueno pues lo que pides es un árbol de expresiones, la verdad se implementa como un árbol AVL, pero la idea de este es algo más sencilla, yo lo haría con una analizador léxico y sintantico básico que reconozca expresiones entonces cuando reduzca alguna producción lo que haces es meter al árbol, raíz, hojaiz, hojader. Donde raíz seria la operación y así sucesivamente, si no mal recuerdo yo hice esto alguna vez, pero no encontré el proyecto si me das chance yo lo busco y te lo envío a la dirrecion que me proporciones. Pero no es tan difícil y si no pues te lo realizo yo y te lo explico.
Pues la verdad es que no tengo ni idea como implementar ese programa, ademas no se como hacer para que me lea los paréntesis.una idea seria con una pila.
Si me podrías hacer el favor de ayudarme te lo agradecerie mucho.
Es un árbol de expresiones
El programa debe recibir una expresión matemática construida con el siguiente alfabeto:
L = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, -, +, *, /, %, ), ( }
Ejemplos:
(1 / 5)
( 1 - 9 ) * ( 8 - 2)
( ( ( ( ( ( 1+6 ) * 8 ) - 8 ) / 7 ) - ( ( 8 / 2 ) + 4 ) ) -  3 )
( ( 1 * 5 ) - 8 )
· Una vez reciba la expresión matemática, se solicita construir un árbol binario de la expresión.
· Se debe validar que la expresión este bien formada. Ejemplo de expresión mal formada: + 5 ( )
· Luego debe darse la opción de imprimir la expresión a partir del árbol.
· Finalmente debe darse la opción de evaluar el resultado de la expresión.
Yo te ayudo solo dejame encontrar este programa que no se que lo hice, y te lo pongo por aquí ya que yo ya hice eso pero no recuerdo donde anda pero en cuento lo encuentre te lo posteo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas