資料結構之最大子串

2021-08-07 10:39:45 字數 1361 閱讀 7240

給定整數串,a_1,a_2,....a_n,求最大子串的問題,

下面給出三種方法:

#include #include 

#include "vector1.h"

#include "tree.h"

using namespace std;

int maxsubsequence(int

*numarr, int len); //方法1

int maxsubsequence2(int

*numarr,int left,int right);//方法2

int maxsubsequence3(int

*numarr, int len);//方法3

int max3(int,int,int);

void main()

; //測試資料

int length = sizeof(testarr)/sizeof(int);

int maxresult = 0;

maxresult = maxsubsequence(testarr, length);

cout << "the max subsequence is "

<< maxresult << endl;

maxresult = maxsubsequence2(testarr, 0,length-1);

cout << "the max subsequence2 is "

<< maxresult << endl;

maxresult = maxsubsequence3(testarr,length);

cout << "the max subsequence3 is "

<< maxresult << endl;

}int maxsubsequence3(int

*numarr, int len) //速度最快,追求的是空間少,速度快 `o(n)`

return

max;

}int maxsubsequence2(int

*numarr, int left, int right) //演算法複雜度`o(n log(n))`

for (int i = middle+1; i <= right; i++)

}return max3(leftmax,rightmax,leftmax+rightmax);

}int maxsubsequence(int

*numarr,int len) //演算法複雜度 `o(n^2)`

}return

max;

}int max3(int a, int b, int c)

演算法題之 最大子串

題目 給定一字串只包含數字,請寫乙個演算法,找出該字串中的最長不重複子串 不重複是指子串中每一元素不同於子串中其他元素 如 120135435 最長不重複子串為 201354 方法一 輔助陣列,o n n private static string norepeatsubstring string ...

經典資料結構之最大堆

最大堆和最小堆是常用的優先佇列。其概念也比較簡單,用樹的方式描述,就是,父節點比子節點大 最大堆 小則為最小堆。最大堆和最小堆廣泛用在有先後順序的任務排程中。比如cpu的任務排程等。先上 後面再詳細解釋和補充我的看法。標頭檔案 ifndef cbinarytree h included define...

c 資料結構之最大子陣列問題(暴力解決法)

主要是利用3個迴圈把每一種可能性都遍歷,然後得到最大子陣列,缺點就是效能,時間消耗過大 namespace 002最大子陣列問題之暴力求解法 int changearray new int pricearray.length 1 變化 for int i 0 i pricearray.length ...