¿Alguien podría dar una explicación detallada del algoritmo de Lee para encontrar contornos cercanos en una región?

El algoritmo de Lee es básicamente una búsqueda de Breadth First aplicada en una matriz. Por lo general, se usa para encontrar la distancia más pequeña entre las posiciones en una matriz. Utiliza una estructura de datos de cola y agrega los vecinos no divididos de la posición actual. Por la naturaleza de la cola, las celdas que están más cerca de la fuente se encuentran primero. Crece efectivamente la región de búsqueda. Capa por capa. La forma de la región de crecimiento depende de si uno usa conectividad de 8 vecinos o 4 vecinos. El vecino 8 corresponde básicamente a encontrar los lugares en orden creciente de distancia de Chebyshev a la fuente, mientras que el vecino 4 corresponde a la distancia de Manhattan. Si bien este algoritmo es simple y agradable y asintóticamente óptimo, tomando la peor complejidad del caso, A * funciona mejor en el caso promedio porque atravesará las posiciones que son más prometedoras primero.