#define IMGX 8192
#define IMGY 8192
int red_freq[256];
char img[IMGY][IMGX][3];
main(){
int i, j;
long long total;
long long redness;
for (i = 0; i < 256; i++)
red_freq[i] = 0;
for (i = 0; i < IMGY; i++)
for (j = 0; j < IMGX; j++)
red_freq[img[i][j][0]] += 1;
total = 0;
for (i = 0; i < 256; i++)
total += (long long)i * (long long)red_freq[i];
redness = (total + (IMGX*IMGY/2))/(IMGX*IMGY);
あなたは同じままされている他のCでのアルゴリズム比較、違いは何ですか?
for (j = 0; j < IMGX; j++)
for (i = 0; i < IMGY; i++)
red_freq[img[i][j][0]] += 1;
すべてにループする第二を交換し、なぜ最初のアルゴリズムはその後、第2のアルゴリズムよりも高速です違いは何ですか?
メモリ割り当てと関係がありますか?
ああ、そうではありませんでした!私はこのことについてブラッドに伝えるべきです。 – mpen
私は最初に何を言う人にさせてください –
@ 1800:私はこの男が私のクラスの仲間の学生であると確信しています。これは私たちが今受け取ったHWの質問です。ブラッドは私たちの教授です。 – mpen