最大子序列和(分支策略)Java版
注:本篇博客是作者本人为了学习使用,参考书籍来自数据结构与算法(Java版)
算法思想:
我们采用分支策略,不断的将问题二分,这个时候最大和子序列分别可能存在三个地方,一个是左边的最大和序列,一个是右边的最大和子序列,还有一个是中间部分的最大和子序列。
算法时间复杂度分析
T(N) = 2T(N/2)+N
使用主分析法可得T(N) = O(nlogn)
本文介绍了一种求解最大子序列和问题的分支策略算法。该算法通过不断将问题分成左右两部分来寻找最大和子序列,这些子序列可能位于左部、右部或跨越中间。最终的时间复杂度为O(nlogn)。
注:本篇博客是作者本人为了学习使用,参考书籍来自数据结构与算法(Java版)
我们采用分支策略,不断的将问题二分,这个时候最大和子序列分别可能存在三个地方,一个是左边的最大和序列,一个是右边的最大和子序列,还有一个是中间部分的最大和子序列。
T(N) = 2T(N/2)+N
使用主分析法可得T(N) = O(nlogn)

被折叠的 条评论
为什么被折叠?