【发布时间】:2010-03-09 19:14:17
【问题描述】:
关于递归什么是种子值?
【问题讨论】:
-
查看lhup.edu/~dsimanek/pseudo/fibonacc.htm 并搜索seed。它是递归函数/方法的起始参数。
关于递归什么是种子值?
【问题讨论】:
许多递归算法会根据之前对算法的递归调用的结果执行某种计算/转换。种子值将是传递给递归算法的初始调用的值。
例如,如果您正在编写递归算法来枚举树结构的所有元素,则种子可能是树的根节点。
【讨论】:
这似乎是您最初传递给函数的值:
例如这里:http://www.ibm.com/developerworks/linux/library/l-recurs.html
每个递归程序都遵循 相同的基本步骤顺序:
- 初始化算法。递归程序通常需要种子 开始的价值。这是 通过使用一个来完成 传递给函数的参数或由 提供网关功能,即 非递归的,但设置了种子 递归计算的值。
- 检查当前正在处理的值是否与 基本情况。如果是,则处理并返回 价值。
- 根据更小或更简单的子问题重新定义答案或 子问题。
- 对子问题运行算法。
- 将结果组合到答案的公式中。
- 返回结果。
如果您有一个函数f(n),那么基本情况是一个参数n,它不会导致对f 的递归调用。
【讨论】:
种子值将是您传递给函数的数据。这并不总是适用于递归,也不是一个常用术语。请记住,种子值必须通过基本情况。
【讨论】:
种子标识搜索的起点。
【讨论】:
就递归程序或函数而言,种子值是指分配给该程序或函数的参数的初始值。这些参数将在对该程序/函数的每个后续递归调用中使用。
干杯
【讨论】: