.


:




:

































 

 

 

 





P ( ) , .

NP ( ) , . P Í NP, . . , , .

P NP, P NP-P . P () , NP-P , NP-P. P ¹ NP , ( ) - A B, A μp(n)B p(n). A NP-, A Î NP B Î NP B A. NP- . .. NP . () NP- : , , , , , , , , , , , , , , ..

. : , NP- ?__

10. . 5.3. , , , . , - , () .

, . , . - :

, ,

, - .

. x[i..j], maxsofar . , maxsofar3, . n , , , - .

maxsofar(0,n-1).

FUNCTION maxsofar(i,j:INTEGER):REAL; BEGIN

IF i>j THEN maxsofar:=0 //

ELSE IF i=j THEN maxsofar:=max(0,x[i])//

ELSE BEGIN m:=(i+j+1) DIV 2; //

max1:=maxsofar(i,m-1); //

max2:=maxsofar(m,j); //

max3:=maxsofar3(i,j,m); //

maxsofar:=max(max1,max2,max3)

END END

maxsofar3(i,j,m)

{[l..u]/i≤l<m≤u≤j}.

:

(m-1): {[l..(m-1)]/i≤l<m}

m: {[m..u]/m≤u≤j}

FUNCTION maxsofar3(i,j,m:INTEGER):REAL; BEGIN

maxL:=0; sum:=0; FOR k:=m-1 DOWNTO i DO

BEGIN sum:=sum+x[k]; maxL:=max(maxL,sum) END;

maxU:=0; sum:=0; FOR k:=m TO j DO

BEGIN sum:=sum+x[k]; maxU:=max(maxU,sum) END;

maxsofar3:= maxL+maxU END

T3(j-i+1)=O(j - i +1).

5.3. , , . : T(n)= 2*T(n/2)+T3(n), T(n/2) ( ), T3(n)=O(n) - . - , , T3(n). . . ( ) [4 .4.3.]. a ³ 1 b > 1 - , f (n) - , T (n) n T(n) = aT (n / b) + f (n)

n / b én / bù ën / bû. d a b = log. :

1) f (n) = O(nd -e b) e > 0, T(n) = Q(nd);

2) f (n) = O(ndb), T(n) = Q(nd log n);

3) f (n) = O(nd +e b) e > 0 af (n / b) £ cf (n) c <1 n, T (n) = Q(f (n)).

. T(1) T(2) (1 U 2). , .

a = b = 2 d = 1, 2 T (n) = Q(n log n). , , , - 5.3 , , O(n2). . , . , - , ( ) , , . . , , : . , .

 





:


: 2016-11-18; !; : 1243 |


:

:

. .
==> ...

1418 - | 1386 -


© 2015-2024 lektsii.org - -

: 0.011 .