資料結構 遞迴求出最大值

2021-09-12 17:38:38 字數 763 閱讀 4078

* 遞迴排序:能用遞迴解決的問題都可以使用非遞迴來完成。

* 時間複雜度:t(n) = a*t(n/b) + o(n^d)

* 1) log(b,a) > d --> 複雜度為o(n^log(b,a))  

* 2) log(b,a) = d --> 複雜度為o(n^d * logn)

* 3) log(b,a) < d --> 複雜度為o(n^d)

* 在本題中,將n樣本量分成兩部分,執行兩次因此a=2;b=2;除此之外還有乙個比較操作,常數等級o(n^0)=o(1)

所以最終時間複雜度為o(n^log(2,2))=o(n)

* @author super_li

public class recursivesort 

int mid=(start+end)/2;

// 每次分成兩個部分,呼叫自己的方法 ,壓棧執行;

int maxleftvalue=recursivesort(arr,start,mid);

int maxrightvalue=recursivesort(arr,mid+1,end);

return maxleftvalue>maxrightvalue?maxleftvalue:maxrightvalue;

} public static void main(string args) ;

system.out.println(recursivesort(arr,0,arr.length-1));

}}

資料結構 生成視窗最大值陣列

程式設計師 面試指南 左程雲 讀書筆記 7 第一章生成視窗最大值陣列 題目 有乙個整形陣列arr和乙個大小為w的視窗從陣列的最左邊滑到最右邊,視窗每次向右邊滑乙個位置。例如 陣列為 4 3 5 4 3 3 6 7 視窗大小為3時 4 3 5 4 3 3 6 7 視窗最大值為5 4 3 5 4 3 3...

求出陣列的最大值和次大值

求陣列的最大值相對來說是比較簡單,只需要遍歷一遍陣列,不斷更新陣列的最大值,直到遍歷完成。自然語言描述 1.初始化最大值的角標 2.遍歷陣列,比較當前的最大值角標的元素和遍歷得到陣列元素的大小 如果陣列元素大於當前最大值,更新最大值角標為遍歷到的陣列元素角標,直到遍歷完成程式語言描述 int get...

資料結構 遞迴法求解棧中最大值和最小值

遞迴法求解最大值和最小值 問題描述 若乙個無序的線性表a maxsize 採用順序儲存方式,元素型別為整型數。試寫出遞迴演算法求出a中的最大元素和最小元素。要求 順序表的資料通過呼叫演算法initrandomize 隨機產生。遞迴求棧中最大值的核心 如下 int recursion max sqst...