Estructuras de datos | pila | Pregunta 5

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *