• 回答数

    5

  • 浏览数

    218

威武的灰姑娘
首页 > 英语培训 > 递归的英语翻译

5个回答 默认排序
  • 默认排序
  • 按时间排序

驾驶马桶去飞行

已采纳

recurse in directories可以翻译成在目录中递归

递归的英语翻译

127 评论(8)

不计较的心

递归就是自己调用自己吧!递推是从头向后推吧!

126 评论(11)

宝哥哥艺涵

递归算法(英语:recursion algorithm)在计算机科学中是指一种通过重复将问题分解为同类的子问题而解决问题的方法。

递归式方法可以被用于解决很多的计算机科学问题,因此它是计算机科学中十分重要的一个概念。绝大多数编程语言支持函数的自调用,在这些语言中函数可以通过调用自身来进行递归。

计算理论可以证明递归的作用可以完全取代循环,因此在很多函数编程语言(如Scheme)中习惯用递归来实现循环。

递归程序

在支持自调用的编程语言中,递归可以通过简单的函数调用来完成,如计算阶乘的程序在数学上可以定义为:

这一程序在Scheme语言中可以写作:

(define (factorial n)  (if (= n 0)      1      (* n (factorial (- n 1)))))

不动点组合子

即使一个编程语言不支持自调用,如果在这语言中函数是第一类对象(即可以在运行期创建并作为变量处理),递归可以通过不动点组合子(英语:Fixed-point combinator)来产生。以下Scheme程序没有用到自调用,但是利用了一个叫做Z 算子(英语:Z combinator)的不动点组合子,因此同样能达到递归的目的。

(define Z  (lambda (f)    ((lambda (recur) (f (lambda arg (apply (recur recur) arg))))     (lambda (recur) (f (lambda arg (apply (recur recur) arg)))))))(define fact  (Z (lambda (f)       (lambda (n)         (if (<= n 0)             1             (* n (f (- n 1))))))))

这一程序思路是,既然在这里函数不能调用其自身,我们可以用 Z 组合子应用(application)这个函数后得到的函数再应用需计算的参数。

尾部递归

尾部递归是指递归函数在调用自身后直接传回其值,而不对其再加运算。尾部递归与循环是等价的,而且在一些语言(如Scheme中)可以被优化为循环指令。 因此,在这些语言中尾部递归不会占用调用堆栈空间。以下Scheme程序同样计算一个数字的阶乘,但是使用尾部递归:

(define (factorial n)  (define (iter product counter)    (if (> counter n)        product        (iter (* counter product)              (+ counter 1))))  (iter 1 1))

能够解决的问题

参考资料

百科-递归算法.百度百科[引用时间2018-4-2]

271 评论(15)

大施兄帅呆了

recursion

313 评论(15)

adamjackjason

recurse in directories可以翻译为目录递归。recurse 递归; 递回; [例句]It should recurse down a directory structure, looking for test cases to add to the test suite.在一个目录结构下递归,以寻找加入测试组合的测试环境。directories 英[dɪˈrɛktəriz] 美[daɪˈrɛktəriz] n. 名录; 电话号码簿; 公司名录; (计算机文件或程序的)目录; [词典] directory的复数; [例句]They really need a new business directory.他们很需要一本新的企业名录。[其他] 原型: directory

309 评论(11)

相关问答