首页 > 解决方案 > 最大子数组和最坏情况场景

问题描述

我用伪代码编写了这段代码,以使用分而治之算法找到最大子数组总和。这是代码:

maxTeilSum(arr, a, n)
    if (a==n)
        return arr[a]
    m = (a+n)/2
    return max(maxTeilSum(arr, a, m),
           maxTeilSum(arr, m+1, n),
           middleSum(arr, a, m, n))

我知道方法 middleSum 有 O(n) 运行时间,而我的整个代码的运行时间是 O(nlogn) 实际上,我不知道最坏情况是什么。任何想法?

PS:我也不确定我的代码是否正确(我希望代码为 O(nlogn)。

标签: pseudocode

解决方案


推荐阅读