注册个名那么难
recursive algorithm读音:/rɪˈkɝsɪv ˈælgəˈrɪðəm/
例句:
It analyses the running course of working stack in recursive algorithm.
对递归算法中的工作栈的执行过程做了分析。
一、recursive的用法
1、释义
adj. [数] 递归的;循环的
2、例句
If you use a subroutine, it cannot be recursive.
如果使用子程序的话,它不能是递归的。
二、algorithm的用法
1、释义
n. [计][数] 算法,运算法则
2、例句
So what is the genetic algorithm?
那么什么是遗传算法呢?
扩展资料
另一种说法:Recursive Formulation:/rɪˈkɝsɪv ˌfɔːmjuˈleɪʃn/
例句
In this paper, the substructure method and forward recursive formulation are used to studythe impact with multiple contact points of flexible multibody system with closed loops.
用子结构方法和单向递推组集方法研究闭环的柔性多体系统的多点撞击问题。
formulation的用法
1、释义
n. 制订,规划;(想法或理论的)系统阐述;表达方式;制剂,配方
2、例句
Formulation and execution of laws related with tax affect tax payment behavior.
与税收相关的法律的制定和执行影响着纳税行为。
奥利奥baby
递归算法(英语: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]