编程之战 第二百一六章 分治法的缺陷
作者:程序小猿的小说      更新:2019-05-23

  杨成将自己的思路实现成一行行代码。

  这一过程中,经理目不转睛地盯着屏幕,若有所思。

  直到他完成最后一行,测试了几个简单的例子。

  经理终于发话了。

  “你觉得你的递归程序,有什么地方需要改进呢?”

  杨成扫视自己刚刚写过的程序,有了些眉目。

  “在递归的过程中,很多数据被重复计算了”。

  分治法将一个大的问题划分为独立的子问题,然后递归地求解各个子问题,最后合并子问题的解,得到原问题的解。

  而对于这个问题,使用分治法,会大量地求解公共子问题,

  或者说,子问题重叠了。

  “那么,请你估算下,最坏情况下,你这个算法的时间复杂度是多少?”

  经理接着发问。

  “这...”

  杨成挠了挠头,陷入了短暂的沉思。

  “这个算法应该是指数级的吧!”

  “具体我也不清楚”。

  他倒是很诚实,经理脸上流露出一丝笑意。

  “最后一个问题,你会怎么去优化它呢?”