Clique aqui para visualizar a demonstração e clique nos quadrados para criar ou remover barreiras.
Considerando que a imagem representa um mapa onde quadrados brancos são caminhos livres e quadrados pretos são caminhos obstruídos, podemos nos perguntar: qual é o menor caminho entre o quadrado superior esquerdo e o quadrado inferior direito?
Estruturas de dados são interessantes sim! Apesar de pilhas e filas serem estruturas de dados simples, elas são úteis para responder esse tipo de questão.
A demonstração feita com HTML5 Canvas usa um algoritmo que vai destacar o menor caminho entre o canto superior esquerdo e o canto inferior direito, se este caminho existir.
Você pode interagir clicando em cada quadrado para abrir ou fechar o caminho.
Clique aqui para visualizar a demonstração.