¿Cuántas operaciones PUSH y POP se necesitarán para evaluar la siguiente expresión mediante notación de pulido inverso en una máquina de apilamiento (A ∗ B) + (C ∗ D / E)?
(A) 4 instrucciones PUSH y 3 POP
(B) 5 instrucciones PUSH y 4 POP
(C) 6 instrucciones PUSH y 2 POP
(D) 5 instrucciones PUSH y 3 POP
Respuesta: (B)
Explicación: la notación pulida inversa es un sistema de notación de fórmula sin paréntesis ni puntuación especial.
Para evaluar (A ∗ B) + (C ∗ D / E):
Primero evite los paréntesis y la puntuación y conviértalos en forma de postfijo, es decir, AB+CDE/*+
Ahora presione AB
On * pop AB y realice A * B. Ahora presione hacia atrás el resultado (dilo X).
Presione CDE.
Encienda / haga estallar DE y retroceda el resultado (dígalo Y).
En * Haga estallar CY y realice * la operación y presione el resultado (dígalo z).
On + pop XZ y realizar + operación y y retroceder la respuesta final.
Los cálculos anteriores incluyen 5 instrucciones PUSH y 4 POP.
Entonces, la opción (B) es correcta.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA