.


:




:

































 

 

 

 


, . , 1 ., 10 ., 2 . 5 . . , . . O(f(n)), N, , f(N). , A[NxN] .
for i:=1 to N do

begin
max:=A[i,1];
for j:=1 to N do
begin
if A[i,j]>max then
max:=A[i,j]
end;
writeln(max);
end;

i 1 N. i, j 1 N. N , N . N*N. O(N^2).

, , . , N^3+N. O(N^3). N. , N=100, N^3+N=1000100 N=1000000 100, 0,01%.
O . 3N^3 , O(N^3). O(N) .

. .
, . (, ), . O(N) , . , .
: Slow O(N^3) Fast O(N^2).
procedure Slow;
var
i,j,k: integer;
begin
for i:=1 to N do
for j:=1 to N do
for k:=1 to N do
{- }
end;
procedure Fast;
var
i,j: integer;
begin
for i:=1 to N do
for j:=1 to N do
Slow;
end;
procedure Both;
begin
Fast;
end;
Fast Slow, . O(N^2)*O(N^3)=O(N^5).
, : O(N^2)+O(N^3)=O(N^3). :
procedure Slow;
var
i,j,k: integer;
begin
for i:=1 to N do
for j:=1 to N do
for k:=1 to N do
{- }
end;
procedure Fast;
var
i,j: integer;
begin
for i:=1 to N do
for j:=1 to N do
{- }
end;
procedure Both;
begin
Fast;
Slow;
end;

, , . . , . , , . : function Factorial(n: Word): integer;
begin
if n > 1 then
Factorial:=n*Factorial(n-1)
else
Factorial:=1;
end;

N , , O(N).

, , . , , . :

procedure DoubleRecursive(N: integer);
begin
if N>0 then
begin
DoubleRecursive(N-1);
DoubleRecursive(N-1);
end;
end;

, , O(2N)=O(N). . , , O(2^(N+1)-1)=O(2^N). , .

. , . .



<== | ==>
Obsessive-compulsive personality disorder ( ) |
:


: 2016-11-24; !; : 1152 |


:

:

, - , ; , - .
==> ...

1644 - | 1655 -


© 2015-2024 lektsii.org - -

: 0.012 .