乙個demo告訴你優化演算法的強大

2021-08-27 12:04:13 字數 1435 閱讀 6522

這裡的demo是乙個累加演算法,如1,2,3,4.....n

即:sum = 1+2+3+4......+n;

我們可以這樣做:

1

/**2

* 迴圈實現累加方法3*

@param

value4*

@return5*/

6private

static

long cycle(long

value)

12return

sum;

13 }

另一種方法(高斯方法):

1

/**2

* 高斯方法:(n+1)*n/2

3* you can read more from

">here4*

@param

value 5*

@return6*/

7private

static

long gaosi(long

value)

我們可以寫乙個demo來測試他們的差別:

1

/**2* 3

*/4package

com.b510.arithmetic;56

/**7

* 累加演算法實現8*

9* @date 2013-4-16

10*

@author

hongten

11*

12*/

13public

class

addarithmetic

26return

sum;27}

2829

/**30

* 高斯方法:(n+1)*n/2

31* you can read more from

">here

32*

@param

value

33*

@return

34*/

35private

static

long gaosi(long

value)

4041

public

static

void

main(string args)

5960 }

你可以改變main方法中的value的值,來測試他們所消耗的系統時間....

當然不同配置的機器執行結果是不一樣的...

我機器運**況:

使用迴圈累加方法從[1]累加到[10000000]用時 : [24]ms,結果:50000005000000使用高斯方法從[1]累加到[10000000]用時 : [0]ms,結果:50000005000000

乙個demo告訴你HashMap容量變化

對hashmap所有了解的都知道hashmap有乙個負載因子loadfactor,當hashmap容量超過閥值時將進行擴容,該文就是根據圍繞hashmap的閥值 容量進行 這些 也是源於一開始了解hashmap的容量都是通過別人的文章,卻從未自己去體驗測試過。該文主要解決之前促使我去 hashmap...

CODING 告訴你如何建立乙個 Scrum 團隊

翻譯君 coding 敏傑小王子 scrum 當中有三個角色 po product owner 敏捷教練 scrum master 和開發團隊。雖然這看起來很清晰,但如何處理現有職位的問題可能會讓人感到困惑。許多團隊詢問在採用 scrum 時是否需要更改崗位名稱?最簡潔的答案是 不 在本文中,我們將...

aop的乙個小demo

註解方式通知配置增強 切入點及前置通知,後置通知,返回通知,異常通知,環繞通知的配置 aspect service publicclasslogaspect before dolog publicvoiddobefore after dolog publicvoiddoafter 核心業務正常結束時...