【问题标题】:in regard to recursion what is a seed value?关于递归什么是种子值?
【发布时间】:2010-03-09 19:14:17
【问题描述】:

关于递归什么是种子值?

【问题讨论】:

标签: recursion seed


【解决方案1】:

许多递归算法会根据之前对算法的递归调用的结果执行某种计算/转换。种子值将是传递给递归算法的初始调用的值。

例如,如果您正在编写递归算法来枚举树结构的所有元素,则种子可能是树的根节点。

【讨论】:

    【解决方案2】:

    这似乎是您最初传递给函数的值:

    例如这里:http://www.ibm.com/developerworks/linux/library/l-recurs.html

    每个递归程序都遵循 相同的基本步骤顺序:

    1. 初始化算法。递归程序通常需要种子 开始的价值。这是 通过使用一个来完成 传递给函数的参数或由 提供网关功能,即 非递归的,但设置了种子 递归计算的值。
    2. 检查当前正在处理的值是否与 基本情况。如果是,则处理并返回 价值。
    3. 根据更小或更简单的子问题重新定义答案或 子问题。
    4. 对子问题运行算法。
    5. 将结果组合到答案的公式中。
    6. 返回结果。

    如果您有一个函数f(n),那么基本情况是一个参数n,它不会导致对f 的递归调用。

    【讨论】:

    • 我称之为基本情况。我认为这里的其他人都说种子值将是传递给递归函数的初始参数是正确的。
    【解决方案3】:

    种子值将是您传递给函数的数据。这并不总是适用于递归,也不是一个常用术语。请记住,种子值必须通过基本情况。

    【讨论】:

    • 基本情况通常是递归函数进行的第一个检查。此检查负责停止递归,因为工作已完成。
    【解决方案4】:

    种子标识搜索的起点。

    【讨论】:

      【解决方案5】:

      就递归程序或函数而言,种子值是指分配给该程序或函数的参数的初始值。这些参数将在对该程序/函数的每个后续递归调用中使用。

      干杯

      【讨论】:

        猜你喜欢
        • 2014-04-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-08-02
        • 2011-04-10
        • 1970-01-01
        相关资源
        最近更新 更多