Como parte de una asignación Java, tengo que tomar una expresión aritmética de entrada y almacenarla en un árbol binario.Conversión de una expresión infija (con paréntesis) en un árbol binario
He hecho todo lo necesario para la tarea, excepto la parte donde leo en la cadena de la expresión y la almaceno en el árbol binario.
He creado una clase llamada BinaryTree. Su único campo es un treenode llamado raíz. Este treenode se define como una clase interna en BinaryTree. Tiene 3 campos, un campo de datos genérico y dos secundarios (izquierdo y derecho) que son de tipo BinaryTree.
Estoy teniendo un momento muy difícil definir un algoritmo para la lectura en una expresión como
(5 * (2 + 3)^3)/2
y almacenarla en un árbol como
/
^ 2
* 3
5 +
2 3
¿Alguien puede ayudar con el algoritmo?
Pruebe primero con una cadena de ecuación simple: '1 + 2'. Cuando lo tengas, haz: '1 + 2 * 3'. Aún más complejo: '1 * 2 + 3'. Finalmente: '(1 + 2) * 3' –
¿Quieres una explicación para el algo? – Tushar