编程之战第二百一六章 分治法的缺陷 首页

字体:      护眼 关灯

上一章 目录 下一章

编程之战第二百一六章 分治法的缺陷

    杨成将自己的思路实现成一行行代码。
    这一过程中,经理目不转睛地盯着屏幕,若有所思。
    直到他完成最后一行,测试了几个简单的例子。
    经理终于发话了。
    “你觉得你的递归程序,有什么地方需要改进呢?”
    杨成扫视自己刚刚写过的程序,有了些眉目。
    “在递归的过程中,很多数据被重复计算了”。
    分治法将一个大的问题划分为独立的子问题,然后递归地求解各个子问题,最后合并子问题的解,得到原问题的解。
    而对于这个问题,使用分治法,会大量地求解公共子问题,
    或者说,子问题重叠了。
    “那么,请你估算下,最坏情况下,你这个算法的时间复杂度是多少?”
    经理接着发问。
    “这...”
    杨成挠了挠头,陷入了短暂的沉思。
    “这个算法应该是指数级的吧!”
    “具体我也不清楚”。
    他倒是很诚实,经理脸上流露出一丝笑意。
    “最后一个问题,你会怎么去优化它呢?”

上一章 目录 下一章