更改

跳到导航 跳到搜索
删除717字节 、 2021年1月3日 (日) 22:45
第791行: 第791行:     
==实现问题==
 
==实现问题==
  −
In actual implementation, rather than a pure recursive function (single check for base case, otherwise recursive step), a number of modifications may be made, for purposes of clarity or efficiency. These include:
      
如果不是纯粹的递归函数(对基本情况进行单一检查,否则递归步骤),而是实际的代码实现,则为了清晰或效率起见,可能会进行大量的修改。这些修改包括:
 
如果不是纯粹的递归函数(对基本情况进行单一检查,否则递归步骤),而是实际的代码实现,则为了清晰或效率起见,可能会进行大量的修改。这些修改包括:
  −
* Wrapper function (at top)
  −
* Short-circuiting the base case, aka "Arm's-length recursion" (at bottom)
  −
* Hybrid algorithm (at bottom) – switching to a different algorithm once data is small enough
      
* 包装器函数(在顶部)
 
* 包装器函数(在顶部)
第804行: 第798行:  
* 混合算法(在底部)——一旦数据足够小,就切换到另一个的算法
 
* 混合算法(在底部)——一旦数据足够小,就切换到另一个的算法
   −
On the basis of elegance, wrapper functions are generally approved, while short-circuiting the base case is frowned upon, particularly in academia. Hybrid algorithms are often used for efficiency, to reduce the overhead of recursion in small cases, and arm's-length recursion is a special case of this.
+
在优雅简洁的基础上,包装器函数一般都会被接受,而对基本情况的短路则是被不被认可的的,尤其是在学术界。混合算法往往是为了提高效率,减少小规模问题下递归的开销,远程递归是一种特殊情况。
   −
在优雅简洁的基础上,包装器函数一般都会被接受,而对基本情况的短路则是被不被认可的的,尤其是在学术界。混合算法往往是为了提高效率,减少小规模问题下递归的开销,远程递归是一种特殊情况。
      
===包装器函数===
 
===包装器函数===
7,129

个编辑

导航菜单