¡¶Êý¾Ý½á¹¹ - CÓïÑÔÃèÊö¡·Ï°Ìâ¼°´ð°¸ ¹¢¹ú»ª 2

µÚ1Õ Ð÷ ÂÛ

ϰÌâ

Ò»¡¢ÎÊ´ðÌâ

1. ʲôÊÇÊý¾Ý½á¹¹£¿

2. ËÄÀà»ù±¾Êý¾Ý½á¹¹µÄÃû³ÆÓ뺬Òå¡£ 3. Ëã·¨µÄ¶¨ÒåÓëÌØÐÔ¡£ 4. Ëã·¨µÄʱ¼ä¸´ÔÓ¶È¡£ 5. Êý¾ÝÀàÐ͵ĸÅÄî¡£

6. ÏßÐԽṹÓë·ÇÏßÐԽṹµÄ²î±ð¡£ 7. ÃæÏò¶ÔÏó³ÌÐòÉè¼ÆÓïÑÔµÄÌØµã¡£

8. ÔÚÃæÏò¶ÔÏó³ÌÐòÉè¼ÆÖУ¬ÀàµÄ×÷ÓÃÊÇʲô£¿ 9. ²ÎÊý´«µÝµÄÖ÷Òª·½Ê½¼°Ìص㡣 10. ³éÏóÊý¾ÝÀàÐ͵ĸÅÄî¡£ ¶þ¡¢ÅжÏÌâ

1. ÏßÐԽṹֻÄÜÓÃ˳Ðò½á¹¹À´´æ·Å£¬·ÇÏßÐԽṹֻÄÜÓ÷Ç˳Ðò½á¹¹À´´æ·Å¡£ 2. Ëã·¨¾ÍÊdzÌÐò¡£

3. Ôڸ߼¶ÓïÑÔ£¨ÈçC¡¢»ò PASCAL£©ÖУ¬Ö¸ÕëÀàÐÍÊÇÔ­×ÓÀàÐÍ¡£

Èý¡¢¼ÆËãÏÂÁгÌÐò¶ÎÖÐX=X+1µÄÓï¾äƵ¶È

for(i=1;i<=n;i++) for(j=1;j<=i;j++)

for(k=1;k<=j;k++) x=x+1;

[Ìáʾ]£º

i=1ʱ£º 1 = (1+1)¡Á1/2 = (1+12)/2 i=2ʱ£º 1+2 = (1+2)¡Á2/2 = (2+22)/2 i=3ʱ£º 1+2+3 = (1+3)¡Á3/2 = (3+32)/2 ¡­

i=nʱ£º 1+2+3+¡­¡­+n = (1+n)¡Án/2 = (n+n2)/2

f(n) = [ (1+2+3+¡­¡­+n) + (12 + 22 + 32 + ¡­¡­ + n2 ) ] / 2 =[ (1+n)n/2 + n(n+1)(2n+1)/6 ] / 2 =n(n+1)(n+2)/6 =n3/6+n2/2+n/3

Çø·ÖÓï¾äƵ¶ÈºÍËã·¨¸´ÔÓ¶È£º O(f(n)) = O(n3) ËÄ

¡¢

ÊÔ

±à

д

Ëã

·¨

Çó

Ò»

Ôª

¶à

Ïî

ʽ

Pn(x)=a0+a1x+a2x2+a3x3+¡­anxnµÄÖµPn(x0)£¬²¢È·¶¨Ëã·¨ÖеÄÿһÓï¾äµÄÖ´ÐдÎÊýºÍÕû¸öËã·¨µÄʱ¼ä¸´ÔÓ¶È£¬ÒªÇóʱ¼ä¸´ÔӶȾ¡¿ÉÄܵÄС£¬¹æ¶¨Ëã·¨Öв»ÄÜʹÓÃÇóÃݺ¯Êý¡£×¢Ò⣺±¾ÌâÖеÄÊäÈëai(i=0,1,¡­,n), xºÍn£¬Êä³öΪPn(x0).ͨ³£Ëã·¨µÄÊäÈëºÍÊä³ö

¿É²ÉÓÃÏÂÁÐÁ½ÖÖ·½Ê½Ö®Ò»£º

£¨1£© ͨ¹ý²ÎÊý±íÖеIJÎÊýÏÔʽ´«µÝ£» £¨2£© ͨ¹ýÈ«¾Ö±äÁ¿Òþʽ´«µÝ¡£

ÊÔÌÖÂÛÕâÁ½ÖÖ·½·¨µÄÓÅȱµã£¬²¢ÔÚ±¾ÌâËã·¨ÖÐÒÔÄãÈÏΪ½ÏºÃµÄÒ»ÖÖ·½Ê½ÊµÏÖÊäÈëºÍÊä³ö¡£

[Ìáʾ]£ºfloat PolyValue(float {¡­¡­}

ºËÐÄÓï¾ä£º

p=1; (xµÄÁã´ÎÃÝ) s=0;

i´Ó0µ½nÑ­»· s=s+a[i]*p; p=p*x;

»ò£º

p=x; (xµÄÒ»´ÎÃÝ) s=a[0]; i´Ó1µ½nÑ­»· s=s+a[i]*p; p=p*x;

a[ ], float x, int n) ʵϰÌâ

Éè¼ÆÊµÏÖ³éÏóÊý¾ÝÀàÐÍ¡°ÓÐÀíÊý¡±¡£»ù±¾²Ù×÷°üÀ¨ÓÐÀíÊýµÄ¼Ó·¨¡¢¼õ·¨¡¢³Ë·¨¡¢³ý·¨£¬ÒÔ¼°ÇóÓÐÀíÊýµÄ·Ö×Ó¡¢·Öĸ¡£

µÚÒ»Õ´ð°¸

1.3¼ÆËãÏÂÁгÌÐòÖÐx=x+1µÄÓï¾äƵ¶È for(i=1;i<=n;i++)

for(j=1;j<=i;j++)

for(k=1;k<=j;k++) x=x+1;

¡¾½â´ð¡¿x=x+1µÄÓï¾äƵ¶ÈΪ£º

T(n)=1+(1+2)+£¨1+2+3£©+¡­¡­+£¨1+2+¡­¡­+n£©=n(n+1)(n+2)/6

1. 4ÊÔ±àдËã·¨£¬Çópn(x)=a0+a1x+a2x2+¡­¡­.+anxnµÄÖµpn(x0),²¢È·¶¨Ëã·¨ÖÐÿһÓï¾äµÄ

Ö´ÐдÎÊýºÍÕû¸öËã·¨µÄʱ¼ä¸´ÔÓ¶È£¬ÒªÇóʱ¼ä¸´ÔӶȾ¡¿ÉÄÜС£¬¹æ¶¨Ëã·¨Öв»ÄÜʹÓÃÇóÃݺ¯Êý¡£×¢Ò⣺±¾ÌâÖеÄÊäÈëΪai(i=0,1,¡­n)¡¢xºÍn,Êä³öΪPn(x0)¡£ Ëã·¨µÄÊäÈëºÍÊä³ö²ÉÓÃÏÂÁз½·¨£¨1£©Í¨¹ý²ÎÊý±íÖеIJÎÊýÏÔʽ´«µÝ£¨2£©Í¨¹ýÈ«¾Ö±äÁ¿Òþʽ´«µÝ¡£ÌÖÂÛÁ½ÖÖ·½·¨µÄÓÅȱµã£¬²¢ÔÚËã·¨ÖÐÒÔÄãÈÏΪ½ÏºÃµÄÒ»ÖÖʵÏÖÊäÈëÊä³ö¡£ ¡¾½â´ð¡¿

£¨1£©Í¨¹ý²ÎÊý±íÖеIJÎÊýÏÔʽ´«µÝ

Óŵ㣺µ±Ã»Óе÷Óú¯Êýʱ£¬²»Õ¼ÓÃÄڴ棬µ÷ÓýáÊøºóÐβα»ÊÍ·Å£¬Êµ²Îά³Ö£¬º¯Êýͨ

ÓÃÐÔÇ¿£¬ÒÆÖÃÐÔÇ¿¡£

ȱµã£ºÐβÎÐëÓëʵ²Î¶ÔÓ¦£¬ÇÒ·µ»ØÖµÊýÁ¿ÓÐÏÞ¡£ £¨2£©Í¨¹ýÈ«¾Ö±äÁ¿Òþʽ´«µÝ

Óŵ㣺¼õÉÙʵ²ÎÓëÐβεĸöÊý£¬´Ó¶ø¼õÉÙÄÚ´æ¿Õ¼äÒÔ¼°´«µÝÊý¾ÝʱµÄʱ¼äÏûºÄ ȱµã£ºº¯ÊýͨÓÃÐÔ½µµÍ£¬ÒÆÖ²ÐÔ²î Ëã·¨ÈçÏ£ºÍ¨¹ýÈ«¾Ö±äÁ¿Òþʽ´«µÝ²ÎÊý PolyValue() { int i,n;

float x,a[],p; printf(¡°\\nn=¡±); scanf(¡°%f¡±,&n); printf(¡°\\nx=¡±); scanf(¡°%f¡±,&x); for(i=0;i

scanf(¡°%f ¡±,&a[i]); /*Ö´ÐдÎÊý£ºn´Î */ p=a[0];

for(i=1;i<=n;i++)

{ p=p+a[i]*x; /*Ö´ÐдÎÊý£ºn´Î*/ x=x*x;} printf(¡°%f¡±,p); }

Ëã·¨µÄʱ¼ä¸´ÔÓ¶È£ºT(n)=O(n)

ÁªÏµ¿Í·þ£º779662525#qq.com(#Ìæ»»Îª@)