【发布时间】:2021-02-28 23:13:24
【问题描述】:
所以我的 CS 课程有一个家庭作业,涵盖了 Scheme 程序。我们上周才开始学习这门语言,所以我不知道如何回答这个问题。我知道 map 过程可以得到两个列表的点积,但我认为不需要 reduce 来获得产品。下面是他给出的示例代码,它反转了一个列表以及关于函数卷积和点积的问题。我也对列表 y 的等式以及如何实际阅读它感到困惑。任何帮助将不胜感激。
(define (reverse lis)
(if (null? lis)
'()
(append (reverse (cdr lis))
(list (car lis)))))
在 Scheme 中绘制一个函数卷积,计算列表 x 与列表 y 的倒数的点积:
您可以使用 map/reduce 方法,遍历列表并使用递归调用添加每个产品,或使用您希望的任何方法。
【问题讨论】:
-
reduce 部分来自计算各个乘法的总和。它通常被称为方案中的折叠。
标签: mapreduce scheme procedure