SICP 习题2.35 count-leaves 用accumulate实现
来源:互联网 发布:原知宏大野智 编辑:程序博客网 时间:2024/05/21 14:54
这题开始我想着用emumerate-tree来做,但是这样做根本就不需要accumulate,后来上网看了别人的做法,我对于递归的理解实在是太浅显。
(define (accumulate op initial sequence) (if (null? sequence) initial (op (car sequence) (accumulate op initial (cdr sequence)))))(define (count-leaves t) (accumulate + 0 (map (lambda (sub-t) (if (pair? sub-t) (count-leaves sub-t) 1)) t)))(newline)(display (count-leaves (list 1 (list 2 (list 3 4)) 5)))(newline)(display (count-leaves (list (list 1 2) (list 3 (list 4 5) 6))))
0 0
- SICP 习题2.35 count-leaves 用accumulate实现
- SICP 习题2.36 accumulate-n的实现
- SICP 习题2.33 用accumulate完成一些基本的表操作
- SICP 习题2.19 重写count-change 过程
- SICP 习题2.39 reverse实现
- SICP 习题2.4 cons car cdr 用过程实现
- SICP习题
- SICP 习题2.23 实现for-each
- SICP 习题 (2.23)解题总结:for-each的实现
- SICP 习题2.37 矩阵乘法的一些实现
- sicp 第一章习题试做
- sicp 第一章 习题
- sicp 2.2 习题
- sicp 2.3-2.5 习题
- SICP 部分习题答案
- SICP 习题答案1.1
- SICP 习题答案1.2
- SICP 习题答案1.3
- android studio 使用 showAsAction
- 火车进站
- 第四章:文件和目录
- 用C++语言写bmp文件的程序完整版
- APP如何才能做到真正极致个性化?
- SICP 习题2.35 count-leaves 用accumulate实现
- SpannableString
- Java环境搭建MyEclipse10+jdk1.8
- 序
- 个推推送步骤
- 接口缓存不能放置在静态的数据结构存储
- codesmith 三层架构代码生成
- sql
- CSDN文章发布了显示问题