当前位置: 首页 > news >正文

sicp每日一题[2.62]

Exercise 2.62

Give a (n) implementation of union-set for sets represented as ordered lists.


这道题难度也不大,思路是依次从两个集合中取第一个元素,比较他们的大小,把小的那个和剩下所有元素连接的结果连接起来。由于两个集合中每个元素都只需要取出一次,所以时间复杂度应该是 O(n)。

(define (union-set set1 set2)(cond ((null? set1) set2)((null? set2) set1)((let ((s1 (car set1))(s2 (car set2)))(if (<= s1 s2)(cons s1 (union-set (cdr set1) set2))(cons s2 (union-set set1 (cdr set2))))))))(define set1 (list 1 3 5 7 9))
(define set2 (list 2 4 6 8 10))(union-set set1 set2); 结果如下所示
'(1 2 3 4 5 6 7 8 9 10)

http://www.mrgr.cn/news/61644.html

相关文章:

  • 【C/C++问题】
  • Javaee:单例模式
  • 微服务之网关、网关路由、网关登录校验
  • conda、virtualenv, venv分别是什么?它们之间有什么区别?
  • 详解PHP正则表达式中的转义操作
  • jmeter自定义函数
  • docker中使用ros2humble的rviz2不显示问题
  • SELS-SSL/TLS
  • 【数据价值化】数据资产盘点及治理路径
  • 【Java知识】Java进阶-FunctionInterface标记接口的使用
  • win10如何关闭开机启动项
  • 如何用李萨如图形测正弦信号的频率?若不使用李萨如图形,如何用示波器测交流信号频率?
  • 运维工具之StarWind V2V Converter安装和使用
  • 从禅宗境界来谈IT技术
  • Python酷库之旅-第三方库Pandas(176)
  • Unity 实现的背包系统
  • 微服务架构设计与实现:从理论到实践
  • 智能指针介绍
  • Python 编程风格:多余的空格
  • 关于JavaWeb开发框架有哪些?
  • 常见字符串操作函数
  • 问:缓存穿透、雪崩、预热、击穿、降级,怎么办?
  • springboot入门学习笔记2(连接mysql,使用mybatis,plus等)
  • 优维好案例:某银行系理财公司的IT基础资源服务管理平台
  • 支持向量机(Support Vector Machines, SVM)详细解读
  • python画图|被忽视的坐标轴比例ax.set_box_aspect()函数