博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SICP 2.40 2.41 2.42 2.43
阅读量:6952 次
发布时间:2019-06-27

本文共 1406 字,大约阅读时间需要 4 分钟。

  hot3.png

2.40

(define (unique-pairs n)  (flatmap (lambda (i)             (map (lambda (j) (list i j))                  (enumerate-interval 1 (- i 1))))           (enumerate-interval 1 n)))

2.41

(define (gentuple n s)  (filter (lambda (x)            (= (accumulate + 0 x) s))          (flatmap (lambda (i)                     (flatmap (lambda (j)                                (map (lambda (k)                                       (list i j k))                                     (enumerate-interval 1 (- j 1))))                              (enumerate-interval 1 (- i 1))))                   (enumerate-interval 1 n))))

2.42

行号列号从1开始。从右向左逐步构造棋盘

(define empty-board '())(define (adjoin-position new-row k rest-of-queens)  (cons new-row rest-of-queens))(define (safe? k positions)  (define (iter ex-row ex1 ex2 lst)    (if (null? lst)        #t        (if (or (= ex-row (car lst))                (= ex1 (car lst))                (= ex2 (car lst)))            #f            (iter ex-row (- ex1 1) (+ ex2 1) (cdr lst)))))  (let ((c (car positions)))    (iter c (- c 1) (+ c 1) (cdr positions))))

2.43

对于2.42中的程序,当board-size为n时,queens-cols调用1+n次;

对于Louis的程序:当k=1时,queens-cols会调用board-size次;当k=2时,queens-cols会调用board-size乘以当k=1时的次数;归纳得,queens-cols会调用board-size的board-size次方次。

于是Louis的程序的运行时间大约为2.42程序的board-size的board-size -1次方倍,

即:(* (expt board-size (- board-size 1)) T)

转载于:https://my.oschina.net/guzhou/blog/734330

你可能感兴趣的文章
我的博客园开通啦!
查看>>
[LeetCode] Number of Islands
查看>>
绿色版Tomcat的配置
查看>>
MAC 终端基本命令
查看>>
css知识
查看>>
supervisor 管理
查看>>
Oracle DB优化-如何看SQL的执行计划+收集表的统计信息
查看>>
深度学习基础系列(六)| 权重初始化的选择
查看>>
angular4 跨域携带cookie的设置
查看>>
蓝桥杯第五届JavaC组杨辉三角问题解决方法
查看>>
定制自己的数据类型
查看>>
CSS样式表初始化杂谈
查看>>
[转]winform控件webbrowser和js脚本互调
查看>>
Selenium WebDriver控制操作(Python)
查看>>
最短路 - spfa
查看>>
java 一些容易忽视的小点-类和对象
查看>>
weblogic安装升级配置
查看>>
在Spring MVC中使用FileUpload功能
查看>>
[转] Windows Server 2012 Beta (Hyper-V 3.0) VM Replica與Live Migration Winout Shared Storage
查看>>
枚举 enum
查看>>