資料結構與演算法分析 陣列的子串行問題

2021-07-23 23:43:04 字數 958 閱讀 1490

/**

*2.17

*求最小子序列和,最小正子串行和,最大子串行乘積

* */

#include #include using namespace std;

#define int_min -32768

#define int_max 32767

//在裡面有使用#define和const定義常量的比較,推薦使用const

//#define len 10

const int len = 10;

/** *最大子串行和

* */

int submaxsum(int *a, int length)else if(thismax < 0)

} return max;

}/**

*最小子序列和

*n */

int subminsum(int a, int length)

} return min;

}struct node

; int cmp(const node& t1,const node& t2)

/***最小正子串行和

*n*logn

*/int positivesubminsum(int *data, int len)

} delete temp;

temp=0;

return sum;

}void swap(int& a, int& b)

/** *最大子串行乘積(同時也求出了最小的子串行乘積)

*在找最大的值得時候,必須記錄最小值,因為有負數存在,最小的數可能變成最大的數

*/int mutisubmax(int *a, int length)

return maxproduct;

}int main();

cout<<"列表:"<

資料結構與演算法分析

資料結構與演算法分析可以稱得上是程式設計師必須修煉的內功心法。資料的儲存結構 資料元素在計算機中的儲存方式 資料的操作集合 對一種資料型別的資料所有操作,例如對資料的增刪改查等等!演算法分析主要分析 下面是一些常用資料結構 一 線性表 1.陣列實現 2.鍊錶 二 棧與佇列 三 樹與二叉樹 1.樹2....

資料結構與演算法分析

資料結構 大量資料的組織方法 演算法分析 演算法執行時間的估算。涉及到計算效率。設想,如果能把時間限制從16年減至不到1秒,不很神奇嗎?在很多問題中,乙個重要的觀念是 寫出乙個可以工作的程式並不夠。如果這個程式在巨大的資料集上執行,執行時間就成了重要的 問題。演算法,是為求解乙個問題需要遵循的 被清...

資料結構與演算法 24最長上公升子串行

輸入的第一行是序列的長度n 1 n 1000 第二行給出序列中的n個整數,這些整數的取值範圍都在0到10000。output 最長上公升子串行的長度。sample input 7 1 7 3 5 9 4 8 sample output 參考程式 include include define len ...