¿Qué es el algoritmo de soporte?

El algoritmo de corchetes es un término que se refiere al uso de pilas (una estructura de datos) para verificar una expresión o un literal para corchetes coincidentes. Suponga que tiene la expresión: 3 * (4 + 5) * [12–4 * (13 + 1)].
Si desea encontrar el valor de esta expresión, digamos en una calculadora que está programando, primero debe verificar la validez de la expresión.

Verificar la validez significa verificar si cada paréntesis / paréntesis de apertura tiene una contraparte de cierre.
Considere ahora la expresión: 3 * (4 + 5} * [12–4 * (13 + 1)]:

1. Esta expresión tiene una contraparte no coincidente para el paréntesis de apertura, por lo tanto, la expresión no es válida.
2. En el caso de que haya un paréntesis / paréntesis de cierre sin uno de apertura, la expresión no será válida.
3. En el caso de que haya un paréntesis / paréntesis de apertura sin una contraparte de cierre, la expresión no será válida.

Si tiene conocimiento de la Estructura de datos de la pila, puede intentar resolver ese problema usted mismo o puede pedirme ayuda con el algoritmo y el código.
De lo contrario, te recomiendo que estudies Stacks hasta que tengas una idea general de su implementación y utilidad.

More Interesting

¿Estudiar algoritmos mejorará mis habilidades cotidianas de toma de decisiones / resolución de problemas?

¿Cómo explica la localidad de caché el hecho de que la ordenación rápida suele ser más rápida que la ordenación por fusión?

¿Por qué los estudiantes chinos tienen un talento extraordinario en programación y algoritmos?

¿Cuál es la mejor manera de aprender a escribir algoritmos?

¿Cuándo es conveniente resolver un problema usando un algoritmo codicioso?

¿Qué es importante saber y estudiar para ser un excelente programador? ¿Es importante practicar programación competitiva?

¿Por qué son tan importantes los algoritmos?

Cómo calcular dos nodos distantes mínimos a partir de dos conjuntos de nodos en un gráfico

Cómo hacer un bot de chat usando Python implementando algoritmos de aprendizaje automático (como SVM, Naive Bayes, Random Forest, etc.)

¿Qué lenguaje de programación debo usar para implementar algoritmos que creo?

¿Cuáles son los ejemplos prácticos de algoritmos de clasificación? He oído hablar de la clasificación de burbujas, la clasificación rápida y la clasificación por inserción. ¿Cuáles son los ejemplos prácticos de estos algoritmos? ¿Para qué se usan y dónde son necesarios en los sistemas de software?

¿Cuál es la forma más eficiente de ordenar un millón de enteros de 32 bits?

Programación competitiva: dado un polígono y tres cuadrados congruentes alineados con el eje, ¿puede determinar en tiempo polinómico si el polígono puede cubrirse por completo de manera que los tres cuadrados, que pueden superponerse, cubran una cantidad igual de área en el polígono?

¿Está sesgado el algoritmo de aleatorización del Reproductor de Windows Media?

¿Cómo funciona el algoritmo de Warnsdorff?