3 ;; (map (lambda (rest-of-queens)
4 ;; (adjoin-position new-row k rest-of-queens))
5 ;; (queen-cols (- k 1))))
6 ;; (enumerate-interval 1 board-size))
8 ;; This new mapping calls (queen-cols (- k 1)) board-size times upon each call to (queen-cols k).
10 ;; k calls to queen-cols
17 ;; So, overall, it seems like ultimately, queen-cols is called board-size^board-size times. In the original version, queen-cols is only called board-size times. So, if it originally takes time T, the new version will take time T^T