The algorithm:
1. Start at any cell
2. While there are non-visited cells:
- If the current cell has non-visited neighbors, choose one randomly, delete the wall in between and make it the current cell.
- Else, choose a random visited cell with one neighbor at least.