Nombre y Apellidos | Correo | GitHub |
---|---|---|
Ariel Plasencia Díaz | arielplasencia00@gmail.com | @ArielXL |
Resolver problemas sobre arrays (cadenas) en busca de operaciones sobre subarrays (subcadenas) puede en algunos casos ser ineficiente. Como solución a lo anterior mostraremos la técnica conocida como sliding window. A modo de curiosidad, diremos que la traducción a sliding window es ventana corrediza. En este trabajo pretendemos explicar y desarrollar dicho algoritmo. El análisis teórico del algoritmo será acompañado por la resolución de problemas cuya solución utiliza esta idea y, en muchos casos, será guiado por ella. Con los problemas se mostrarán además sus respectivos análisis e implementaciones. Para un análisis más detallado puede consultar nuestro documento adjunto Sliding Window.
En la carpeta problems proponemos varios problemas a resolver con esta técnica. Cabe mencionar que son problemas sencillos a simple vista, aunque en algunos casos, la solución que se nos ocurre no es la mejor en cuanto a complejidad temporal.
Los códigos propuestos para los problemas anteriormente mencionados podemos encontrarlos aquí y fueron implementados en c++ como lenguaje de programación. Dicho lenguaje de programación es reconocido mundialmente en las competencias de programación competitiva ACM-ICPC por su gran eficiencia en tiempo de ejecución.
Este trabajo se encuentra bajo los requerimientos de la licencia LICENSE, la cual puede consultar para más información y detalles.