El siguiente es un pseudocódigo incorrecto para el algoritmo que se supone que determina si una secuencia de paréntesis está equilibrada:
declare a character stack while ( more input is available) { read a character if ( the character is a '(' ) push it on the stack else if ( the character is a ')' and the stack is not empty ) pop a character off the stack else print "unbalanced" and exit } print "balanced"
¿Cuál de estas secuencias desequilibradas cree que el código anterior está equilibrada?
Fuente: http://www.cs.colorado.edu/~main/questions/chap07q.html
(A) ((())
(B)())(()
(C) (()()))
( D) (()))()
Respuesta: (A)
Explicación: Al final del ciclo while, debemos verificar si la pila está vacía o no. Para la entrada ((()), la pila no permanece vacía después del bucle. Consulte https://www.geeksforgeeks.org/check-for-balanced-parentheses-in-an-expression/ para obtener más detalles.
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