如何在 Scheme 中使用数组?
特别是,我正在尝试使用 memoization 实现递归斐波那契过程。数组甚至存在于 Scheme 中吗?
如果没有,我该如何实现记忆?
如何在 Scheme 中使用数组?
特别是,我正在尝试使用 memoization 实现递归斐波那契过程。数组甚至存在于 Scheme 中吗?
如果没有,我该如何实现记忆?
Scheme中有数组,但它们被称为vectors。请注意,它们不会像在 Perl 和 Javascript 等其他语言或类似名称的 C++ 中那样调整大小;您必须制作一个更大的并复制过时的内容。
如果你想了解更多关于记忆化和动态编程的知识,你可以阅读免费书Concrete Abstractions的第 12 章。
这不是一个直接的答案,所以请随意投反对票等:如果您使用 PLT 并且需要记忆,那么您应该查看 Dave Herman 的记忆包。此外,您可以从 swindle 库中获取 memoize 函数。