【问题标题】:Memoization and Interfaces记忆和接口
【发布时间】:2016-02-10 13:57:43
【问题描述】:
  1. 记忆递归解决方案是否具有与非递归解决方案相同的复杂性?我认为大多数时候递归解决方案会花费更多,但是使用记忆技术我真的不明白为什么我不应该总是使用递归?对我来说更短更容易理解

  2. 接口问题 - 是否可以声明一个函数来强制使用接口的任何人应用其中的部分代码?或者我只能声明函数的签名,仅此而已?因为例如在 android 中,我可以实现侦听器,并且在方法中我看到无法更改的代码行,这与我习惯的正常实现不同

【问题讨论】:

  • 请一次只问一个问题。
  • @UFS 请把你的第二个问题是一个足够详细的单独问题。
  • 第二季度。不确定我是否在关注您的问题,但从 Java 8 开始,您可以将 static methods 放入接口中——这最终会出现在实现接口的每个类的每个实例中(似乎是抽象中的最终具体方法给我上课)。

标签: java recursion interface


【解决方案1】:

关于动态规划,您有两种选择:自上而下的方法(带记忆的递归)和自下而上的方法。自下而上的方法使用循环构建查找数组,因此它比递归更有效,递归会花费堆栈分配并消耗时间。通过递归记忆,您只需“记住”您找到的解决方案,这样您就不会一次又一次地重新计算相同的问题。因此,您在解决之前先检查当前问题是否已解决。这就是它和回溯之间的区别,回溯会重复解决相同的问题,因此需要重复的时间。

【讨论】:

    猜你喜欢
    • 2012-05-27
    • 1970-01-01
    • 2012-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-13
    • 2021-06-17
    • 1970-01-01
    相关资源
    最近更新 更多