关于递归什么是种子值?
问问题
607 次
5 回答
5
许多递归算法基于先前对算法的递归调用的结果执行某种计算/转换。种子值将是传递给递归算法的初始调用的值。
例如,如果您正在编写递归算法来枚举树结构的所有元素,则种子可能是树的根节点。
于 2010-03-09T19:17:23.030 回答
2
这似乎是您最初传递给函数的值:
例如这里:http ://www.ibm.com/developerworks/linux/library/l-recurs.html
每个递归程序都遵循相同的基本步骤序列:
- 初始化算法。递归程序通常需要一个种子值来开始。这可以通过使用传递给函数的参数或通过提供非递归但为递归计算设置种子值的网关函数来实现。
- 检查正在处理的当前值是否与基本情况匹配。如果是,则处理并返回该值。
- 根据更小或更简单的子问题或子问题重新定义答案。
- 在子问题上运行算法。
- 结合结果形成答案。
- 返回结果。
如果你有一个函数f(n)
,那么基本情况是一个n
不会导致递归调用的参数f
。
于 2010-03-09T19:16:18.567 回答
0
种子值将是您传递给函数的数据。这并不总是适用于递归,也不是一个常用术语。请记住,种子值必须通过基本情况。
于 2010-03-09T19:16:23.513 回答
0
种子标识搜索的起点。
于 2010-03-09T19:16:37.637 回答
0
就递归程序或函数而言,种子值意味着分配给该程序或函数的参数的初始值。这些参数将用于对该程序/函数的每个后续递归调用。
干杯
于 2010-03-09T19:34:14.490 回答