2 665c255d 2023-08-04 jrmu ;; (lambda (new-row)
3 665c255d 2023-08-04 jrmu ;; (map (lambda (rest-of-queens)
4 665c255d 2023-08-04 jrmu ;; (adjoin-position new-row k rest-of-queens))
5 665c255d 2023-08-04 jrmu ;; (queen-cols (- k 1))))
6 665c255d 2023-08-04 jrmu ;; (enumerate-interval 1 board-size))
8 665c255d 2023-08-04 jrmu ;; This new mapping calls (queen-cols (- k 1)) board-size times upon each call to (queen-cols k).
10 665c255d 2023-08-04 jrmu ;; k calls to queen-cols
11 665c255d 2023-08-04 jrmu ;; 1 board-size
17 665c255d 2023-08-04 jrmu ;; 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