A solution for the popular word game.
Given a n*n board with letters in each cell and a dictionary, the program must find all the words that can be formed by starting from a cell and visiting each of the neighbouring cells in any direction.
This implementation uses a depth first search approach and tests for word prefixes by performing binary searches on the sorted dictionary.
The program was developed for the purpose of having fun while practicing algorithms.
run with:
python run.py 3
for n = 3
run the tests:
nosetests