【SICP练习】9 练习1.15
(define(cube x) (* x x x))
(define(p x) (- (* 3 x) (* 4 (cube x))))
(define(sine angle)
(if (not (> (abs angle) 0.1))
angle
(p (sine (/ angle 3.0)))))
大家自己将题目中的代码写入Edwin中,用trace可以追踪p的调用,这种功能在Visual Studio中都有,我也是最近才知道trace的。
(trace-entryp)
;Unspecifiedreturn value
(sine12.15)
[Entering#[compound-procedure 12 p]
Args: 4.9999999999999996e-2]
[Entering#[compound-procedure 12 p]
Args: .1495]
[Entering#[compound-procedure 12 p]
Args: .4351345505]
[Entering#[compound-procedure 12 p]
Args: .9758465331678772]
[Entering#[compound-procedure 12 p]
Args: -.7895631144708228]
;Value:-.39980345741334
由此看来p一共运行了5次。
大家应该都看出来了sine过程是一个递归,因此它的时间和空间复杂度都是O(loga)。每当题目中传入的参数a乘以3时,p的运行次数就会增加一次。大家可以用trace愉快的测试了。
【SICP练习】9 练习1.15相关推荐
- [books] - SICP 2nd edition
全名是: Structure and Interpretation of Computer Programs 中文名稱: 计算机程序的构造和解释 20131024 淘寶訂單 20131104 到手, ...
- 学习伯克利CS 61A课程(Structure and Interpretation of Computer Programs, SICP)的相关资源
有个叫做Teach Yourself Computer Science的网站[1]教如何自学计算机科学,关于Programming这个方向推荐了<Structure and Interpreta ...
- SICP读书笔记 3.1
SICP CONCLUSION 让我们举起杯,祝福那些将他们的思想镶嵌在重重括号之间的Lisp程序员 ! 祝我能够突破层层代码,找到住在里计算机的神灵! 目录 1. 构造过程抽象 2. 构造数据抽象 ...
- SICP(计算机程序构造与解释)学习笔记(lisp语言实现)
用的是这版本 由于逆天的语法,必须准确记清楚 目录 Scheme语法 递归与阶乘 1.递归与阶乘的区别 2.阶乘与递归的实例 阶乘的递归实现 阶乘的迭代实现 斐波那契数列的递归实现 1.3高阶过程实现 ...
- 计算机程序结构和解释,SICP 计算机程序的构造和解释
<SICP 计算机程序的构造和解释>由会员分享,可在线阅读,更多相关<SICP 计算机程序的构造和解释(5页珍藏版)>请在人人文库网上搜索. 1.SICP 计算机程序的构造和解 ...
- 《SICP》习题第3章(施工中)
本人做的SICP习题第3章,如有错误请指正,用的解释器是Racket 练习3.1 ;; 累加器 (define (make-accumulator initial)(lambda (x)(let (( ...
- 10任务栏全屏时老是弹出_Deepin 15.10 发布,深度操作系统
深度操作系统是一个致力于为全球用户提供美观易用.安全可靠的Linux发行版. 深度操作系统基于Linux内核,以桌面应用为主的开源GNU/Linux操作系统,支持笔记本.台式机和一体机.深度操作系统( ...
- Manifest merger failed : uses-sdk:minSdkVersion 15 cannot be smaller than version 16 declared in lib
今天导入饺子库提示 sdk 不能低于16的错误提示,导致build 失败 处理方法: 我把15 改成了16即可编译通过 这个是之前写的,目前各大应用平台要求最低是26了,
- View requires API level 21 (current min is 15): Toolbar
第一种情况: 在布局文件报错,查看错误提示View requires API level 21 (current min is 15): <Toolbar> 这个说要求要api版本为21 ...
最新文章
- 多尺度目标检测--Scale-Aware Trident Networks for Object Detection
- [摘抄]一些软件设计的原则
- TCP往返时延的估计和超时
- matlab中求积函数,MATLAB软件及高斯勒让德求积公式MATLAB软件及高斯勒让德求积公式.doc...
- try except 异常捕获的方法、断言的使用
- html5圆形提交按钮样式,HTML5 SVG带圆形进度条动画的提交按钮特效
- 动态规划算法 dynamic programming
- 【遥感影像处理与分析】遥感影像校正详解-辐射校正、几何校正流程与方法比较
- oracle财务系统名称,Oracle财务系统总账模块操作手册
- SCI 计算机 数学相关期刊
- isc dhcp 服务器性能,DHCP 服务器搭建问题
- 城市公交线路查询系统mysql_公交车路线查询系统后台数据库设计
- bc汇编指令用法_BC操作流程
- Redis系列-生产应用篇-分布式锁(5)-单进程Redis分布式锁的Java实现(Redisson使用与底层实现)-原子锁类
- 易语言服务器调试输出为假,跟我入门易语言 7 调试输出与输出调试文本
- php中x22是什么意思,我想问一下:联想s22e和x22区别哪款好用点??真实反馈一下!!...
- 1. 【Part2】 Contour Detection and Hierarchical Image Segmentation【轮廓检测图像分割】
- 2017年蓝桥杯A组 跳蟋蟀 (BFS)
- 如何将项目使用docker分块部署
- 火爆外网的ChatGPT,改Bug,敲代码不在话下