1.原:
for (int i = 0; i < 1000; i++)
for (int j = 0; j < 100; j++)
for (int k = 0; k < 10; k++)
testfunction (i, j, k);
優化方案一:
for (int i = 0; i < 10; i++)
for (int j = 0; j < 100; j++)
for (int k = 0; k < 1000; k++)
testfunction (k, j, i);
優化方案二:
int i, j, k;
for (i = 0; i < 10; i++)
for (j = 0; j < 100; j++)
for (k = 0; k < 1000; k++)
testfunction (k, j, i);
方案主要是將迴圈次數最少的放到外面,迴圈次數最多的放裡面,這樣可以最大程度的(注:3個不同次數的迴圈變數共有6種排列組合情況,此種組合為最優)減少相關迴圈變數的例項化次數、初始化次數、比較次數、自增次數
2.通常使用的for迴圈語句形式有:
int i;
for (i=0;i
這種迴圈形式,我想一般人都用過,對這種迴圈的優化如下:
int i;
for (i=n;i>0;i--)
python優化迴圈 Python 優化迴圈
我希望優化一些由兩個巢狀迴圈組成的 python 我對numpy並不那麼熟悉,但據我所知,它應該能夠幫助我提高這項任務的效率.下面是我編寫的測試 它反映了實際 中發生的情況.目前使用numpy範圍和迭代器比通常的python更慢.我究竟做錯了什麼?這個問題的最佳解決方案是什麼?謝謝你的幫助!impo...
for迴圈優化
某些情況下我們可以不使用迴圈而達到迴圈求解的效果。這裡我想介紹一種for迴圈的優化。例項情況 已知變數n值,求i值 int sum 0,int i 0 while sum n sum i system.out.println i i 注 int sum 0,int i 1 while sum n s...
for迴圈優化
例子 for int i 0 i 1000 i for int j 0 j 100 j for int k 0 k 10 k test i,j,k 對例子進行分析 首先要了解到,對於上面的 無論我們想如何進行優化,test方法執行的次數是固定的,這方面不存在優化的可能。此時,我們要想,那麼該如何優化...