QB64 搜索技巧 核手提箱 文字记录 海洋云增白 开源地图 Bliss AI 搜索答案 深海沉船 自由职业 policy 小团队 颈挂空调 Chumby 个人电脑 极端主义 团队 世界 PostgreSQL AI工具 证券 DirectX 防溢 DrawingPics Zulip 儿童读物 化学 连续滚动 代码审查 三菱电机 更多

递归、延续性和蹦床 (eli.thegreenplace.net)

文章探讨了递归,尤其是尾递归在编程中的应用。文章首先解释了尾递归的概念,以及它与普通递归的区别,并以阶乘和斐波那契数列为例进行了说明。然后,文章介绍了尾调用优化(TCO) 的概念,以及为什么某些语言(如Python)不支持TCO。之后,文章深入探讨了延续性和延续性传递风格(CPS)的概念,并展示了如何使用CPS将任意函数转换为尾递归形式。最后,文章介绍了蹦床的概念,以及如何使用蹦床来避免尾递归调用中的堆栈溢出问题。