sicp每日一题[2.35]

server/2024/10/17 23:30:09/

十一去喀纳斯玩了2天,今天恢复,才几天没看书再看到代码就感到有点陌生了。。

Exercise 2.35

Redefine count-leaves from Section 2.2.2 as an accumulation:

(define (count-leaves t)(accumulate ⟨??⟩ ⟨??⟩ (map ⟨??⟩ ⟨??⟩)))

这道题难度不大,利用 enumerate-tree 和 accumulate 很容易就能实现。

(define (count-leaves t)(accumulate+0(map (lambda (x) (if (null? x) 0 1)) (enumerate-tree t))))(define x (cons (list 1 2) (list 1 3 0 5 0 1)))
(count-leaves x)
(count-leaves (list x x)); 执行结果
10
20

http://www.ppmy.cn/server/128689.html

相关文章

Java Stream流的应用场景

Java Stream流的应用场景 Java Stream是Java 8引入的一种高效、简洁的数据处理机制,它提供了一种声明式的方式来处理数据集合。Stream可以对集合进行过滤、映射、排序等操作,并且可以支持并行处理,极大地提高了数据处理的效率和代码的可读性…

【AI知识点】残差网络(ResNet,Residual Networks)

残差网络(ResNet,Residual Networks) 是由微软研究院的何凯明等人在 2015 年提出的一种深度神经网络架构,在深度学习领域取得了巨大的成功。它通过引入残差连接(Residual Connection) 解决了深层神经网络中…

百度文心智能体平台开发萌猫科研加油喵

百度文心智能体平台开发萌猫科研加油喵 在科研的道路上,研究生们常常面临着巨大的压力和挑战。为了给这个充满挑战的群体带来一些鼓励和温暖,我借助百度文心智能体平台开发了一个独特的智能体 《萌猫科研加油喵》。 一、百度文心智能体平台介绍 百度文…

【Python】Python知识总结浅析

Python是一种高级编程语言,由Guido van Rossum于1991年首次发布。它以简洁的语法和强大的功能著称,适用于多种应用场景,包括Web开发、数据分析、人工智能、自动化脚本等。 易于学习和使用:Python的语法简洁明了,适合初…

英集芯IP5911:集成锂电池充电管理和检测唤醒功能的低功耗8位MCU芯片

英集芯IP5911是一款集成锂电池充电管理、咪头检测唤醒、负载电阻插拔和阻值检测等功能的8bit MCU芯片。其封装采用QFN16,应用时仅需极少的外围器件,就能够有效减小整体方案的尺寸,降低BOM成本,为小型电子设备提供高集成度的解决方…

如何解决深拷贝循环引用的问题

深拷贝循环引用的问题是JavaScript中一个常见且需要仔细处理的问题。循环引用指的是对象之间存在相互引用的关系,形成一个闭环,这样在深拷贝过程中可能会导致递归无限循环,占用大量内存,并最终导致堆栈溢出。以下是一些解决深拷贝…

【python实操】python小程序之对象的属性操作

引言 python小程序之对象的属性操作 文章目录 引言一、对象的属性操作1.1 题目1.2 代码1.3 代码解释 二、思考2.1 添加属性2.2 获取属性 一、对象的属性操作 1.1 题目 给对象添加属性 1.2 代码 class Cat:# 在缩进中书写⽅法def eat(self):# self 会⾃动出现,暂不管print(f…

01.useStateWithLabel

在使用 React 进行开发时,特别是处理多个 useState() 钩子的情况下,调试过程可能会变得复杂。幸运的是,我们可以使用 useDebugValue() 钩子创建一个自定义的 useStateWithLabel 钩子,从而轻松地为这些值添加标签。这种方法可以显著提高调试效率和代码可读性。以下是实现这个…