日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

Algorithm:C++语言实现之求最大连续子数组(暴力法、分治法、分析法、动态规划法)

發(fā)布時(shí)間:2025/3/21 64 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Algorithm:C++语言实现之求最大连续子数组(暴力法、分治法、分析法、动态规划法) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Algorithm:C++語(yǔ)言實(shí)現(xiàn)之求最大連續(xù)子數(shù)組(暴力法、分治法、分析法、動(dòng)態(tài)規(guī)劃法)

?

?

?

目錄

求最大連續(xù)子數(shù)組

T1、code暴力法 ?O(n3)

T2、分治法 ? O( n*log(n) )

T3、分析法 ? O(n)

T4、動(dòng)態(tài)規(guī)劃法 ?O(n)


?

?

?

?

?

求最大連續(xù)子數(shù)組

給定一個(gè)數(shù)組A[0,…,n-1],求A的連續(xù)子數(shù)組,使得該子數(shù)組的和最大。
例如,數(shù)組: 1, -2, 3, 10, -4, 7, 2, -5;最大子數(shù)組:3, 10, -4, 7, 2

T1、code暴力法 ?O(n3)

時(shí)間復(fù)雜度O(n3)

?

T2、分治法 ? O( n*log(n) )

將數(shù)組從中間分開(kāi),那么最大子數(shù)組要么完全在左半邊數(shù)組,要么完全在右半邊數(shù)組,要么跨立在分界點(diǎn)上。
完全在左數(shù)組、右數(shù)組遞歸解決。
跨立在分界點(diǎn)上:實(shí)際上是左數(shù)組的最大后綴和右數(shù)組的最大前綴的和。因此,從分界點(diǎn)向前掃,向后掃即可。
分治算法復(fù)雜度


?

T3、分析法 ? O(n)

邏輯推理的算法應(yīng)用

?

?

T4、動(dòng)態(tài)規(guī)劃法 ?O(n)

記S[i]為以A[i]結(jié)尾的數(shù)組中和最大的子數(shù)組則:S[i+1] = max(S[i]+A[i+1], A[i+1])
S[0]=A[0]
遍歷i: 0≤i ≤n-1
動(dòng)態(tài)規(guī)劃:最優(yōu)子問(wèn)題
時(shí)間復(fù)雜度:O(n)

?

?

?

?

?

?

總結(jié)

以上是生活随笔為你收集整理的Algorithm:C++语言实现之求最大连续子数组(暴力法、分治法、分析法、动态规划法)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。