for迴圈優化

2021-09-02 12:52:50 字數 740 閱讀 9762

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方法執行的次數是固定的,這方面不存在優化的可能。此時,我們要想,那麼該如何優化...