рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдкрдиреЗ рдкрд╣рд▓реЗ рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░ рдХреА рддреИрдпрд╛рд░реА рдХрд░рдиреЗ рд╡рд╛рд▓реЛрдВ рдореЗрдВ рд╕реЗ рдХреБрдЫ, рдЬрдм рдПрдХ (рдкреНрд░реА) рдЬреВрдирд┐рдпрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдкрдиреА рдкрд╣рд▓реА рдиреМрдХрд░реА рдХреЗ рд▓рд┐рдП рд╣рд╛рдпрд░ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕ рд╕рд╡рд╛рд▓ рдХрд╛ рдЬрд╡рд╛рдм рдирдХрд╛рд░рд╛рддреНрдордХ рдореЗрдВ рджреЗрдВрдЧреЗред рдпрд╛ рдХрдо рд╕реЗ рдХрдо рд╕рдХрд╛рд░рд╛рддреНрдордХ рдЙрддреНрддрд░ рдкрд░ рд╕рдВрджреЗрд╣ рдХрд░реЗрдВред рдмреЗрд╢рдХ, рд╕реВрдЪрдХрд╛рдВрдХ рджреНрд╡рд╛рд░рд╛ рд╕реАрдзреА рдкрд╣реБрдВрдЪ рдХреЗ рд╕рд╛рде рдЗрд╕ рддрд░рд╣ рдХреА рдПрдХ рд╕рд░рд▓ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ - рдХреЛрдИ рдЪрд╛рд▓ рдирд╣реАрдВ! рдирд╣реАрдВ, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдпрд╛ PHP рдЬреИрд╕реА рдХреБрдЫ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ, рд╕рд░рдгрд┐рдпрд╛рдБ, рдмрд╣реБрдд рджрд┐рд▓рдЪрд╕реНрдк рддрд░реАрдХреЗ рд╕реЗ рд▓рд╛рдЧреВ рдХреА рдЬрд╛рддреА рд╣реИрдВ, рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд┐рд░реНрдл рдПрдХ рд╕рд░рдгреА рд╕реЗ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реИрдВред рд▓реЗрдХрд┐рди рдпрд╣ рдЙрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди "рд╕реНрдореГрддрд┐ рдХреЗ рдирд┐рд░рдВрддрд░ рдЯреБрдХрдбрд╝реЗ" рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ "рдкрд╛рд░рдВрдкрд░рд┐рдХ" рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕реВрдЪрдХрд╛рдВрдХреЛрдВ рдФрд░ рдПрдХ рддрддреНрд╡ рдХреЗ рдЖрдХрд╛рд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдкрддреЗ рдХреА рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рдореВрд▓реНрдп рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛рддреА рд╣реИред рдЗрддрдирд╛ рдЬрдЯрд┐рд▓ рдХреНрдпрд╛ рд╣реИ?
рдЪрд▓рд┐рдП рдЗрд╕рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрд╛рд╡рд╛ рдореЗрдВред рд╣рдо рдкреВрд░реНрдгрд╛рдВрдХ рд╡рд╛рд▓реЗ рдЖрд╡реЗрджрдХ рд╕реЗ рдкреВрд░реНрдгрд╛рдВрдХ
n x
n рдХреА рдПрдХ рд╕рд░рдгреА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддреЗ рд╣реИрдВред рдПрдХ рдЖрджрдореА рдЖрддреНрдорд╡рд┐рд╢реНрд╡рд╛рд╕ рд╕реЗ рдХреБрдЫ рд▓рд┐рдЦрддрд╛ рд╣реИ:
int g[][] = new int[n][n];
. -. , . :
for(int i = 0; i < n; i++) {
for(int j = 0; j < n; j++) {
g[i][j] = i + j;
}
}
for(int i = 0; i < g.length; i++) {
for(int j = 0; j < g[i].length; j++) {
g[i][j] = i + j;
}
}
, . , , . , . , , ? - :
for(int i = 0; i < n; i++) {
g[i][i] = 2* i;
for(int j = 0; j < i; j++) {
g[j][i] = g[i][j] = i + j;
}
}
g[i][i] = 2* i;
g[i][i] = i + i;
g[i][i] = i << 1;
. :
?. : 2 ; 2 (); . 30. , .
. -
n ( ), ,
.
class A {
public static void main(String[] args) {
int n = 8000;
int g[][] = new int[n][n];
long st, en;
st = System.nanoTime();
for(int i = 0; i < n; i++) {
for(int j = 0; j < n; j++) {
g[i][j] = i + j;
}
}
en = System.nanoTime();
System.out.println("\nOne time " + (en - st)/1000000.d + " msc");
st = System.nanoTime();
for(int i = 0; i < n; i++) {
g[i][i] = i + i;
for(int j = 0; j < i; j++) {
g[j][i] = g[i][j] = i + j;
}
}
en = System.nanoTime();
System.out.println("\nTwo time " + (en - st)/1000000.d + " msc");
}
}
? 10-100 ! . ( ) . , . . , ? ┬л?┬╗. , .
. , , .
, , ┬л Java ┬╗.
. Free Pascal Windows
program Time;
uses
Windows;
var
start, finish, res: int64;
n, i, j: Integer;
g: Array of Array of Integer;
begin
n := 10000;
SetLength(g, n, n);
QueryPerformanceFrequency(res);
QueryPerformanceCounter(start);
for i:=1 to n-1 do
for j:=1 to n-1 do
g[i,j] := i + j;
QueryPerformanceCounter(finish);
writeln('Time by rows:', (finish - start) / res, ' sec' );
QueryPerformanceCounter(start);
for i:=1 to n-1 do
for j:=1 to n-1 do
g[j,i] := i + j;
QueryPerformanceCounter(finish);
writeln('Time by cols:', (finish - start) / res, ' sec' );
end.
┬л┬╗ . .
?
1. ? тАж
2. ?
Java,
n. ,
ideone.com n=117 ┬л┬╗ . n=118 100 () ! . .
, , ?
. , . , . , . .. , , , .
┬л┬╗ . . , . , . , . .. , . .
. , ? , ┬л┬╗ .
. fps . .
, ┬л┬╗ . .. , . . . , тАФ ? тАФ
ideone.com/tMaR2S. 100000 . ?
(Big_Lebowski), . . , leventov.
ideone.com/yN1H4g. .. ~10% . - . , . -.
. . , .