Demonios si
APILAR
Las expresiones de postfix generalmente se convierten de expresiones infix usando la estructura de datos de pila.
- ¿Qué estructura de datos debo usar en Java para almacenar y obtener el siguiente tipo de datos? ¿Cuál debería ser la estructura de mi clase para este propósito?
- Te dan n pilas con p monedas, y cada jugador elimina al menos 1 moneda. El número de monedas eliminadas por un jugador no puede ser eliminado por el otro. ¿Quién ganará?
- ¿Cómo se puede resolver una variante del problema 3-SAT en tiempo lineal usando divide y vencerás?
- Cómo encontrar la ruta de longitud máxima en un árbol binario T
- ¿En qué sitio web debo buscar gráficos en la estructura de datos?
Hay un buen algoritmo para estas conversiones
Aquí vamos
Tenemos la matriz Postfix [] Array, Stack, Infix []
- Escanee la expresión dada (Infix) de izquierda a derecha [un carácter a la vez].
- Compruebe si el carácter dado es un operador [+, -, *, /, ^ etc.] u operando.
- Si es un operando, cópielo en la matriz de prefijos.
- Si es un operador entonces,
- Compruebe si la pila está vacía o no
- Si está vacío, empuje al operador en la pila y vaya al paso 5.
- Si la pila no está vacía, compare la precedencia de la parte superior de la pila con el operador.
- Si la parte superior de la pila tiene mayor o igual precedencia, revíselo y cópielo en la matriz de postfix.
- Si el operador tiene mayor prioridad, empújelo en la pila y vaya al paso 5.
- Si la pila no está vacía, vuelva al paso 4 (i).
5. Continúe resolviendo la expresión de la manera habitual hasta que la expresión llegue a su fin.
6. Haga estallar el operando restante en la pila y cópielo en la matriz postfix.