Êý¾Ý½á¹¹¿ÎºóϰÌâ´ð°¸ ÏÂÔØ±¾ÎÄ

µÚ1Õ Ð÷ÂÛ

1£®¼òÊöÏÂÁиÅÄÊý¾Ý¡¢Êý¾ÝÔªËØ¡¢Êý¾ÝÏî¡¢Êý¾Ý¶ÔÏó¡¢Êý¾Ý½á¹¹¡¢Âß¼­½á¹¹¡¢´æ´¢½á¹¹¡¢³éÏóÊý¾ÝÀàÐÍ¡£

´ð°¸£º

Êý¾Ý£ºÊǿ͹ÛÊÂÎïµÄ·ûºÅ±íʾ£¬Ö¸ËùÓÐÄÜÊäÈëµ½¼ÆËã»úÖв¢±»¼ÆËã»ú³ÌÐò´¦ÀíµÄ·ûºÅµÄ×ܳơ£ÈçÊýѧ¼ÆËãÖÐÓõ½µÄÕûÊýºÍʵÊý£¬Îı¾±à¼­ËùÓõ½µÄ×Ö·û´®£¬¶àýÌå³ÌÐò´¦ÀíµÄͼÐΡ¢Í¼Ïñ¡¢ÉùÒô¡¢¶¯»­µÈͨ¹ýÌØÊâ±àÂ붨ÒåºóµÄÊý¾Ý¡£

Êý¾ÝÔªËØ£ºÊÇÊý¾ÝµÄ»ù±¾µ¥Î»£¬ÔÚ¼ÆËã»úÖÐͨ³£×÷Ϊһ¸öÕûÌå½øÐп¼ÂǺʹ¦Àí¡£ÔÚÓÐЩÇé¿öÏ£¬Êý¾ÝÔªËØÒ²³ÆÎªÔªËØ¡¢½áµã¡¢¼Ç¼µÈ¡£Êý¾ÝÔªËØÓÃÓÚÍêÕûµØÃèÊöÒ»¸ö¶ÔÏó£¬ÈçÒ»¸öѧÉú¼Ç¼£¬Ê÷ÖÐÆåÅ̵ÄÒ»¸ö¸ñ¾Ö£¨×´Ì¬£©¡¢Í¼ÖеÄÒ»¸ö¶¥µãµÈ¡£

Êý¾ÝÏÊÇ×é³ÉÊý¾ÝÔªËØµÄ¡¢ÓжÀÁ¢º¬ÒåµÄ¡¢²»¿É·Ö¸îµÄ×îСµ¥Î»¡£ÀýÈ磬ѧÉú»ù±¾ÐÅÏ¢±íÖеÄѧºÅ¡¢ÐÕÃû¡¢ÐÔ±ðµÈ¶¼ÊÇÊý¾ÝÏî¡£

Êý¾Ý¶ÔÏó£ºÊÇÐÔÖÊÏàͬµÄÊý¾ÝÔªËØµÄ¼¯ºÏ£¬ÊÇÊý¾ÝµÄÒ»¸ö×Ó¼¯¡£ÀýÈ磺ÕûÊýÊý¾Ý¶ÔÏóÊǼ¯ºÏN={0£¬¡À1£¬¡À2£¬?}£¬×Öĸ×Ö·ûÊý¾Ý¶ÔÏóÊǼ¯ºÏC={¡®A¡¯£¬¡®B¡¯£¬?£¬¡®Z¡¯£¬ ¡®a¡¯£¬¡®b¡¯£¬?£¬¡®z¡¯}£¬Ñ§Éú»ù±¾ÐÅÏ¢±íÒ²¿ÉÊÇÒ»¸öÊý¾Ý¶ÔÏó¡£

Êý¾Ý½á¹¹£ºÊÇÏ໥֮¼ä´æÔÚÒ»ÖÖ»ò¶àÖÖÌØ¶¨¹ØÏµµÄÊý¾ÝÔªËØµÄ¼¯ºÏ¡£»»¾ä»°Ëµ£¬Êý¾Ý½á¹¹ÊÇ´ø¡°½á¹¹¡±µÄÊý¾ÝÔªËØµÄ¼¯ºÏ£¬¡°½á¹¹¡±¾ÍÊÇÖ¸Êý¾ÝÔªËØÖ®¼ä´æÔڵĹØÏµ¡£

Âß¼­½á¹¹£º´ÓÂß¼­¹ØÏµÉÏÃèÊöÊý¾Ý£¬ËüÓëÊý¾ÝµÄ´æ´¢Î޹أ¬ÊǶÀÁ¢ÓÚ¼ÆËã»úµÄ¡£Òò´Ë£¬Êý¾ÝµÄÂß¼­½á¹¹¿ÉÒÔ¿´×÷ÊÇ´Ó¾ßÌåÎÊÌâ³éÏó³öÀ´µÄÊýѧģÐÍ¡£

´æ´¢½á¹¹£ºÊý¾Ý¶ÔÏóÔÚ¼ÆËã»úÖеĴ洢±íʾ£¬Ò²³ÆÎªÎïÀí½á¹¹¡£

³éÏóÊý¾ÝÀàÐÍ£ºÓÉÓû§¶¨ÒåµÄ£¬±íʾӦÓÃÎÊÌâµÄÊýѧģÐÍ£¬ÒÔ¼°¶¨ÒåÔÚÕâ¸öÄ£ÐÍÉϵÄÒ»×é²Ù×÷µÄ×ܳơ£¾ßÌå°üÀ¨Èý²¿·Ö£ºÊý¾Ý¶ÔÏó¡¢Êý¾Ý¶ÔÏóÉϹØÏµµÄ¼¯ºÏºÍ¶ÔÊý¾Ý¶ÔÏóµÄ»ù±¾²Ù×÷µÄ¼¯ºÏ¡£

2£®ÊÔ¾ÙÒ»¸öÊý¾Ý½á¹¹µÄÀý×Ó£¬ÐðÊöÆäÂß¼­½á¹¹ºÍ´æ´¢½á¹¹Á½·½ÃæµÄº¬ÒåºÍÏ໥¹ØÏµ¡£

´ð°¸£º

ÀýÈçÓÐÒ»ÕÅѧÉú»ù±¾ÐÅÏ¢±í£¬°üÀ¨Ñ§ÉúµÄѧºÅ¡¢ÐÕÃû¡¢ÐԱ𡢼®¹á¡¢×¨ÒµµÈ¡£Ã¿¸öѧÉú»ù±¾ÐÅÏ¢¼Ç¼¶ÔÓ¦Ò»¸öÊý¾ÝÔªËØ£¬Ñ§Éú¼Ç¼°´Ë³ÐòºÅÅÅÁУ¬ÐγÉÁËѧÉú»ù±¾ÐÅÏ¢¼Ç¼µÄÏßÐÔÐòÁС£¶ÔÓÚÕû¸ö±íÀ´Ëµ£¬Ö»ÓÐÒ»¸ö¿ªÊ¼½áµã(ËüµÄÇ°ÃæÎ޼Ǽ)ºÍÒ»¸öÖն˽áµã(ËüµÄºóÃæÎ޼Ǽ)£¬ÆäËûµÄ½áµãÔò¸÷ÓÐÒ»¸öÒ²Ö»ÓÐÒ»¸öÖ±½ÓǰÇ÷ºÍÖ±½Óºó¼Ì¡£Ñ§Éú¼Ç¼֮¼äµÄÕâÖÖ¹ØÏµ¾ÍÈ·¶¨ÁËѧÉú±íµÄÂß¼­½á¹¹£¬¼´ÏßÐԽṹ¡£

ÕâЩѧÉú¼Ç¼ÔÚ¼ÆËã»úÖеĴ洢±íʾ¾ÍÊÇ´æ´¢½á¹¹¡£Èç¹ûÓÃÁ¬ÐøµÄ´æ´¢µ¥Ôª(ÈçÓÃÊý×é±íʾ)À´´æ·ÅÕâЩ¼Ç¼£¬Ôò³ÆÎªË³Ðò´æ´¢½á¹¹£»Èç¹û´æ´¢µ¥Ôª²»Á¬Ðø£¬¶øÊÇËæ»ú´æ·Å¸÷¸ö¼Ç¼£¬È»ºóÓÃÖ¸Õë½øÐÐÁ´½Ó£¬Ôò³ÆÎªÁ´Ê½´æ´¢½á¹¹¡£

¼´ÏàͬµÄÂß¼­½á¹¹£¬¿ÉÒÔ¶ÔÓ¦²»Í¬µÄ´æ´¢½á¹¹¡£ 3£®¼òÊöÂß¼­½á¹¹µÄËÄÖÖ»ù±¾¹ØÏµ²¢»­³öËüÃǵĹØÏµÍ¼¡£

1

´ð°¸£º £¨1£©¼¯ºÏ½á¹¹

Êý¾ÝÔªËØÖ®¼ä³ýÁË¡°ÊôÓÚͬһ¼¯ºÏ¡±µÄ¹ØÏµÍ⣬±ðÎÞÆäËû¹ØÏµ¡£ÀýÈ磬ȷ¶¨Ò»ÃûѧÉúÊÇ·ñΪ°à¼¶³ÉÔ±£¬Ö»Ð轫°à¼¶¿´×öÒ»¸ö¼¯ºÏ½á¹¹¡£

£¨2£©ÏßÐԽṹ

Êý¾ÝÔªËØÖ®¼ä´æÔÚÒ»¶ÔÒ»µÄ¹ØÏµ¡£ÀýÈ磬½«Ñ§ÉúÐÅÏ¢Êý¾Ý°´ÕÕÆäÈëѧ±¨µ½µÄʱ¼äÏȺó˳Ðò½øÐÐÅÅÁУ¬½«×é³ÉÒ»¸öÏßÐԽṹ¡£

£¨3£©Ê÷½á¹¹

Êý¾ÝÔªËØÖ®¼ä´æÔÚÒ»¶Ô¶àµÄ¹ØÏµ¡£ÀýÈ磬Ôڰ༶µÄ¹ÜÀíÌåϵÖУ¬°à³¤¹ÜÀí¶à¸ö×鳤£¬Ã¿Î»×鳤¹ÜÀí¶àÃû×éÔ±£¬´Ó¶ø¹¹³ÉÊ÷Ðνṹ¡£

£¨4£©Í¼½á¹¹»òÍø×´½á¹¹

Êý¾ÝÔªËØÖ®¼ä´æÔÚ¶à¶Ô¶àµÄ¹ØÏµ¡£ÀýÈ磬¶àλͬѧ֮¼äµÄÅóÓѹØÏµ£¬ÈκÎÁ½Î»Í¬Ñ§¶¼¿ÉÒÔÊÇÅóÓÑ£¬´Ó¶ø¹¹³ÉͼÐνṹ»òÍø×´½á¹¹¡£

ÆäÖÐÊ÷½á¹¹ºÍͼ½á¹¹¶¼ÊôÓÚ·ÇÏßÐԽṹ¡£

ËÄÀà»ù±¾Âß¼­½á¹¹¹ØÏµÍ¼

4£®´æ´¢½á¹¹ÓÉÄÄÁ½ÖÖ»ù±¾µÄ´æ´¢·½·¨ÊµÏÖ£¿ ´ð°¸£º

£¨1£©Ë³Ðò´æ´¢½á¹¹

˳Ðò´æ´¢½á¹¹ÊǽèÖúÔªËØÔÚ´æ´¢Æ÷ÖеÄÏà¶ÔλÖÃÀ´±íʾÊý¾ÝÔªËØÖ®¼äµÄÂß¼­¹ØÏµ£¬Í¨³£½èÖú³ÌÐòÉè¼ÆÓïÑÔµÄÊý×éÀàÐÍÀ´ÃèÊö¡£

£¨2£©Á´Ê½´æ´¢½á¹¹

˳Ðò´æ´¢½á¹¹ÒªÇóËùÓеÄÔªËØÒÀ´Î´æ·ÅÔÚһƬÁ¬ÐøµÄ´æ´¢¿Õ¼äÖУ¬¶øÁ´Ê½´æ´¢½á¹¹£¬ÎÞÐèÕ¼ÓÃÒ»Õû¿é´æ´¢¿Õ¼ä¡£µ«ÎªÁ˱íʾ½áµãÖ®¼äµÄ¹ØÏµ£¬ÐèÒª¸øÃ¿¸ö½áµã¸½¼ÓÖ¸Õë×ֶΣ¬ÓÃÓÚ´æ·Åºó¼ÌÔªËØµÄ´æ´¢µØÖ·¡£ËùÒÔÁ´Ê½´æ´¢½á¹¹Í¨³£½èÖúÓÚ³ÌÐòÉè¼ÆÓïÑÔµÄÖ¸ÕëÀàÐÍÀ´ÃèÊö¡£

5£®Ñ¡ÔñÌâ

£¨1£©ÔÚÊý¾Ý½á¹¹ÖУ¬´ÓÂß¼­ÉÏ¿ÉÒÔ°ÑÊý¾Ý½á¹¹·Ö³É£¨ £©¡£

A£®¶¯Ì¬½á¹¹ºÍ¾²Ì¬½á¹¹ B£®½ô´Õ½á¹¹ºÍ·Ç½ô´Õ½á¹¹

2

C£®ÏßÐԽṹºÍ·ÇÏßÐԽṹ D£®ÄÚ²¿½á¹¹ºÍÍⲿ½á¹¹ ´ð°¸£ºC

£¨2£©ÓëÊý¾ÝÔªËØ±¾ÉíµÄÐÎʽ¡¢ÄÚÈÝ¡¢Ïà¶ÔλÖᢸöÊýÎ޹صÄÊÇÊý¾ÝµÄ£¨ £©¡£

A£®´æ´¢½á¹¹ B£®´æ´¢ÊµÏÖ C£®Âß¼­½á¹¹ D£®ÔËËãʵÏÖ ´ð°¸£ºC

£¨3£©Í¨³£ÒªÇóͬһÂß¼­½á¹¹ÖеÄËùÓÐÊý¾ÝÔªËØ¾ßÓÐÏàͬµÄÌØÐÔ£¬ÕâÒâζ×Å£¨ £©¡£ A£®Êý¾Ý¾ßÓÐÍ¬Ò»ÌØµã

B£®²»½öÊý¾ÝÔªËØËù°üº¬µÄÊý¾ÝÏîµÄ¸öÊýÒªÏàͬ£¬¶øÇÒ¶ÔÓ¦Êý¾ÝÏîµÄÀàÐÍÒªÒ»Ö C£®Ã¿¸öÊý¾ÝÔªËØ¶¼Ò»Ñù

D£®Êý¾ÝÔªËØËù°üº¬µÄÊý¾ÝÏîµÄ¸öÊýÒªÏàµÈ ´ð°¸£ºB

£¨4£©ÒÔÏÂ˵·¨ÕýÈ·µÄÊÇ£¨ £©¡£ A£®Êý¾ÝÔªËØÊÇÊý¾ÝµÄ×îСµ¥Î» B£®Êý¾ÝÏîÊÇÊý¾ÝµÄ»ù±¾µ¥Î»

C£®Êý¾Ý½á¹¹ÊÇ´øÓнṹµÄ¸÷Êý¾ÝÏîµÄ¼¯ºÏ

D£®Ò»Ð©±íÃæÉϺܲ»ÏàͬµÄÊý¾Ý¿ÉÒÔÓÐÏàͬµÄÂß¼­½á¹¹ ´ð°¸£ºD

½âÊÍ£ºÊý¾ÝÔªËØÊÇÊý¾ÝµÄ»ù±¾µ¥Î»£¬Êý¾ÝÏîÊÇÊý¾ÝµÄ×îСµ¥Î»£¬Êý¾Ý½á¹¹ÊÇ´øÓнṹ

µÄ¸÷Êý¾ÝÔªËØµÄ¼¯ºÏ¡£

£¨5£©Ëã·¨µÄʱ¼ä¸´ÔÓ¶ÈÈ¡¾öÓÚ£¨ £©¡£ A£®ÎÊÌâµÄ¹æÄ£ ´ð°¸£ºD

½âÊÍ£ºËã·¨µÄʱ¼ä¸´ÔӶȲ»½öÓëÎÊÌâµÄ¹æÄ£Óйأ¬»¹ÓëÎÊÌâµÄÆäËûÒòËØÓйء£ÈçijЩ

ÅÅÐòµÄËã·¨£¬ÆäÖ´ÐÐʱ¼äÓë´ýÅÅÐò¼Ç¼µÄ³õʼ״̬Óйء£Îª´Ë£¬ÓÐʱ»á¶ÔËã·¨ÓÐ×îºÃ¡¢×ÒÔ¼°Æ½¾ùʱ¼ä¸´ÔÓ¶ÈµÄÆÀ¼Û¡£

£¨6£©ÒÔÏÂÊý¾Ý½á¹¹ÖУ¬£¨ £©ÊÇ·ÇÏßÐÔÊý¾Ý½á¹¹

A£®Ê÷ B£®×Ö·û´® C£®¶ÓÁÐ D£®Õ» ´ð°¸£ºA

6£®ÊÔ·ÖÎöÏÂÃæ¸÷³ÌÐò¶ÎµÄʱ¼ä¸´ÔÓ¶È¡£ £¨1£©x=90; y=100;

while(y>0)

if(x>100) {x=x-10;y--;}

else x++; ´ð°¸£ºO(1)

½âÊÍ£º³ÌÐòµÄÖ´ÐдÎÊýΪ³£Êý½×¡£

3

B£®´ý´¦ÀíÊý¾ÝµÄ³õ̬ D£®AºÍB

C£®¼ÆËã»úµÄÅäÖÃ

£¨2£©for (i=0; i

for (j=0; j

´ð°¸£ºO(m*n)

½âÊÍ£ºÓï¾äa[i][j]=0;µÄÖ´ÐдÎÊýΪm*n¡£ £¨3£©s=0;

for i=0; i

for(j=0; j

s+=B[i][j]; sum=s;

2

´ð°¸£ºO(n)

½âÊÍ£ºÓï¾äs+=B[i][j];µÄÖ´ÐдÎÊýΪn¡£ £¨4£©i=1; while(i<=n) i=i*3; ´ð°¸£ºO(log3n)

½âÊÍ£ºÓï¾äi=i*3;µÄÖ´ÐдÎÊýΪ ?log3n?¡£ £¨5£©x=0;

for(i=1; i

´ð°¸£ºO(n)

½âÊÍ£ºÓï¾äx++;µÄÖ´ÐдÎÊýΪn-1+n-2+??£«1= n(n-1)/2¡£ £¨6£©x=n; //n>1

y=0;

while(x¡Ý(y+1)* (y+1)) y++; ´ð°¸£ºO(n)

½âÊÍ£ºÓï¾äy++;µÄÖ´ÐдÎÊýΪ ?n?¡£

2

4

µÚ2Õ ÏßÐÔ±í

1£®Ñ¡ÔñÌâ

£¨1£©Ë³Ðò±íÖеÚÒ»¸öÔªËØµÄ´æ´¢µØÖ·ÊÇ100£¬Ã¿¸öÔªËØµÄ³¤¶ÈΪ2£¬ÔòµÚ5¸öÔªËØµÄµØÖ·ÊÇ£¨ £©¡£

A£®110 B£®108 C£®100 D£®120

´ð°¸£ºB

½âÊÍ£ºË³Ðò±íÖеÄÊý¾ÝÁ¬Ðø´æ´¢£¬ËùÒÔµÚ5¸öÔªËØµÄµØÖ·Îª£º100+2*4=108¡£

£¨2£©ÔÚn¸ö½áµãµÄ˳Ðò±íÖУ¬Ëã·¨µÄʱ¼ä¸´ÔÓ¶ÈÊÇO(1)µÄ²Ù×÷ÊÇ£¨ £©¡£ A£®·ÃÎʵÚi¸ö½áµã£¨1¡Üi¡Ün£©ºÍÇóµÚi¸ö½áµãµÄÖ±½ÓǰÇý£¨2¡Üi¡Ün£© B£®ÔÚµÚi¸ö½áµãºó²åÈëÒ»¸öнáµã£¨1¡Üi¡Ün£© C£®É¾³ýµÚi¸ö½áµã£¨1¡Üi¡Ün£© D£®½«n¸ö½áµã´ÓСµ½´óÅÅÐò

´ð°¸£ºA

½âÊÍ£ºÔÚ˳Ðò±íÖвåÈëÒ»¸ö½áµãµÄʱ¼ä¸´ÔӶȶ¼ÊÇO(n2)£¬ÅÅÐòµÄʱ¼ä¸´ÔÓ¶ÈΪO(n2)

»òO(nlog2n)¡£Ë³Ðò±íÊÇÒ»ÖÖËæ»ú´æÈ¡½á¹¹£¬·ÃÎʵÚi¸ö½áµãºÍÇóµÚi¸ö½áµãµÄÖ±½ÓǰÇý¶¼¿ÉÒÔÖ±½Óͨ¹ýÊý×éµÄϱêÖ±½Ó¶¨Î»£¬Ê±¼ä¸´ÔÓ¶ÈÊÇO(1)¡£

£¨3£© ÏòÒ»¸öÓÐ127¸öÔªËØµÄ˳Ðò±íÖвåÈëÒ»¸öÐÂÔªËØ²¢±£³ÖÔ­À´Ë³Ðò²»±ä£¬Æ½¾ùÒªÒÆ¶¯ µÄÔªËØ¸öÊýΪ£¨ £©¡£

A£®8 B£®63.5 C£®63 D£®7

´ð°¸£ºB

½âÊÍ£ºÆ½¾ùÒªÒÆ¶¯µÄÔªËØ¸öÊýΪ£ºn/2¡£

£¨4£©Á´½Ó´æ´¢µÄ´æ´¢½á¹¹ËùÕ¼´æ´¢¿Õ¼ä£¨ £©¡£

A£®·ÖÁ½²¿·Ö£¬Ò»²¿·Ö´æ·Å½áµãÖµ£¬ÁíÒ»²¿·Ö´æ·Å±íʾ½áµã¼ä¹ØÏµµÄÖ¸Õë B£®Ö»ÓÐÒ»²¿·Ö£¬´æ·Å½áµãÖµ

C£®Ö»ÓÐÒ»²¿·Ö£¬´æ´¢±íʾ½áµã¼ä¹ØÏµµÄÖ¸Õë

D£®·ÖÁ½²¿·Ö£¬Ò»²¿·Ö´æ·Å½áµãÖµ£¬ÁíÒ»²¿·Ö´æ·Å½áµãËùÕ¼µ¥ÔªÊý

´ð°¸£ºA

£¨5£©ÏßÐÔ±íÈô²ÉÓÃÁ´Ê½´æ´¢½á¹¹Ê±£¬ÒªÇóÄÚ´æÖпÉÓô洢µ¥ÔªµÄµØÖ·£¨ £©¡£ A£®±ØÐëÊÇÁ¬ÐøµÄ B£®²¿·ÖµØÖ·±ØÐëÊÇÁ¬ÐøµÄ C£®Ò»¶¨ÊDz»Á¬ÐøµÄ D£®Á¬Ðø»ò²»Á¬Ðø¶¼¿ÉÒÔ

´ð°¸£ºD

£¨6£©ÏßÐÔ±í£ÌÔÚ£¨ £©Çé¿öÏÂÊÊÓÃÓÚʹÓÃÁ´Ê½½á¹¹ÊµÏÖ¡£

A£®Ðè¾­³£Ð޸ģÌÖеĽáµãÖµ £Â£®Ðè²»¶Ï¶Ô£Ì½øÐÐɾ³ý²åÈë C£®£ÌÖк¬ÓдóÁ¿µÄ½áµã £Ä£®£ÌÖнáµã½á¹¹¸´ÔÓ

´ð°¸£ºB

5

½âÊÍ£ºÁ´±í×î´óµÄÓŵãÔÚÓÚ²åÈëºÍɾ³ýʱ²»ÐèÒªÒÆ¶¯Êý¾Ý£¬Ö±½ÓÐÞ¸ÄÖ¸Õë¼´¿É¡£

£¨7£©µ¥Á´±íµÄ´æ´¢Ãܶȣ¨ £©¡£

A£®´óÓÚ1 B£®µÈÓÚ1 C£®Ð¡ÓÚ1 D£®²»ÄÜÈ·¶¨

´ð°¸£ºC

½âÊÍ£º´æ´¢ÃܶÈÊÇÖ¸Ò»¸ö½áµãÊý¾Ý±¾ÉíËùÕ¼µÄ´æ´¢¿Õ¼äºÍÕû¸ö½áµãËùÕ¼µÄ´æ´¢¿Õ

¼äÖ®±È£¬¼ÙÉèµ¥Á´±íÒ»¸ö½áµã±¾ÉíËùÕ¼µÄ¿Õ¼äΪD£¬Ö¸ÕëÓòËùÕ¼µÄ¿Õ¼äΪN£¬Ôò´æ´¢ÃܶÈΪ£ºD/(D+N)£¬Ò»¶¨Ð¡ÓÚ1¡£

£¨8£©½«Á½¸ö¸÷ÓÐn¸öÔªËØµÄÓÐÐò±í¹é²¢³ÉÒ»¸öÓÐÐò±í£¬Æä×îÉٵıȽϴÎÊýÊÇ£¨ £©¡£ A£®n B£®2n-1 C£®2n D£®n-1

´ð°¸£ºA

½âÊÍ£ºµ±µÚÒ»¸öÓÐÐò±íÖÐËùÓеÄÔªËØ¶¼Ð¡ÓÚ£¨»ò´óÓÚ£©µÚ¶þ¸ö±íÖеÄÔªËØ£¬Ö»Ðè

ÒªÓõڶþ¸ö±íÖеĵÚÒ»¸öÔªËØÒÀ´ÎÓëµÚÒ»¸ö±íµÄÔªËØ±È½Ï£¬×ܼƱȽÏn´Î¡£

£¨9£©ÔÚÒ»¸ö³¤¶ÈΪnµÄ˳Ðò±íÖУ¬ÔÚµÚi¸öÔªËØ£¨1¡Üi¡Ün+1£©Ö®Ç°²åÈëÒ»¸öÐÂÔªËØÊ±ÐëÏòºóÒÆ¶¯£¨ £©¸öÔªËØ¡£

A£®n-i B£®n-i+1 C£®n-i-1 D£®I

´ð°¸£ºB

(10) ÏßÐÔ±íL=(a1£¬a2,??an)£¬ÏÂÁÐ˵·¨ÕýÈ·µÄÊÇ£¨ £©¡£ A£®Ã¿¸öÔªËØ¶¼ÓÐÒ»¸öÖ±½ÓǰÇýºÍÒ»¸öÖ±½Óºó¼Ì B£®ÏßÐÔ±íÖÐÖÁÉÙÓÐÒ»¸öÔªËØ

C£®±íÖÐÖîÔªËØµÄÅÅÁбØÐëÊÇÓÉСµ½´ó»òÓÉ´óµ½Ð¡

D£®³ýµÚÒ»¸öºÍ×îºóÒ»¸öÔªËØÍ⣬ÆäÓàÿ¸öÔªËØ¶¼ÓÐÒ»¸öÇÒ½öÓÐÒ»¸öÖ±½ÓǰÇýºÍÖ±½Ó

ºó¼Ì¡£

´ð°¸£ºD

(11) ´´½¨Ò»¸ö°üÀ¨n¸ö½áµãµÄÓÐÐòµ¥Á´±íµÄʱ¼ä¸´ÔÓ¶ÈÊÇ£¨ £©¡£

A£®O(1) B£®O(n) C£®O(n2) D£®O(nlog2n)

´ð°¸£ºC

½âÊÍ£ºµ¥Á´±í´´½¨µÄʱ¼ä¸´ÔÓ¶ÈÊÇO(n)£¬¶øÒª½¨Á¢Ò»¸öÓÐÐòµÄµ¥Á´±í£¬ÔòÿÉú³É

Ò»¸öнáµãʱÐèÒªºÍÒÑÓеĽáµã½øÐбȽϣ¬È·¶¨ºÏÊʵIJåÈëλÖã¬ËùÒÔʱ¼ä¸´ÔÓ¶ÈÊÇO(n2)¡£

(12) ÒÔÏÂ˵·¨´íÎóµÄÊÇ£¨ £©¡£ ¹¹Ê±ÊµÏÖµÄЧÂʵÍ

B£®Ë³Ðò´æ´¢µÄÏßÐÔ±í¿ÉÒÔËæ»ú´æÈ¡

C£®ÓÉÓÚ˳Ðò´æ´¢ÒªÇóÁ¬ÐøµÄ´æ´¢ÇøÓò£¬ËùÒÔÔÚ´æ´¢¹ÜÀíÉϲ»¹»Áé»î D£®ÏßÐÔ±íµÄÁ´Ê½´æ´¢½á¹¹ÓÅÓÚ˳Ðò´æ´¢½á¹¹

A£®Çó±í³¤¡¢¶¨Î»ÕâÁ½ÖÖÔËËãÔÚ²ÉÓÃ˳Ðò´æ´¢½á¹¹Ê±ÊµÏÖµÄЧÂʲ»±È²ÉÓÃÁ´Ê½´æ´¢½á

´ð°¸£ºD

½âÊÍ£ºÁ´Ê½´æ´¢½á¹¹ºÍ˳Ðò´æ´¢½á¹¹¸÷ÓÐÓÅȱµã£¬Óв»Í¬µÄÊÊÓó¡ºÏ¡£

(13) ÔÚµ¥Á´±íÖУ¬Òª½«sËùÖ¸½áµã²åÈëµ½pËùÖ¸½áµãÖ®ºó£¬ÆäÓï¾äӦΪ£¨ £©¡£

6

A£®s->next=p+1; p->next=s; B£®(*p).next=s; (*s).next=(*p).next; C£®s->next=p->next; p->next=s->next; D£®s->next=p->next; p->next=s;

´ð°¸£ºD

(14) ÔÚË«ÏòÁ´±í´æ´¢½á¹¹ÖУ¬É¾³ýpËùÖ¸µÄ½áµãʱÐëÐÞ¸ÄÖ¸Õ루 £©¡£ A£®p->next->prior=p->prior; p->prior->next=p->next; B£®p->next=p->next->next; p->next->prior=p; C£®p->prior->next=p; p->prior=p->prior->prior; D£®p->prior=p->next->next; p->next=p->prior->prior; ´ð°¸£ºA

(15) ÔÚË«ÏòÑ­»·Á´±íÖУ¬ÔÚpÖ¸ÕëËùÖ¸µÄ½áµãºó²åÈëqËùÖ¸ÏòµÄнáµã£¬ÆäÐÞ¸ÄÖ¸ÕëµÄ²Ù×÷ÊÇ£¨ £©¡£

A£®p->next=q; q->prior=p; p->next->prior=q; q->next=q; B£®p->next=q; p->next->prior=q; q->prior=p; q->next=p->next; C£®q->prior=p; q->next=p->next; p->next->prior=q; p->next=q; D£®q->prior=p; q->next=p->next; p->next=q; p->next->prior=q;

´ð°¸£ºC 2£®Ëã·¨Éè¼ÆÌâ

£¨1£©½«Á½¸öµÝÔöµÄÓÐÐòÁ´±íºÏ²¢ÎªÒ»¸öµÝÔöµÄÓÐÐòÁ´±í¡£ÒªÇó½á¹ûÁ´±íÈÔʹÓÃÔ­À´Á½¸öÁ´±íµÄ´æ´¢¿Õ¼ä, ²»ÁíÍâÕ¼ÓÃÆäËüµÄ´æ´¢¿Õ¼ä¡£±íÖв»ÔÊÐíÓÐÖØ¸´µÄÊý¾Ý¡£

[ÌâÄ¿·ÖÎö]

ºÏ²¢ºóµÄбíʹÓÃÍ·Ö¸ÕëLcÖ¸Ïò£¬paºÍpb·Ö±ðÊÇÁ´±íLaºÍLbµÄ¹¤×÷Ö¸Õë,³õʼ»¯ÎªÏàÓ¦Á´±íµÄµÚÒ»¸ö½áµã£¬´ÓµÚÒ»¸ö½áµã¿ªÊ¼½øÐбȽϣ¬µ±Á½¸öÁ´±íLaºÍLb¾ùΪµ½´ï±íβ½áµãʱ£¬ÒÀ´ÎժȡÆäÖнÏСÕßÖØÐÂÁ´½ÓÔÚLc±íµÄ×îºó¡£Èç¹ûÁ½¸ö±íÖеÄÔªËØÏàµÈ£¬Ö»ÕªÈ¡La±íÖеÄÔªËØ£¬É¾³ýLb±íÖеÄÔªËØ£¬ÕâÑùÈ·±£ºÏ²¢ºó±íÖÐÎÞÖØ¸´µÄÔªËØ¡£µ±Ò»¸ö±íµ½´ï±íβ½áµã£¬Îª¿Õʱ£¬½«·Ç¿Õ±íµÄÊ£ÓàÔªËØÖ±½ÓÁ´½ÓÔÚLc±íµÄ×îºó¡£

[Ëã·¨ÃèÊö]

void MergeList(LinkList &La,LinkList &Lb,LinkList &Lc) {//ºÏ²¢Á´±íLaºÍLb£¬ºÏ²¢ºóµÄбíʹÓÃÍ·Ö¸ÕëLcÖ¸Ïò pa=La->next; pb=Lb->next;

//paºÍpb·Ö±ðÊÇÁ´±íLaºÍLbµÄ¹¤×÷Ö¸Õë,³õʼ»¯ÎªÏàÓ¦Á´±íµÄµÚÒ»¸ö½áµã Lc=pc=La; //ÓÃLaµÄÍ·½áµã×÷ΪLcµÄÍ·½áµã while(pa && pb)

{if(pa->datadata){pc->next=pa;pc=pa;pa=pa->next;} //È¡½ÏСÕßLaÖеÄÔªËØ£¬½«paÁ´½ÓÔÚpcµÄºóÃæ£¬paÖ¸ÕëºóÒÆ else if(pa->data>pb->data) {pc->next=pb; pc=pb; pb=pb->next;} //È¡½ÏСÕßLbÖеÄÔªËØ£¬½«pbÁ´½ÓÔÚpcµÄºóÃæ£¬pbÖ¸ÕëºóÒÆ

7

else //ÏàµÈʱȡLaÖеÄÔªËØ£¬É¾³ýLbÖеÄÔªËØ

{pc->next=pa;pc=pa;pa=pa->next; q=pb->next;delete pb ;pb =q;

}

}

pc->next=pa?pa:pb; //²åÈëÊ£Óà¶Î delete Lb; //ÊÍ·ÅLbµÄÍ·½áµã }

£¨2£©½«Á½¸ö·ÇµÝ¼õµÄÓÐÐòÁ´±íºÏ²¢ÎªÒ»¸ö·ÇµÝÔöµÄÓÐÐòÁ´±í¡£ÒªÇó½á¹ûÁ´±íÈÔʹÓÃÔ­À´Á½¸öÁ´±íµÄ´æ´¢¿Õ¼ä, ²»ÁíÍâÕ¼ÓÃÆäËüµÄ´æ´¢¿Õ¼ä¡£±íÖÐÔÊÐíÓÐÖØ¸´µÄÊý¾Ý¡£

[ÌâÄ¿·ÖÎö]

ºÏ²¢ºóµÄбíʹÓÃÍ·Ö¸ÕëLcÖ¸Ïò£¬paºÍpb·Ö±ðÊÇÁ´±íLaºÍLbµÄ¹¤×÷Ö¸Õë,³õʼ»¯ÎªÏàÓ¦Á´±íµÄµÚÒ»¸ö½áµã£¬´ÓµÚÒ»¸ö½áµã¿ªÊ¼½øÐбȽϣ¬µ±Á½¸öÁ´±íLaºÍLb¾ùΪµ½´ï±íβ½áµãʱ£¬ÒÀ´ÎժȡÆäÖнÏСÕßÖØÐÂÁ´½ÓÔÚLc±íµÄ±íÍ·½áµãÖ®ºó£¬Èç¹ûÁ½¸ö±íÖеÄÔªËØÏàµÈ£¬Ö»ÕªÈ¡La±íÖеÄÔªËØ£¬±£ÁôLb±íÖеÄÔªËØ¡£µ±Ò»¸ö±íµ½´ï±íβ½áµã£¬Îª¿Õʱ£¬½«·Ç¿Õ±íµÄÊ£ÓàÔªËØÒÀ´Îժȡ£¬Á´½ÓÔÚLc±íµÄ±íÍ·½áµãÖ®ºó¡£

[Ëã·¨ÃèÊö]

void MergeList(LinkList& La, LinkList& Lb, LinkList& Lc, ) {//ºÏ²¢Á´±íLaºÍLb£¬ºÏ²¢ºóµÄбíʹÓÃÍ·Ö¸ÕëLcÖ¸Ïò pa=La->next; pb=Lb->next;

//paºÍpb·Ö±ðÊÇÁ´±íLaºÍLbµÄ¹¤×÷Ö¸Õë,³õʼ»¯ÎªÏàÓ¦Á´±íµÄµÚÒ»¸ö½áµã Lc=pc=La; //ÓÃLaµÄÍ·½áµã×÷ΪLcµÄÍ·½áµã Lc->next=NULL; while(pa||pb )

{//Ö»Òª´æÔÚÒ»¸ö·Ç¿Õ±í£¬ÓÃqÖ¸Ïò´ýժȡµÄÔªËØ if(!pa) {q=pb; pb=pb->next;} //La±íΪ¿Õ£¬ÓÃqÖ¸Ïòpb£¬pbÖ¸ÕëºóÒÆ else if(!pb) {q=pa; pa=pa->next;} //Lb±íΪ¿Õ£¬ÓÃqÖ¸Ïòpa£¬paÖ¸ÕëºóÒÆ

else if(pa->data<=pb->data) {q=pa; pa=pa->next;} //È¡½ÏСÕߣ¨°üÀ¨ÏàµÈ£©LaÖеÄÔªËØ£¬ÓÃqÖ¸Ïòpa£¬paÖ¸ÕëºóÒÆ else {q=pb; pb=pb->next;}

//È¡½ÏСÕßLbÖеÄÔªËØ£¬ÓÃqÖ¸Ïòpb£¬pbÖ¸ÕëºóÒÆ q->next = Lc->next; Lc->next = q; //½«qÖ¸ÏòµÄ½áµã²åÔÚLc ±íµÄ±íÍ·½áµãÖ®ºó }

delete Lb; //ÊÍ·ÅLbµÄÍ·½áµã }

8

£¨3£©ÒÑÖªÁ½¸öÁ´±íAºÍB·Ö±ð±íʾÁ½¸ö¼¯ºÏ£¬ÆäÔªËØµÝÔöÅÅÁС£ÇëÉè¼ÆËã·¨Çó³öAÓëBµÄ½»¼¯£¬²¢´æ·ÅÓÚAÁ´±íÖС£

[ÌâÄ¿·ÖÎö]

Ö»ÓÐͬʱ³öÏÖÔÚÁ½¼¯ºÏÖеÄÔªËØ²Å³öÏÖÔÚ½á¹û±íÖÐ,ºÏ²¢ºóµÄбíʹÓÃÍ·Ö¸ÕëLcÖ¸Ïò¡£paºÍpb·Ö±ðÊÇÁ´±íLaºÍLbµÄ¹¤×÷Ö¸Õë,³õʼ»¯ÎªÏàÓ¦Á´±íµÄµÚÒ»¸ö½áµã£¬´ÓµÚÒ»¸ö½áµã¿ªÊ¼½øÐбȽϣ¬µ±Á½¸öÁ´±íLaºÍLb¾ùΪµ½´ï±íβ½áµãʱ£¬Èç¹ûÁ½¸ö±íÖÐÏàµÈµÄÔªËØÊ±£¬ÕªÈ¡La±íÖеÄÔªËØ£¬É¾³ýLb±íÖеÄÔªËØ£»Èç¹ûÆäÖÐÒ»¸ö±íÖеÄÔªËØ½ÏСʱ£¬É¾³ý´Ë±íÖнÏСµÄÔªËØ£¬´Ë±íµÄ¹¤×÷Ö¸ÕëºóÒÆ¡£µ±Á´±íLaºÍLbÓÐÒ»¸öµ½´ï±íβ½áµã£¬Îª¿Õʱ£¬ÒÀ´Îɾ³ýÁíÒ»¸ö·Ç¿Õ±íÖеÄËùÓÐÔªËØ¡£

[Ëã·¨ÃèÊö]

void Mix(LinkList& La, LinkList& Lb, LinkList& Lc) { pa=La->next;pb=Lb->next;

paºÍpb·Ö±ðÊÇÁ´±íLaºÍLbµÄ¹¤×÷Ö¸Õë,³õʼ»¯ÎªÏàÓ¦Á´±íµÄµÚÒ»¸ö½áµã Lc=pc=La; //ÓÃLaµÄÍ·½áµã×÷ΪLcµÄÍ·½áµã while(pa&&pb)

{ if(pa->data==pb->data)¡Î½»¼¯²¢Èë½á¹û±íÖС£ { pc->next=pa;pc=pa;pa=pa->next; u=pb;pb=pb->next; delete u;}

else if(pa->datadata) {u=pa;pa=pa->next; delete u;} else {u=pb; pb=pb->next; delete u;} }

while(pa) {u=pa; pa=pa->next; delete u;}¡Î ÊͷŽáµã¿Õ¼ä while(pb) {u=pb; pb=pb->next; delete u;}¡ÎÊͷŽáµã¿Õ¼ä pc->next=null;¡ÎÖÃÁ´±íβ±ê¼Ç¡£ delete Lb; //ÊÍ·ÅLbµÄÍ·½áµã }

£¨4£©ÒÑÖªÁ½¸öÁ´±íAºÍB·Ö±ð±íʾÁ½¸ö¼¯ºÏ£¬ÆäÔªËØµÝÔöÅÅÁС£ÇëÉè¼ÆËã·¨Çó³öÁ½¸ö¼¯ºÏAºÍB µÄ²î¼¯£¨¼´½öÓÉÔÚAÖгöÏÖ¶ø²»ÔÚBÖгöÏÖµÄÔªËØËù¹¹³ÉµÄ¼¯ºÏ£©£¬²¢ÒÔͬÑùµÄÐÎʽ´æ´¢£¬Í¬Ê±·µ»Ø¸Ã¼¯ºÏµÄÔªËØ¸öÊý¡£

[ÌâÄ¿·ÖÎö]

ÇóÁ½¸ö¼¯ºÏAºÍBµÄ²î¼¯ÊÇÖ¸ÔÚAÖÐɾ³ýAºÍBÖй²ÓеÄÔªËØ£¬¼´É¾³ýÁ´±íÖеÄÏàÓ¦½áµã,ËùÒÔÒª±£´æ´ýɾ³ý½áµãµÄǰÇý£¬Ê¹ÓÃÖ¸ÕëpreÖ¸ÏòǰÇý½áµã¡£paºÍpb·Ö±ðÊÇÁ´±íLaºÍLbµÄ¹¤×÷Ö¸Õë,³õʼ»¯ÎªÏàÓ¦Á´±íµÄµÚÒ»¸ö½áµã£¬´ÓµÚÒ»¸ö½áµã¿ªÊ¼½øÐбȽϣ¬µ±Á½¸öÁ´±íLaºÍLb¾ùΪµ½´ï±íβ½áµãʱ£¬Èç¹ûLa±íÖеÄÔªËØÐ¡ÓÚLb±íÖеÄÔªËØ£¬preÖÃΪLa±íµÄ¹¤×÷Ö¸Õëpaɾ³ýLb±íÖеÄÔªËØ£»Èç¹ûÆäÖÐÒ»¸ö±íÖеÄÔªËØ½ÏСʱ£¬É¾³ý´Ë±íÖнÏСµÄÔªËØ£¬´Ë±íµÄ¹¤×÷Ö¸ÕëºóÒÆ¡£µ±Á´±íLaºÍLbÓÐÒ»¸öΪ¿Õʱ£¬ÒÀ´Îɾ³ýÁíÒ»¸ö·Ç¿Õ±íÖеÄËùÓÐÔªËØ¡£

[Ëã·¨ÃèÊö]

9

void Difference£¨LinkList& La, LinkList& Lb,int *n£©

{¡Î²î¼¯µÄ½á¹û´æ´¢ÓÚµ¥Á´±íLaÖУ¬*nÊǽá¹û¼¯ºÏÖÐÔªËØ¸öÊý£¬µ÷ÓÃʱΪ0 pa=La->next; pb=Lb->next;

¡ÎpaºÍpb·Ö±ðÊÇÁ´±íLaºÍLbµÄ¹¤×÷Ö¸Õë,³õʼ»¯ÎªÏàÓ¦Á´±íµÄµÚÒ»¸ö½áµã pre=La; ¡ÎpreΪLaÖÐpaËùÖ¸½áµãµÄǰÇý½áµãµÄÖ¸Õë while£¨pa&&pb£©

{if£¨pa->datadata£©{pre=pa;pa=pa->next;*n++;} ¡Î AÁ´±íÖе±Ç°½áµãÖ¸ÕëºóÒÆ

else if£¨pa->data>q->data£©q=q->next; ¡ÎBÁ´±íÖе±Ç°½áµãÖ¸ÕëºóÒÆ else {pre->next=pa->next; ¡Î´¦ÀíA£¬BÖÐÔªËØÖµÏàͬµÄ½áµã£¬Ó¦É¾³ý u=pa; pa=pa->next; delete u;} ¡Îɾ³ý½áµã

} }

£¨5£©Éè¼ÆËã·¨½«Ò»¸ö´øÍ·½áµãµÄµ¥Á´±íA·Ö½âΪÁ½¸ö¾ßÓÐÏàͬ½á¹¹µÄÁ´±íB¡¢C£¬ÆäÖÐB±íµÄ½áµãΪA±íÖÐֵСÓÚÁãµÄ½áµã£¬¶øC±íµÄ½áµãΪA±íÖÐÖµ´óÓÚÁãµÄ½áµã£¨Á´±íAÖеÄÔªËØÎª·ÇÁãÕûÊý£¬ÒªÇóB¡¢C±íÀûÓÃA±íµÄ½áµã£©¡£

[ÌâÄ¿·ÖÎö]

B±íµÄÍ·½áµãʹÓÃÔ­À´A±íµÄÍ·½áµã£¬ÎªC±íÐÂÉêÇëÒ»¸öÍ·½áµã¡£´ÓA±íµÄµÚÒ»¸ö½áµã¿ªÊ¼£¬ÒÀ´ÎÈ¡Æäÿ¸ö½áµãp£¬ÅжϽáµãpµÄÖµÊÇ·ñСÓÚ0£¬ÀûÓÃǰ²å·¨£¬½«Ð¡ÓÚ0µÄ½áµã²åÈëB±í,´óÓÚµÈÓÚ0µÄ½áµã²åÈëC±í¡£

[Ëã·¨ÃèÊö]

void DisCompose(LinkedList A) { B=A;

B->next= NULL; ¡ÎB±í³õʼ»¯ C=new LNode;¡ÎΪCÉêÇë½áµã¿Õ¼ä C->next=NULL; ¡ÎC³õʼ»¯Îª¿Õ±í p=A->next; ¡ÎpΪ¹¤×÷Ö¸Õë while(p!= NULL)

{ r=p->next; ¡ÎÔÝ´æpµÄºó¼Ì if(p->data<0)

{p->next=B->next; B->next=p; }¡Î½«Ð¡ÓÚ0µÄ½áµãÁ´ÈëB±í,ǰ²å·¨ else {p->next=C->next; C->next=p; }¡Î½«´óÓÚµÈÓÚ0µÄ½áµãÁ´ÈëC±í,ǰ²å·¨ p=r;¡ÎpÖ¸ÏòеĴý´¦Àí½áµã¡£ }

}

£¨6£©Éè¼ÆÒ»¸öËã·¨£¬Í¨¹ýÒ»Ì˱éÀúÔÚµ¥Á´±íÖÐÈ·¶¨Öµ×î´óµÄ½áµã¡£ [ÌâÄ¿·ÖÎö]

10

¼Ù¶¨µÚÒ»¸ö½áµãÖÐÊý¾Ý¾ßÓÐ×î´óÖµ£¬ÒÀ´ÎÓëÏÂÒ»¸öÔªËØ±È½Ï£¬ÈôÆäСÓÚÏÂÒ»¸öÔªËØ£¬ÔòÉèÆäÏÂÒ»¸öÔªËØÎª×î´óÖµ£¬·´¸´½øÐбȽϣ¬Ö±µ½±éÀúÍê¸ÃÁ´±í¡£

[Ëã·¨ÃèÊö]

ElemType Max (LinkList L ){

if(L->next==NULL) return NULL;

pmax=L->next; //¼Ù¶¨µÚÒ»¸ö½áµãÖÐÊý¾Ý¾ßÓÐ×î´óÖµ p=L->next->next;

while(p != NULL ){//Èç¹ûÏÂÒ»¸ö½áµã´æÔÚ }

return pmax->data;

if(p->data > pmax->data) pmax=p;//Èç¹ûpµÄÖµ´óÓÚpmaxµÄÖµ£¬ÔòÖØÐ¸³Öµ p=p->next;//±éÀúÁ´±í

£¨7£©Éè¼ÆÒ»¸öËã·¨£¬Í¨¹ý±éÀúÒ»ÌË£¬½«Á´±íÖÐËùÓнáµãµÄÁ´½Ó·½ÏòÄæ×ª£¬ÈÔÀûÓÃÔ­±íµÄ´æ´¢¿Õ¼ä¡£

[ÌâÄ¿·ÖÎö]

´ÓÊ×Ôª½áµã¿ªÊ¼£¬Öð¸öµØ°ÑÁ´±íLµÄµ±Ç°½áµãp²åÈëеÄÁ´±íÍ·²¿¡£

[Ëã·¨ÃèÊö]

void inverse(LinkList &L) {// ÄæÖôøÍ·½áµãµÄµ¥Á´±í L p=L->next; L->next=NULL; while ( p) {

q=p->next; // qÖ¸Ïò*pµÄºó¼Ì p->next=L->next;

L->next=p; // *p²åÈëÔÚÍ·½áµãÖ®ºó p = q; } }

£¨8£©Éè¼ÆÒ»¸öËã·¨£¬É¾³ýµÝÔöÓÐÐòÁ´±íÖÐÖµ´óÓÚminkÇÒСÓÚmaxkµÄËùÓÐÔªËØ£¨minkºÍmaxkÊǸø¶¨µÄÁ½¸ö²ÎÊý£¬ÆäÖµ¿ÉÒԺͱíÖеÄÔªËØÏàͬ£¬Ò²¿ÉÒÔ²»Í¬ £©¡£

[ÌâÄ¿·ÖÎö]

·Ö±ð²éÕÒµÚÒ»¸öÖµ>minkµÄ½áµãºÍµÚÒ»¸öÖµ ¡ÝmaxkµÄ½áµã£¬ÔÙÐÞ¸ÄÖ¸Õ룬ɾ³ýÖµ´óÓÚminkÇÒСÓÚmaxkµÄËùÓÐÔªËØ¡£

[Ëã·¨ÃèÊö]

void delete(LinkList &L, int mink, int maxk) { p=L->next; //Ê×Ôª½áµã while (p && p->data<=mink)

{ pre=p; p=p->next; } //²éÕÒµÚÒ»¸öÖµ>minkµÄ½áµã if (p)

11

{while (p && p->datanext;

// ²éÕÒµÚÒ»¸öÖµ ¡ÝmaxkµÄ½áµã q=pre->next; pre->next=p; // ÐÞ¸ÄÖ¸Õë while (q!=p)

{ s=q->next; delete q; q=s; } // ÊͷŽáµã¿Õ¼ä }//if }

£¨9£©ÒÑÖªpÖ¸ÏòË«ÏòÑ­»·Á´±íÖеÄÒ»¸ö½áµã£¬Æä½áµã½á¹¹Îªdata¡¢prior¡¢nextÈý¸öÓò£¬Ð´³öËã·¨change(p),½»»»pËùÖ¸ÏòµÄ½áµãºÍËüµÄǰ׺½áµãµÄ˳Ðò¡£

[ÌâÄ¿·ÖÎö]

ÖªµÀË«ÏòÑ­»·Á´±íÖеÄÒ»¸ö½áµã£¬ÓëǰÇý½»»»Éæ¼°µ½Ëĸö½áµã£¨p½áµã£¬Ç°Çý½áµã£¬Ç°ÇýµÄǰÇý½áµã£¬ºó¼Ì½áµã£©ÁùÌõÁ´¡£

[Ëã·¨ÃèÊö]

void Exchange£¨LinkedList p£©

¡ÎpÊÇË«ÏòÑ­»·Á´±íÖеÄÒ»¸ö½áµã£¬±¾Ëã·¨½«pËùÖ¸½áµãÓëÆäǰÇý½áµã½»»»¡£ {q=p->llink£»

q->llink->rlink=p£» ¡ÎpµÄǰÇýµÄǰÇýÖ®ºó¼ÌΪp p->llink=q->llink£» ¡ÎpµÄǰÇýÖ¸ÏòÆäǰÇýµÄǰÇý¡£ q->rlink=p->rlink£» ¡ÎpµÄǰÇýµÄºó¼ÌΪpµÄºó¼Ì¡£ q->llink=p£» ¡ÎpÓëÆäǰÇý½»»»

p->rlink->llink=q£» ¡ÎpµÄºó¼ÌµÄǰÇýÖ¸ÏòÔ­pµÄǰÇý p->rlink=q£» ¡ÎpµÄºó¼ÌÖ¸ÏòÆäÔ­À´µÄǰÇý }¡ÎËã·¨exchange½áÊø¡£

£¨10£©ÒÑÖª³¤¶ÈΪnµÄÏßÐÔ±íA²ÉÓÃ˳Ðò´æ´¢½á¹¹£¬Çëдһʱ¼ä¸´ÔÓ¶ÈΪO(n)¡¢¿Õ¼ä¸´ÔÓ¶ÈΪO(1)µÄËã·¨£¬¸ÃË㷨ɾ³ýÏßÐÔ±íÖÐËùÓÐֵΪitemµÄÊý¾ÝÔªËØ¡£

[ÌâÄ¿·ÖÎö]

ÔÚ˳Ðò´æ´¢µÄÏßÐÔ±íÉÏɾ³ýÔªËØ£¬Í¨³£ÒªÉæ¼°µ½Ò»ÏµÁÐÔªËØµÄÒÆ¶¯£¨É¾µÚi¸öÔªËØ£¬µÚi+1ÖÁµÚn¸öÔªËØÒªÒÀ´ÎÇ°ÒÆ£©¡£±¾ÌâÒªÇóɾ³ýÏßÐÔ±íÖÐËùÓÐֵΪitemµÄÊý¾ÝÔªËØ£¬²¢Î´ÒªÇóÔªËØ¼äµÄÏà¶ÔλÖò»±ä¡£Òò´Ë¿ÉÒÔ¿¼ÂÇÉèͷβÁ½¸öÖ¸Õ루i=1£¬j=n£©£¬´ÓÁ½¶ËÏòÖмäÒÆ¶¯£¬·²Óöµ½ÖµitemµÄÊý¾ÝÔªËØÊ±£¬Ö±½Ó½«ÓÒ¶ËÔªËØ×óÒÆÖÁֵΪitemµÄÊý¾ÝÔªËØÎ»Öá£

[Ëã·¨ÃèÊö]

void Delete£¨ElemType A[ ]£¬int n£©

¡ÎAÊÇÓÐn¸öÔªËØµÄһάÊý×飬±¾Ë㷨ɾ³ýAÖÐËùÓÐֵΪitemµÄÔªËØ¡£ {i=1£»j=n£»¡ÎÉèÖÃÊý×éµÍ¡¢¸ß¶ËÖ¸Õ루ϱ꣩¡£ while£¨i

{while£¨i

12

µÚ3Õ ջºÍ¶ÓÁÐ

1£®Ñ¡ÔñÌâ

£¨1£©ÈôÈÃÔªËØ1£¬2£¬3£¬4£¬5ÒÀ´Î½øÕ»£¬Ôò³öÕ»´ÎÐò²»¿ÉÄܳöÏÖÔÚ£¨ £©ÖÖÇé¿ö¡£ A£®5£¬4£¬3£¬2£¬1 B£®2£¬1£¬5£¬4£¬3 C£®4£¬3£¬1£¬2£¬5 D£®2£¬3£¬5£¬4£¬1 ´ð°¸£ºC

½âÊÍ£ºÕ»ÊǺó½øÏȳöµÄÏßÐÔ±í£¬²»ÄÑ·¢ÏÖCÑ¡ÏîÖÐÔªËØ1±ÈÔªËØ2ÏȳöÕ»£¬Î¥±³ÁËÕ»

µÄºó½øÏȳöÔ­Ôò£¬ËùÒÔ²»¿ÉÄܳöÏÖCÑ¡ÏîËùʾµÄÇé¿ö¡£

£¨2£©ÈôÒÑÖªÒ»¸öÕ»µÄÈëÕ»ÐòÁÐÊÇ1£¬2£¬3£¬?£¬n£¬ÆäÊä³öÐòÁÐΪp1£¬p2£¬p3£¬?£¬pn£¬Èôp1=n£¬ÔòpiΪ£¨ £©¡£

A£®i B£®n-i C£®n-i+1 D£®²»È·¶¨ ´ð°¸£ºC

½âÊÍ£ºÕ»ÊǺó½øÏȳöµÄÏßÐÔ±í£¬Ò»¸öÕ»µÄÈëÕ»ÐòÁÐÊÇ1£¬2£¬3£¬?£¬n£¬¶øÊä³öÐòÁеÄ

µÚÒ»¸öÔªËØÎªn£¬ËµÃ÷1£¬2£¬3£¬?£¬nÒ»´ÎÐÔÈ«²¿½øÕ»£¬ÔÙ½øÐÐÊä³ö£¬ËùÒÔp1=n£¬p2=n-1£¬?£¬pi=n-i+1¡£

£¨3£©Êý×é£Ñ£Û£î£ÝÓÃÀ´±íʾһ¸öÑ­»·¶ÓÁУ¬£æÎªµ±Ç°¶ÓÁÐÍ·ÔªËØµÄǰһλÖ㬣òΪ¶ÓÎ²ÔªËØµÄλÖ㬼ٶ¨¶ÓÁÐÖÐÔªËØµÄ¸öÊýСÓڣ¼ÆËã¶ÓÁÐÖÐÔªËØ¸öÊýµÄ¹«Ê½Îª£¨ £©¡£

A£®r-f B£®(n+f-r)%n C£®n+r-f D£®£¨n+r-f)%n ´ð°¸£ºD

½âÊÍ£º¶ÔÓÚ·ÇÑ­»·¶ÓÁУ¬Î²Ö¸ÕëºÍÍ·Ö¸ÕëµÄ²îÖµ±ãÊǶÓÁеij¤¶È£¬¶ø¶ÔÓÚÑ­»·¶ÓÁУ¬

²îÖµ¿ÉÄÜΪ¸ºÊý£¬ËùÒÔÐèÒª½«²îÖµ¼ÓÉÏMAXSIZE£¨±¾ÌâΪn£©£¬È»ºóÓëMAXSIZE£¨±¾ÌâΪn£©ÇóÓ࣬¼´£¨n+r-f)%n¡£

£¨4£©Á´Ê½Õ»½áµãΪ£º(data,link)£¬topÖ¸ÏòÕ»¶¥.ÈôÏëÕª³ýÕ»¶¥½áµã£¬²¢½«É¾³ý½áµãµÄÖµ±£´æµ½xÖÐ,ÔòÓ¦Ö´ÐвÙ×÷£¨ £©¡£

A£®x=top->data;top=top->link£» B£®top=top->link;x=top->link£» C£®x=top;top=top->link£» ´ð°¸£ºA

½âÊÍ£ºx=top->data½«½áµãµÄÖµ±£´æµ½xÖУ¬top=top->linkÕ»¶¥Ö¸ÕëÖ¸ÏòÕ»¶¥ÏÂÒ»½áµã£¬

¼´Õª³ýÕ»¶¥½áµã¡£

£¨5£©ÉèÓÐÒ»¸öµÝ¹éËã·¨ÈçÏ int fact(int n) { //n´óÓÚµÈÓÚ0 if(n<=0) return 1;

else return n*fact(n-1); }

Ôò¼ÆËãfact(n)ÐèÒªµ÷Óøú¯ÊýµÄ´ÎÊýΪ£¨ £©¡£

A£® n+1 B£® n-1 C£® n D£® n+2 ´ð°¸£ºA

13

D£®x=top->link£»

½âÊÍ£ºÌØÊâÖµ·¨¡£Éèn=0£¬Ò×Öª½öµ÷ÓÃÒ»´Îfact(n)º¯Êý£¬¹ÊÑ¡A¡£ £¨6£©Õ»ÔÚ £¨ £©ÖÐÓÐËùÓ¦Óá£

A£®µÝ¹éµ÷Óà B£®º¯Êýµ÷Óà C£®±í´ïʽÇóÖµ D£®Ç°Èý¸öÑ¡Ïî¶¼ÓÐ ´ð°¸£ºD

½âÊÍ£ºµÝ¹éµ÷Óᢺ¯Êýµ÷Óᢱí´ïʽÇóÖµ¾ùÓõ½ÁËÕ»µÄºó½øÏȳöÐÔÖÊ¡£

£¨7£©Îª½â¾ö¼ÆËã»úÖ÷»úÓë´òÓ¡»ú¼äËٶȲ»Æ¥ÅäÎÊÌ⣬ͨ³£ÉèÒ»¸ö´òÓ¡Êý¾Ý»º³åÇø¡£Ö÷»ú½«ÒªÊä³öµÄÊý¾ÝÒÀ´ÎдÈë¸Ã»º³åÇø£¬¶ø´òÓ¡»úÔòÒÀ´Î´Ó¸Ã»º³åÇøÖÐÈ¡³öÊý¾Ý¡£¸Ã»º³åÇøµÄÂß¼­½á¹¹Ó¦¸ÃÊÇ£¨ £©¡£

A£®¶ÓÁÐ B£®Õ» C£® ÏßÐÔ±í D£®ÓÐÐò±í ´ð°¸£ºA

½âÊÍ£º½â¾ö»º³åÇøÎÊÌâÓ¦ÀûÓÃÒ»ÖÖÏȽøÏȳöµÄÏßÐÔ±í£¬¶ø¶ÓÁÐÕýÊÇÒ»ÖÖÏȽøÏȳöµÄÏß

ÐÔ±í¡£

£¨8£©ÉèÕ»SºÍ¶ÓÁÐQµÄ³õʼ״̬Ϊ¿Õ£¬ÔªËØe1¡¢e2¡¢e3¡¢e4¡¢e5ºÍe6ÒÀ´Î½øÈëÕ»S£¬Ò»¸öÔªËØ³öÕ»ºó¼´½øÈëQ£¬Èô6¸öÔªËØ³ö¶ÓµÄÐòÁÐÊÇe2¡¢e4¡¢e3¡¢e6¡¢e5ºÍe1£¬ÔòÕ»SµÄÈÝÁ¿ÖÁÉÙÓ¦¸ÃÊÇ£¨ £©¡£

A£®2 B£®3 C£®4 D£® 6 ´ð°¸£ºB

½âÊÍ£ºÔªËسö¶ÓµÄÐòÁÐÊÇe2¡¢e4¡¢e3¡¢e6¡¢e5ºÍe1£¬¿ÉÖªÔªËØÈë¶ÓµÄÐòÁÐÊÇe2¡¢e4¡¢

e3¡¢e6¡¢e5ºÍe1£¬¼´ÔªËسöÕ»µÄÐòÁÐÒ²ÊÇe2¡¢e4¡¢e3¡¢e6¡¢e5ºÍe1£¬¶øÔªËØe1¡¢e2¡¢e3¡¢e4¡¢e5ºÍe6ÒÀ´Î½øÈëÕ»£¬Ò×ÖªÕ»SÖÐ×î¶àͬʱ´æÔÚ3¸öÔªËØ£¬¹ÊÕ»SµÄÈÝÁ¿ÖÁÉÙΪ3¡£

£¨9£©ÈôÒ»¸öÕ»ÒÔÏòÁ¿V[1..n]´æ´¢£¬³õʼջ¶¥Ö¸ÕëtopÉèΪn+1£¬ÔòÔªËØx½øÕ»µÄÕýÈ·²Ù×÷ÊÇ( )¡£

A£®top++; V[top]=x; C£®top--; V[top]=x; ´ð°¸£ºC

½âÊÍ£º³õʼջ¶¥Ö¸ÕëtopΪn+1£¬ËµÃ÷ÔªËØ´ÓÊý×éÏòÁ¿µÄ¸ß¶ËµØÖ·½øÕ»£¬ÓÖÒòÎªÔªËØ´æ´¢ÔÚÏòÁ¿¿Õ¼äV[1..n]ÖУ¬ËùÒÔ½øÕ»Ê±topÖ¸ÕëÏÈÏÂÒÆ±äΪn£¬Ö®ºó½«ÔªËØx´æ´¢ÔÚV[n]¡£ £¨10£©Éè¼ÆÒ»¸öÅбð±í´ïʽÖÐ×ó£¬ÓÒÀ¨ºÅÊÇ·ñÅä¶Ô³öÏÖµÄËã·¨£¬²ÉÓ㨠£©Êý¾Ý½á¹¹×î¼Ñ¡£

A£®ÏßÐÔ±íµÄ˳Ðò´æ´¢½á¹¹ B£®¶ÓÁÐ C. ÏßÐÔ±íµÄÁ´Ê½´æ´¢½á¹¹ D. Õ» ´ð°¸£ºD

½âÊÍ£ºÀûÓÃÕ»µÄºó½øÏȳöÔ­Ôò¡£

£¨11£©ÓÃÁ´½Ó·½Ê½´æ´¢µÄ¶ÓÁУ¬ÔÚ½øÐÐɾ³ýÔËËãʱ£¨ £©¡£ A. ½öÐÞ¸ÄÍ·Ö¸Õë B. ½öÐÞ¸ÄβָÕë

C. Í·¡¢Î²Ö¸Õë¶¼ÒªÐÞ¸Ä D. Í·¡¢Î²Ö¸Õë¿ÉÄܶ¼ÒªÐÞ¸Ä ´ð°¸£ºD

B£®V[top]=x; top++; D£®V[top]=x; top--;

14

½âÊÍ£ºÒ»°ãÇé¿öÏÂÖ»ÐÞ¸ÄÍ·Ö¸Õ룬µ«ÊÇ£¬µ±É¾³ýµÄÊǶÓÁÐÖÐ×îºóÒ»¸öÔªËØÊ±£¬¶Óβָ

ÕëÒ²¶ªÊ§ÁË£¬Òò´ËÐè¶Ô¶ÓβָÕëÖØÐ¸³Öµ¡£

£¨12£©Ñ­»·¶ÓÁд洢ÔÚÊý×éA[0..m]ÖУ¬ÔòÈë¶ÓʱµÄ²Ù×÷Ϊ£¨ £©¡£ A. rear=rear+1 B. rear=(rear+1)%(m-1) C. rear=(rear+1)%m D. rear=(rear+1)%(m+1) ´ð°¸£ºD

½âÊÍ£ºÊý×éA[0..m]Öй²º¬ÓÐm+1¸öÔªËØ£¬¹ÊÔÚÇóÄ£ÔËËãʱӦ³ýÒÔm+1¡£

£¨13£©×î´óÈÝÁ¿ÎªnµÄÑ­»·¶ÓÁУ¬¶ÓβָÕëÊÇrear£¬¶ÓÍ·ÊÇfront£¬Ôò¶Ó¿ÕµÄÌõ¼þÊÇ£¨ £©¡£ A. (rear+1)%n==front B. rear==front C£®rear+1==front D. (rear-l)%n==front ´ð°¸£ºB

½âÊÍ£º×î´óÈÝÁ¿ÎªnµÄÑ­»·¶ÓÁУ¬¶ÓÂúÌõ¼þÊÇ(rear+1)%n==front£¬¶Ó¿ÕÌõ¼þÊÇ

rear==front¡£

£¨14£©Õ»ºÍ¶ÓÁеĹ²Í¬µãÊÇ£¨ £©¡£

A. ¶¼ÊÇÏȽøÏȳö B. ¶¼ÊÇÏȽøºó³ö C. Ö»ÔÊÐíÔڶ˵㴦²åÈëºÍɾ³ýÔªËØ D. ûÓй²Í¬µã ´ð°¸£ºC

½âÊÍ£ºÕ»Ö»ÔÊÐíÔÚÕ»¶¥´¦½øÐвåÈëºÍɾ³ýÔªËØ£¬¶ÓÁÐÖ»ÔÊÐíÔÚ¶Óβ²åÈëÔªËØºÍÔÚ¶ÓÍ·

ɾ³ýÔªËØ¡£

£¨15£©Ò»¸öµÝ¹éËã·¨±ØÐë°üÀ¨£¨ £©¡£

A. µÝ¹é²¿·Ö B. ÖÕÖ¹Ìõ¼þºÍµÝ¹é²¿·Ö C. µü´ú²¿·Ö D. ÖÕÖ¹Ìõ¼þºÍµü´ú²¿·Ö ´ð°¸£ºB

2£®Ëã·¨Éè¼ÆÌâ

£¨1£©½«±àºÅΪ0ºÍ1µÄÁ½¸öÕ»´æ·ÅÓÚÒ»¸öÊý×é¿Õ¼äV[m]ÖУ¬Õ»µ×·Ö±ð´¦ÓÚÊý×éµÄÁ½¶Ë¡£µ±µÚ0ºÅÕ»µÄÕ»¶¥Ö¸Õëtop[0]µÈÓÚ-1ʱ¸ÃջΪ¿Õ£¬µ±µÚ1ºÅÕ»µÄÕ»¶¥Ö¸Õëtop[1]µÈÓÚmʱ¸ÃջΪ¿Õ¡£Á½¸öÕ»¾ù´ÓÁ½¶ËÏòÖмäÔö³¤¡£ÊÔ±àд˫ջ³õʼ»¯£¬ÅжÏÕ»¿Õ¡¢Õ»Âú¡¢½øÕ»ºÍ³öÕ»µÈËã·¨µÄº¯Êý¡£Ë«Õ»Êý¾Ý½á¹¹µÄ¶¨ÒåÈçÏ£º

Typedef struct {int top[2],bot[2]; SElemType *V; int m; }DblStack [ÌâÄ¿·ÖÎö]

Á½Õ»¹²ÏíÏòÁ¿¿Õ¼ä£¬½«Á½Õ»Õ»µ×ÉèÔÚÏòÁ¿Á½¶Ë£¬³õʼʱ£¬×óÕ»¶¥Ö¸ÕëΪ-1£¬ÓÒÕ»¶¥Îªm¡£Á½Õ»¶¥Ö¸ÕëÏàÁÚʱΪջÂú¡£Á½Õ»¶¥ÏàÏò¡¢Ó­ÃæÔö³¤£¬Õ»¶¥Ö¸ÕëÖ¸ÏòÕ»¶¥ÔªËØ¡£

[Ëã·¨ÃèÊö]

15

//Õ»¶¥ºÍÕ»µ×Ö¸Õë //Õ»Êý×é

//Õ»×î´ó¿ÉÈÝÄÉÔªËØ¸öÊý

(1) Õ»³õʼ»¯ int Init() {S.top[0]=-1; S.top[1]=m;

return 1; //³õʼ»¯³É¹¦ }

(2) ÈëÕ»²Ù×÷£º

int push(stk S ,int i,int x)

¡ÎiΪջºÅ£¬i=0±íʾ×óÕ»£¬i=1ΪÓÒÕ»£¬xÊÇÈëÕ»ÔªËØ¡£ÈëÕ»³É¹¦·µ»Ø1£¬Ê§°Ü·µ»Ø0 {if(i<0||i>1){ cout<<¡°Õ»ºÅÊäÈë²»¶Ô¡±<

{case 0: S.V[++S.top[0]]=x; return(1); break; case 1: S.V[--S.top[1]]=x; return(1); } }¡Îpush (3) ÍËÕ»²Ù×÷

ElemType pop(stk S,int i)

¡ÎÍËÕ»¡£i´ú±íÕ»ºÅ£¬i=0ʱΪ×óÕ»£¬i=1ʱΪÓÒÕ»¡£ÍËÕ»³É¹¦Ê±·µ»ØÍËÕ»ÔªËØ ¡Î·ñÔò·µ»Ø-1

{if(i<0 || i>1){cout<<¡°Õ»ºÅÊäÈë´íÎó¡±<

{case 0: if(S.top[0]==-1) {cout<<¡°Õ»¿Õ¡±<

case 1: if(S.top[1]==m { cout<<¡°Õ»¿Õ¡±<

{return (S.top[0]==-1 && S.top[1]==m); }

[Ëã·¨ÌÖÂÛ]

Çë×¢ÒâËã·¨ÖÐÁ½Õ»ÈëÕ»ºÍÍËջʱµÄÕ»¶¥Ö¸ÕëµÄ¼ÆËã¡£×óÕ»ÊÇͨ³£ÒâÒåϵÄÕ»£¬¶øÓÒÕ»ÈëÕ»²Ù×÷ʱ£¬ÆäÕ»¶¥Ö¸Õë×óÒÆ£¨¼õ1£©£¬ÍËջʱ£¬Õ»¶¥Ö¸ÕëÓÒÒÆ£¨¼Ó1£©¡£

£¨2£©»ØÎÄÊÇÖ¸Õý¶Á·´¶Á¾ùÏàͬµÄ×Ö·ûÐòÁУ¬Èç¡°abba¡±ºÍ¡°abdba¡±¾ùÊÇ»ØÎÄ£¬µ«¡°good¡±²»ÊÇ»ØÎÄ¡£ÊÔдһ¸öËã·¨Åж¨¸ø¶¨µÄ×Ö·ûÏòÁ¿ÊÇ·ñΪ»ØÎÄ¡£(Ìáʾ£º½«Ò»°ë×Ö·ûÈëÕ»)

16

[ÌâÄ¿·ÖÎö]

½«×Ö·û´®Ç°Ò»°ëÈëÕ»£¬È»ºó£¬Õ»ÖÐÔªËØºÍ×Ö·û´®ºóÒ»°ë½øÐбȽϡ£¼´½«µÚÒ»¸ö³öÕ»ÔªËØºÍºóÒ»°ë´®ÖеÚÒ»¸ö×Ö·û±È½Ï£¬ÈôÏàµÈ£¬ÔòÔÙ³öÕ»Ò»¸öÔªËØÓëºóÒ»¸ö×Ö·û±È½Ï£¬??£¬Ö±ÖÁÕ»¿Õ£¬½áÂÛΪ×Ö·ûÐòÁÐÊÇ»ØÎÄ¡£ÔÚ³öÕ»ÔªËØÓë´®ÖÐ×Ö·û±È½Ï²»µÈʱ£¬½áÂÛ×Ö·ûÐòÁв»ÊÇ»ØÎÄ¡£

[Ëã·¨ÃèÊö]

#define StackSize 100 //¼Ù¶¨Ô¤·ÖÅäµÄÕ»¿Õ¼ä×î¶àΪ100¸öÔªËØ typedef char DataType;//¼Ù¶¨Õ»ÔªËصÄÊý¾ÝÀàÐÍΪ×Ö·û typedef struct

{DataType data[StackSize]; int top; }SeqStack;

int IsHuiwen( char *t)

{//ÅжÏt×Ö·ûÏòÁ¿ÊÇ·ñΪ»ØÎÄ£¬ÈôÊÇ£¬·µ»Ø1£¬·ñÔò·µ»Ø0 SeqStack s; int i , len; char temp; InitStack( &s);

len=strlen(t); //ÇóÏòÁ¿³¤¶È

for ( i=0; i

Push( &s, t[i]); while( !EmptyStack( &s))

{// ÿµ¯³öÒ»¸ö×Ö·ûÓëÏàÓ¦×Ö·û±È½Ï temp=Pop (&s);

if( temp!=S[i]) return 0 ;// ²»µÈÔò·µ»Ø0 else i++; }

return 1 ; // ±È½ÏÍê±Ï¾ùÏàµÈÔò·µ»Ø 1 }

£¨3£©Éè´Ó¼üÅÌÊäÈëÒ»ÕûÊýµÄÐòÁУºa1, a2, a3£¬¡­£¬an£¬ÊÔ±àдË㷨ʵÏÖ£ºÓÃÕ»½á¹¹´æ´¢ÊäÈëµÄÕûÊý£¬µ±ai¡Ù-1ʱ£¬½«ai½øÕ»£»µ±ai=-1ʱ£¬Êä³öÕ»¶¥ÕûÊý²¢³öÕ»¡£Ëã·¨Ó¦¶ÔÒì³£Çé¿ö£¨ÈëÕ»ÂúµÈ£©¸ø³öÏàÓ¦µÄÐÅÏ¢¡£

[Ëã·¨ÃèÊö]

#define maxsize Õ»¿Õ¼äÈÝÁ¿ void InOutS(int s[maxsize])

//sÊÇÔªËØÎªÕûÊýµÄÕ»£¬±¾Ëã·¨½øÐÐÈëÕ»ºÍÍËÕ»²Ù×÷¡£

{int top=0; //topΪջ¶¥Ö¸Õ룬¶¨Òåtop=0ʱΪջ¿Õ¡£ for(i=1; i<=n; i++) //n¸öÕûÊýÐòÁÐ×÷´¦Àí¡£

17

{cin>>x); //´Ó¼üÅ̶ÁÈëÕûÊýÐòÁС£

if(x!=-1) // ¶ÁÈëµÄÕûÊý²»µÈÓÚ-1ʱÈëÕ»¡£ £ûif(top==maxsize-1){cout<<¡°Õ»Âú¡±<

else s[++top]=x; //xÈëÕ»¡£ £ý

else //¶ÁÈëµÄÕûÊýµÈÓÚ-1ʱÍËÕ»¡£

{if(top==0){ cout<<¡°Õ»¿Õ¡±<

else cout<<¡°³öÕ»ÔªËØÊÇ¡±<< s[top--]<

£¨4£©´Ó¼üÅÌÉÏÊäÈëÒ»¸öºó׺±í´ïʽ£¬ÊÔ±àдËã·¨¼ÆËã±í´ïʽµÄÖµ¡£¹æ¶¨£ºÄ沨À¼±í´ïʽµÄ³¤¶È²»³¬¹ýÒ»ÐУ¬ÒÔ$·û×÷ΪÊäÈë½áÊø£¬²Ù×÷ÊýÖ®¼äÓÿոñ·Ö¸ô,²Ù×÷·ûÖ»¿ÉÄÜÓÐ+¡¢-¡¢*¡¢/ËÄÖÖÔËËã¡£ÀýÈ磺234 34+2*$¡£

[ÌâÄ¿·ÖÎö]

Äæ²¨À¼±í´ïʽ(¼´ºó׺±í´ïʽ)ÇóÖµ¹æÔòÈçÏ£ºÉèÁ¢ÔËËãÊýÕ»OPND,¶Ô±í´ïʽ´Ó×óµ½ÓÒɨÃè(¶ÁÈë)£¬µ±±í´ïʽÖÐɨÃèµ½Êýʱ£¬Ñ¹ÈëOPNDÕ»¡£µ±É¨Ãèµ½ÔËËã·ûʱ£¬´ÓOPNDÍ˳öÁ½¸öÊý£¬½øÐÐÏàÓ¦ÔËË㣬½á¹ûÔÙѹÈëOPNDÕ»¡£Õâ¸ö¹ý³ÌÒ»Ö±½øÐе½¶Á³ö±í´ïʽ½áÊø·û$£¬ÕâʱOPNDÕ»ÖÐÖ»ÓÐÒ»¸öÊý£¬¾ÍÊǽá¹û¡£

[Ëã·¨ÃèÊö] float expr( )

//´Ó¼üÅÌÊäÈëÄæ²¨À¼±í´ïʽ£¬ÒÔ¡®$¡¯±íʾÊäÈë½áÊø£¬±¾Ëã·¨ÇóÄæ²¨À¼Ê½±í´ïʽµÄÖµ¡£ £ûfloat OPND[30]; // OPNDÊDzÙ×÷ÊýÕ»¡£ init(OPND); //Á½Õ»³õʼ»¯¡£ float num=0.0; //Êý×Ö³õʼ»¯¡£ cin>>x;//xÊÇ×Ö·ûÐͱäÁ¿¡£ while(x!=¡¯$¡¯)

{switch

while((x>=¡¯0¡¯&&x<=¡¯9¡¯)||x==¡¯.¡¯) //Æ´Êý

if(x!=¡¯.¡¯) //´¦ÀíÕûÊý

{num=num*10+£¨ord(x)-ord(¡®0¡¯)£©; cin>>x;} else //´¦ÀíСÊý²¿·Ö¡£ {scale=10.0; cin>>x; while(x>=¡¯0¡¯&&x<=¡¯9¡¯)

{num=num+(ord(x)-ord(¡®0¡¯)/scale; scale=scale*10; cin>>x; } }//else

18

{case¡®0¡¯<=x<=¡¯9¡¯:

push(OPND,num); num=0.0;//ÊýѹÈëÕ»£¬Ï¸öÊý³õʼ»¯

case x=¡® ¡¯:break; //Óö¿Õ¸ñ£¬¼ÌÐø¶ÁÏÂÒ»¸ö×Ö·û¡£ case x=¡®+¡¯:push(OPND,pop(OPND)+pop(OPND));break;

case x=¡®-¡¯:x1=pop(OPND);x2=pop(OPND);push(OPND,x2-x1);break; case x=¡®*¡¯:push(OPND,pop(OPND)*pop(OPND));break;

case x=¡®/¡¯:x1=pop(OPND);x2=pop(OPND);push(OPND,x2/x1);break; default: //ÆäËü·ûºÅ²»×÷´¦Àí¡£ }//½áÊøswitch

cin>>x;//¶ÁÈë±í´ïʽÖÐÏÂÒ»¸ö×Ö·û¡£ }//½áÊøwhile£¨x£¡=¡®$¡¯£©

cout<<¡°ºó׺±í´ïʽµÄֵΪ¡±<

[Ëã·¨ÌÖÂÛ]¼ÙÉèÊäÈëµÄºó׺±í´ïʽÊÇÕýÈ·µÄ£¬Î´×÷´íÎó¼ì²é¡£Ëã·¨ÖÐÆ´Êý²¿·ÖÊǺËÐÄ¡£ÈôÓöµ½´óÓÚµÈÓÚ¡®0¡¯ÇÒСÓÚµÈÓÚ¡®9¡¯µÄ×Ö·û£¬ÈÏΪÊÇÊý¡£ÕâÖÖ×Ö·ûµÄÐòºÅ¼õÈ¥×Ö·û¡®0¡¯µÄÐòºÅµÃ³öÊý¡£¶ÔÓÚÕûÊý£¬Ã¿¶ÁÈëÒ»¸öÊý×Ö×Ö·û£¬Ç°ÃæµÃµ½µÄ²¿·ÖÊýÒª³ËÉÏ10ÔÙ¼ÓжÁÈëµÄÊýµÃµ½ÐµIJ¿·ÖÊý¡£µ±¶Áµ½Ð¡Êýµã£¬ÈÏΪÊýµÄÕûÊý²¿·ÖÒÑÍ꣬Ҫ½Ó×Å´¦ÀíСÊý²¿·Ö¡£Ð¡Êý²¿·ÖµÄÊýÒª³ýÒÔ10£¨»ò10µÄÃÝÊý£©±ä³ÉÊ®·Ö룬°Ù·Öλ£¬Ç§·ÖλÊýµÈµÈ£¬ÓëÇ°Ãæ²¿·ÖÊýÏà¼Ó¡£ÔÚÆ´Êý¹ý³ÌÖУ¬ÈôÓö·ÇÊý×Ö×Ö·û£¬±íʾÊýÒÑÆ´Í꣬½«ÊýѹÈëÕ»ÖУ¬²¢ÇÒ½«±äÁ¿num»Ö¸´Îª0£¬×¼±¸ÏÂÒ»¸öÊý¡£Õâʱ¶ÔжÁÈëµÄ×Ö·û½øÈë¡®+¡¯¡¢¡®-¡¯¡¢¡®*¡¯¡¢¡®/¡¯¼°¿Õ¸ñµÄÅжϣ¬Òò´ËÔÚ½áÊø´¦ÀíÊý×Ö×Ö·ûµÄcaseºó£¬²»ÄܼÓÈëbreakÓï¾ä¡£

£¨5£©¼ÙÉèÒÔIºÍO·Ö±ð±íʾÈëÕ»ºÍ³öÕ»²Ù×÷¡£Õ»µÄ³õ̬ºÍÖÕ̬¾ùΪ¿Õ£¬ÈëÕ»ºÍ³öÕ»µÄ²Ù×÷ÐòÁпɱíʾΪ½öÓÉIºÍO×é³ÉµÄÐòÁУ¬³Æ¿ÉÒÔ²Ù×÷µÄÐòÁÐΪºÏ·¨ÐòÁУ¬·ñÔò³ÆÎª·Ç·¨ÐòÁС£

¢ÙÏÂÃæËùʾµÄÐòÁÐÖÐÄÄЩÊǺϷ¨µÄ£¿

A. IOIIOIOO B. IOOIOIIO C. IIIOIOIO D. IIIOOIOO

¢Úͨ¹ý¶Ô¢ÙµÄ·ÖÎö£¬Ð´³öÒ»¸öËã·¨£¬Åж¨Ëù¸øµÄ²Ù×÷ÐòÁÐÊÇ·ñºÏ·¨¡£ÈôºÏ·¨£¬·µ»Øtrue£¬·ñÔò·µ»Øfalse£¨¼Ù¶¨±»Åж¨µÄ²Ù×÷ÐòÁÐÒÑ´æÈëһάÊý×éÖУ©¡£

´ð°¸£º

¢ÙAºÍDÊǺϷ¨ÐòÁУ¬BºÍC ÊÇ·Ç·¨ÐòÁС£ ¢ÚÉè±»Åж¨µÄ²Ù×÷ÐòÁÐÒÑ´æÈëһάÊý×éAÖС£

int Judge(char A[])

//ÅжÏ×Ö·ûÊý×éAÖеÄÊäÈëÊä³öÐòÁÐÊÇ·ñÊǺϷ¨ÐòÁС£ÈçÊÇ£¬·µ»Øtrue£¬·ñÔò·µ»Ø

false¡£

{i=0; //iΪϱꡣ

j=k=0; //jºÍk·Ö±ðΪIºÍ×ÖĸOµÄµÄ¸öÊý¡£ while(A[i]!=¡®\\0¡¯) //µ±Î´µ½×Ö·ûÊý×éβ¾Í×÷¡£ {switch(A[i])

{case¡®I¡¯: j++; break; //ÈëÕ»´ÎÊýÔö1¡£

19

case¡®O¡¯: k++; if(k>j){cout<<¡°ÐòÁзǷ¨¡±<

i++; //²»ÂÛA[i]ÊÇ¡®I¡¯»ò¡®O¡¯£¬Ö¸Õëi¾ùºóÒÆ¡£}

if(j!=k) {cout<<¡°ÐòÁзǷ¨¡±<

[Ëã·¨ÌÖÂÛ]ÔÚÈëÕ»³öÕ»ÐòÁУ¨¼´ÓÉ¡®I¡¯ºÍ¡®O¡¯×é³ÉµÄ×Ö·û´®£©µÄÈÎһλÖã¬ÈëÕ»´ÎÊý£¨¡®I¡¯µÄ¸öÊý£©¶¼±ØÐë´óÓÚµÈÓÚ³öÕ»´ÎÊý£¨¼´¡®O¡¯µÄ¸öÊý£©£¬·ñÔòÊÓ×÷·Ç·¨ÐòÁУ¬Á¢¼´¸ø³öÐÅÏ¢£¬Í˳öËã·¨¡£Õû¸öÐòÁУ¨¼´¶Áµ½×Ö·ûÊý×éÖÐ×Ö·û´®µÄ½áÊø±ê¼Ç¡®\\0¡¯£©£¬ÈëÕ»´ÎÊý±ØÐëµÈÓÚ³öÕ»´ÎÊý£¨ÌâÄ¿ÖÐÒªÇóÕ»µÄ³õ̬ºÍÖÕ̬¶¼Îª¿Õ£©£¬·ñÔòÊÓΪ·Ç·¨ÐòÁС£

(6£©¼ÙÉèÒÔ´øÍ·½áµãµÄÑ­»·Á´±í±íʾ¶ÓÁУ¬²¢ÇÒÖ»ÉèÒ»¸öÖ¸ÕëÖ¸Ïò¶ÓÎ²ÔªËØÕ¾µã(×¢Òâ²»ÉèÍ·Ö¸Õë) £¬ÊÔ±àдÏàÓ¦µÄÖÿնӡ¢ÅÐ¶Ó¿Õ ¡¢Èë¶ÓºÍ³ö¶ÓµÈËã·¨¡£

[ÌâÄ¿·ÖÎö]

ÖÿնӾÍÊǽ¨Á¢Ò»¸öÍ·½Úµã£¬²¢°ÑͷβָÕë¶¼Ö¸ÏòÍ·½Úµã£¬Í·½ÚµãÊDz»´æ·ÅÊý¾ÝµÄ£»ÅжӿվÍÊǵ±Í·Ö¸ÕëµÈÓÚβָÕëʱ£¬¶Ó¿Õ£»Èë¶Óʱ£¬½«ÐµĽڵã²åÈëµ½Á´¶ÓÁеÄβ²¿£¬Í¬Ê±½«Î²Ö¸ÕëÖ¸ÏòÕâ¸ö½Úµã£»³ö¶Óʱ£¬É¾³ýµÄÊǶÓÍ·½Úµã£¬Òª×¢Òâ¶ÓÁеij¤¶È´óÓÚ1»¹ÊǵÈÓÚ1µÄÇé¿ö£¬Õâ¸öʱºòҪעÒâβָÕëµÄÐ޸ģ¬Èç¹ûµÈÓÚ1£¬ÔòҪɾ³ýβָÕëÖ¸ÏòµÄ½Úµã¡£

[Ëã·¨ÃèÊö]

//Ïȶ¨ÒåÁ´¶Ó½á¹¹: typedef struct queuenode {Datatype data;

struct queuenode *next;

}QueueNode; //ÒÔÉÏÊǽáµãÀàÐ͵͍Òå typedef struct {queuenode *rear;

}LinkQueue; //Ö»ÉèÒ»¸öÖ¸Ïò¶ÓÎ²ÔªËØµÄÖ¸Õë

(1) ÖÿնÓ

void InitQueue( LinkQueue *Q)

{ //Öÿնӣº¾ÍÊÇʹͷ½áµã³ÉΪ¶ÓÎ²ÔªËØ QueueNode *s;

Q->rear = Q->rear->next;//½«¶ÓβָÕëÖ¸ÏòÍ·½áµã

while (Q->rear!=Q->rear->next)//µ±¶ÓÁзǿգ¬½«¶ÓÖÐÔªËØÖð¸ö³ö¶Ó {s=Q->rear->next; Q->rear->next=s->next; delete s; }//»ØÊÕ½áµã¿Õ¼ä

20

}

(2) ÅжӿÕ

int EmptyQueue( LinkQueue *Q)

{ //Åжӿա£µ±Í·½áµãµÄnextÖ¸ÕëÖ¸Ïò×Ô¼ºÊ±Îª¿Õ¶Ó return Q->rear->next->next==Q->rear->next; }

(3) Èë¶Ó

void EnQueue( LinkQueue *Q, Datatype x) { //Èë¶Ó¡£Ò²¾ÍÊÇÔÚβ½áµã´¦²åÈëÔªËØ QueueNode *p=new QueueNode;//ÉêÇëнáµã

p->data=x; p->next=Q->rear->next;//³õʼ»¯Ð½áµã²¢Á´Èë Q-rear->next=p;

Q->rear=p;//½«Î²Ö¸ÕëÒÆÖÁнáµã }

(4) ³ö¶Ó

Datatype DeQueue( LinkQueue *Q) {//³ö¶Ó,°ÑÍ·½áµãÖ®ºóµÄÔªËØÕªÏ Datatype t; QueueNode *p; if(EmptyQueue( Q )) Error(\

p=Q->rear->next->next; //pÖ¸Ïò½«ÒªÕªÏµĽáµã x=p->data; //±£´æ½áµãÖÐÊý¾Ý if (p==Q->rear)

{//µ±¶ÓÁÐÖÐÖ»ÓÐÒ»¸ö½áµãʱ£¬p½áµã³ö¶Óºó£¬Òª½«¶ÓβָÕëÖ¸ÏòÍ·½áµã Q->rear = Q->rear->next; Q->rear->next=p->next; } else

Q->rear->next->next=p->next;//ժϽáµãp delete p;//Êͷű»É¾½áµã return x; }

21

£¨7£©¼ÙÉèÒÔÊý×éQ[m]´æ·ÅÑ­»·¶ÓÁÐÖеÄÔªËØ, ͬʱÉèÖÃÒ»¸ö±êÖ¾tag£¬ÒÔtag == 0ºÍtag == 1À´Çø±ðÔÚ¶ÓÍ·Ö¸Õë(front)ºÍ¶ÓβָÕë(rear)ÏàµÈʱ£¬¶ÓÁÐ״̬Ϊ¡°¿Õ¡±»¹ÊÇ¡°Âú¡±¡£ÊÔ±àдÓë´Ë½á¹¹ÏàÓ¦µÄ²åÈë(enqueue)ºÍɾ³ý(dlqueue)Ëã·¨¡£

[Ëã·¨ÃèÊö] (1)³õʼ»¯

SeQueue QueueInit(SeQueue Q) {//³õʼ»¯¶ÓÁÐ

Q.front=Q.rear=0; Q.tag=0; return Q; } (2)Èë¶Ó

SeQueue QueueIn(SeQueue Q,int e) {//Èë¶ÓÁÐ

if((Q.tag==1) && (Q.rear==Q.front)) cout<<\¶ÓÁÐÒÑÂú\else

{Q.rear=(Q.rear+1) % m; Q.data[Q.rear]=e;

if(Q.tag==0) Q.tag=1; //¶ÓÁÐÒѲ»¿Õ } return Q; } (3)³ö¶Ó

ElemType QueueOut(SeQueue Q) {//³ö¶ÓÁÐ

if(Q.tag==0) { cout<<\¶ÓÁÐΪ¿Õ\else

{Q.front=(Q.front+1) % m; e=Q.data[Q.front];

if(Q.front==Q.rear) Q.tag=0; //¿Õ¶ÓÁÐ }

return(e); }

(8£©Èç¹ûÔÊÐíÔÚÑ­»·¶ÓÁеÄÁ½¶Ë¶¼¿ÉÒÔ½øÐвåÈëºÍɾ³ý²Ù×÷¡£ÒªÇó£º ¢Ù д³öÑ­»·¶ÓÁеÄÀàÐͶ¨Ò壻

¢Ú д³ö¡°´Ó¶Óβɾ³ý¡±ºÍ¡°´Ó¶ÓÍ·²åÈ롱µÄËã·¨¡£

[ÌâÄ¿·ÖÎö] ÓÃһάÊý×é v[0..M-1]ʵÏÖÑ­»·¶ÓÁУ¬ÆäÖÐMÊǶÓÁг¤¶È¡£Éè¶ÓÍ·Ö¸Õë frontºÍ¶ÓβָÕërear£¬Ô¼¶¨frontÖ¸Ïò¶ÓÍ·ÔªËØµÄǰһλÖã¬rearÖ¸Ïò¶ÓÎ²ÔªËØ¡£¶¨Òå

22

front=rearʱΪ¶Ó¿Õ£¬(rear+1)%m=front Ϊ¶ÓÂú¡£Ô¼¶¨¶ÓÍ·¶ËÈë¶ÓÏòϱêСµÄ·½Ïò·¢Õ¹£¬¶Óβ¶ËÈë¶ÓÏòϱê´óµÄ·½Ïò·¢Õ¹¡£

[Ëã·¨ÃèÊö] ¢Ù

#define M ¶ÓÁпÉÄÜ´ïµ½µÄ×î´ó³¤¶È typedef struct {elemtp data[M]; int front,rear; }cycqueue; ¢Ú

elemtp delqueue ( cycqueue Q)

//QÊÇÈçÉ϶¨ÒåµÄÑ­»·¶ÓÁУ¬±¾Ë㷨ʵÏÖ´Ó¶Óβɾ³ý£¬Èôɾ³ý³É¹¦£¬·µ»Ø±»É¾³ýÔªËØ£¬

·ñÔò¸ø³ö³ö´íÐÅÏ¢¡£

{if (Q.front==Q.rear) { cout<<\¶ÓÁпÕ\Q.rear=(Q.rear-1+M)%M; //Ð޸ĶÓβָÕë¡£ return(Q.data[(Q.rear+1+M)%M]); //·µ»Ø³ö¶ÓÔªËØ¡£ }//´Ó¶Óβɾ³ýËã·¨½áÊø

void enqueue (cycqueue Q, elemtp x)

// QÊÇ˳Ðò´æ´¢µÄÑ­»·¶ÓÁУ¬±¾Ë㷨ʵÏÖ¡°´Ó¶ÓÍ·²åÈë¡±ÔªËØx¡£ {if (Q.rear==(Q.front-1+M)%M) { cout<<\¶ÓÂú\ Q.data[Q.front]=x; //x Èë¶ÓÁÐ Q.front=(Q.front-1+M)%M; //Ð޸ĶÓÍ·Ö¸Õë¡£ }// ½áÊø´Ó¶ÓÍ·²åÈëËã·¨¡£

£¨9£©ÒÑÖªAckermannº¯Êý¶¨ÒåÈçÏÂ:

¢Ù д³ö¼ÆËãAck(m,n)µÄµÝ¹éËã·¨£¬²¢¸ù¾Ý´ËËã·¨¸ø³ö³öAck(2,1)µÄ¼ÆËã¹ý³Ì¡£ ¢Ú д³ö¼ÆËãAck(m,n)µÄ·ÇµÝ¹éËã·¨¡£ [Ëã·¨ÃèÊö] int Ack(int m,n) {if (m==0) return(n+1);

else if(m!=0&&n==0) return(Ack(m-1,1)); else return(Ack(m-1,Ack(m,m-1)); }//Ëã·¨½áÊø

¢Ù Ack(2,1)µÄ¼ÆËã¹ý³Ì

23

Ack(2,1)= Ack(1,Ack(2,0)) //Òòm<>0,n<>0¶øµÃ ¢Ú

int Ackerman(int m, int n) {int akm[M][N];int i,j;

for(j=0;j

{akm[i][0]=akm[i-1][1]; for(j=1;j

akm[i][j]=akm[i-1][akm[i][j-1]]; }

return(akm[m][n]); }//Ëã·¨½áÊø

£¨10£©ÒÑÖªfΪµ¥Á´±íµÄ±íÍ·Ö¸Õë, Á´±íÖд洢µÄ¶¼ÊÇÕûÐÍÊý¾Ý£¬ÊÔд³öʵÏÖÏÂÁÐÔËËãµÄµÝ¹éËã·¨£º

¢Ù ÇóÁ´±íÖеÄ×î´óÕûÊý£» ¢Ú ÇóÁ´±íµÄ½áµã¸öÊý£» ¢Û ÇóËùÓÐÕûÊýµÄƽ¾ùÖµ¡£ [Ëã·¨ÃèÊö]

¢Ù

int GetMax(LinkList p) {

= Ack(1,Ack(1,1)) //Òòm<>0,n=0¶øµÃ = Ack(1,Ack(0,Ack(1,0))) // Òòm<>0,n<>0¶øµÃ = Ack(1,Ack(0,Ack(0,1))) // Òòm<>0,n=0¶øµÃ = Ack(1,Ack(0,2)) // Òòm=0¶øµÃ = Ack(1,3) // Òòm=0¶øµÃ = Ack(0,Ack(1,2)) //Òòm<>0,n<>0¶øµÃ = Ack(0,Ack(0,Ack(1,1))) //Òòm<>0,n<>0¶øµÃ = Ack(0,Ack(0,Ack(0,Ack(1,0)))) //Òòm<>0,n<>0¶øµÃ = Ack(0,Ack(0,Ack(0,Ack(0,1)))) //Òòm<>0,n=0¶øµÃ = Ack(0,Ack(0,Ack(0,2))) //Òòm=0¶øµÃ = Ack(0,Ack(0,3)) //Òòm=0¶øµÃ = Ack(0,4) //Òòn=0¶øµÃ =5 //Òòn=0¶øµÃ

if(!p->next) else

24

return p->data;

}

{ }

int max=GetMax(p->next);

return p->data>=max ? p->data:max;

¢Ú

int GetLength(LinkList p) { }

if(!p->next) else { }

return GetLength(p->next)+1; return 1;

¢Û

double GetAverage(LinkList p , int n) { }

if(!p->next) else { }

double ave=GetAverage(p->next,n-1); return (ave*(n-1)+p->data)/n; return p->data;

25

µÚ4Õ ´®¡¢Êý×éºÍ¹ãÒå±í

1£®Ñ¡ÔñÌâ

£¨1£©´®ÊÇÒ»ÖÖÌØÊâµÄÏßÐÔ±í£¬ÆäÌØÊâÐÔÌåÏÖÔÚ£¨ £©¡£

A£®¿ÉÒÔ˳Ðò´æ´¢ B£®Êý¾ÝÔªËØÊÇÒ»¸ö×Ö·û C£®¿ÉÒÔÁ´Ê½´æ´¢ D£®Êý¾ÝÔªËØ¿ÉÒÔÊǶà¸ö×Ö·ûÈô ´ð°¸£ºB

£¨2£©´®ÏÂÃæ¹ØÓÚ´®µÄµÄÐðÊöÖУ¬£¨ £©ÊDz»ÕýÈ·µÄ£¿

A£®´®ÊÇ×Ö·ûµÄÓÐÏÞÐòÁÐ B£®¿Õ´®ÊÇÓɿոñ¹¹³ÉµÄ´®

C£®Ä£Ê½Æ¥ÅäÊÇ´®µÄÒ»ÖÖÖØÒªÔËËã D£®´®¼È¿ÉÒÔ²ÉÓÃ˳Ðò´æ´¢£¬Ò²¿ÉÒÔ²ÉÓÃÁ´Ê½´æ´¢ ´ð°¸£ºB

½âÊÍ£º¿Õ¸ñ³£³£ÊÇ´®µÄ×Ö·û¼¯ºÏÖеÄÒ»¸öÔªËØ£¬ÓÐÒ»¸ö»ò¶à¸ö¿Õ¸ñ×é³ÉµÄ´®³ÉΪ¿Õ¸ñ

´®£¬Áã¸ö×Ö·ûµÄ´®³ÉΪ¿Õ´®£¬Æä³¤¶ÈΪÁã¡£

£¨3£©´®¡°ababaaababaa¡±µÄnextÊý×éΪ£¨ £©¡£

A£®012345678999 B£®012121111212 C£®011234223456 D£®0123012322345 ´ð°¸£ºC

£¨4£©´®¡°ababaabab¡±µÄnextvalΪ£¨ £©¡£

A£®010104101 B£®010102101 C£®010100011 D£®010101011 ´ð°¸£ºA

£¨5£©´®µÄ³¤¶ÈÊÇÖ¸£¨ £©¡£

A£®´®ÖÐËùº¬²»Í¬×ÖĸµÄ¸öÊý B£®´®ÖÐËùº¬×Ö·ûµÄ¸öÊý C£®´®ÖÐËùº¬²»Í¬×Ö·ûµÄ¸öÊý D£®´®ÖÐËùº¬·Ç¿Õ¸ñ×Ö·ûµÄ¸öÊý ´ð°¸£ºB

½âÊÍ£º´®ÖÐ×Ö·ûµÄÊýÄ¿³ÆÎª´®µÄ³¤¶È¡£

£¨6£©¼ÙÉèÒÔÐÐÐòΪÖ÷Ðò´æ´¢¶þάÊý×éA=array[1..100,1..100]£¬Éèÿ¸öÊý¾ÝÔªËØÕ¼2¸ö´æ´¢µ¥Ôª£¬»ùµØÖ·Îª10£¬ÔòLOC[5,5]=£¨ £©¡£

A£®808 B£®818 C£®1010 D£®1020 ´ð°¸£ºB

½âÊÍ£ºÒÔÐÐÐòΪÖ÷£¬ÔòLOC[5,5]=[£¨5-1£©*100+£¨5-1£©]*2+10=818¡£

£¨7£©ÉèÓÐÊý×éA[i,j]£¬Êý×éµÄÿ¸öÔªËØ³¤¶ÈΪ3×Ö½Ú£¬iµÄֵΪ1µ½8£¬jµÄֵΪ1µ½10£¬Êý×é´ÓÄÚ´æÊ×µØÖ·BA¿ªÊ¼Ë³Ðò´æ·Å£¬µ±ÓÃÒÔÁÐΪÖ÷´æ·Åʱ£¬ÔªËØA[5,8]µÄ´æ´¢Ê×µØÖ·Îª£¨ £©¡£

A£®BA+141 B£®BA+180 C£®BA+222 D£®BA+225 ´ð°¸£ºB

½âÊÍ£ºÒÔÁÐÐòΪÖ÷£¬ÔòLOC[5,8]=[£¨8-1£©*8+£¨5-1£©]*3+BA=BA+180¡£

£¨8£©ÉèÓÐÒ»¸ö10½×µÄ¶Ô³Æ¾ØÕóA£¬²ÉÓÃѹËõ´æ´¢·½Ê½£¬ÒÔÐÐÐòΪÖ÷´æ´¢£¬a11ΪµÚÒ»ÔªËØ£¬Æä´æ´¢µØÖ·Îª1£¬Ã¿¸öÔªËØÕ¼Ò»¸öµØÖ·¿Õ¼ä£¬Ôòa85µÄµØÖ·Îª£¨ £©¡£

26

A£®13 B£®32 C£®33 D£®40 ´ð°¸£ºC

£¨9£©Èô¶Ôn½×¶Ô³Æ¾ØÕóAÒÔÐÐÐòΪÖ÷Ðò·½Ê½½«ÆäÏÂÈý½ÇÐεÄÔªËØ(°üÀ¨Ö÷¶Ô½ÇÏßÉÏËùÓÐÔªËØ)ÒÀ´Î´æ·ÅÓÚһάÊý×éB[1..(n(n+1))/2]ÖУ¬ÔòÔÚBÖÐÈ·¶¨aij£¨i

A£®i*(i-1)/2+j B£®j*(j-1)/2+i C£®i*(i+1)/2+j D£®j*(j+1)/2+i ´ð°¸£ºB

£¨10£©¶þάÊý×éAµÄÿ¸öÔªËØÊÇÓÉ10¸ö×Ö·û×é³ÉµÄ´®£¬ÆäÐÐϱêi=0,1,?,8,ÁÐϱê

j=1,2,?,10¡£ÈôA°´ÐÐÏÈ´æ´¢£¬ÔªËØA[8,5]µÄÆðʼµØÖ·Óëµ±A°´ÁÐÏȴ洢ʱµÄÔªËØ£¨ £©µÄÆðʼµØÖ·Ïàͬ¡£Éèÿ¸ö×Ö·ûÕ¼Ò»¸ö×Ö½Ú¡£

A£®A[8,5] B£®A[3,10] C. A[5,8] D£®A[0,9] ´ð°¸£ºB

½âÊÍ£ºÉèÊý×é´ÓÄÚ´æÊ×µØÖ·M¿ªÊ¼Ë³Ðò´æ·Å£¬ÈôÊý×é°´ÐÐÏÈ´æ´¢£¬ÔªËØA[8,5]µÄÆð

ʼµØÖ·Îª£ºM+[£¨8-0£©*10+£¨5-1£©]*1=M+84£»ÈôÊý×é°´ÁÐÏÈ´æ´¢£¬Ò×¼ÆËã³öÔªËØA[3,10]µÄÆðʼµØÖ·Îª£ºM+[£¨10-1£©*9+£¨3-0£©]*1=M+84¡£¹ÊÑ¡B¡£

£¨11£©Éè¶þάÊý×éA[1.. m£¬1.. n]£¨¼´mÐÐnÁУ©°´Ðд洢ÔÚÊý×éB[1.. m*n]ÖУ¬Ôò¶þάÊý×éÔªËØA[i,j]ÔÚһάÊý×éBÖеÄϱêΪ£¨ £©¡£

A£®(i-1)*n+j B£®(i-1)*n+j-1 C£®i*(j-1) D£®j*m+i-1

´ð°¸£ºA

½âÊÍ£ºÌØÊâÖµ·¨¡£È¡i=j=1£¬Ò×ÖªA[1,1]µÄµÄϱêΪ1£¬ËĸöÑ¡ÏîÖнöÓÐAÑ¡ÏîÄÜ

È·¶¨µÄֵΪ1£¬¹ÊÑ¡A¡£

£¨12£©Êý×éA[0..4,-1..-3,5..7]Öк¬ÓÐÔªËØµÄ¸öÊý£¨ £©¡£

A£®55 B£®45 C£®36 D£®16 ´ð°¸£ºB

½âÊÍ£º¹²ÓÐ5*3*3=45¸öÔªËØ¡£

£¨13£©¹ãÒå±íA=(a,b,(c,d),(e,(f,g)))£¬ÔòHead(Tail(Head(Tail(Tail(A)))))µÄֵΪ£¨ £©¡£ A£®(g) B£®(d) C£®c D£®d ´ð°¸£ºD

½âÊÍ£ºTail(A)=(b,(c,d),(e,(f,g)))£»Tail(Tail(A))=( (c,d),(e,(f,g)))£» Head(Tail(Tail(A)))=

(c,d)£»Tail(Head(Tail(Tail(A))))=(d)£»Head(Tail(Head(Tail(Tail(A)))))=d¡£

£¨14£©¹ãÒå±í((a,b,c,d))µÄ±íÍ·ÊÇ£¨ £©£¬±íβÊÇ£¨ £©¡£

A£®a B£®( ) C£®(a,b,c,d) D£®(b,c,d) ´ð°¸£ºC¡¢B

½âÊÍ£º±íͷΪ·Ç¿Õ¹ãÒå±íµÄµÚÒ»¸öÔªËØ£¬¿ÉÒÔÊÇÒ»¸öµ¥Ô­×Ó£¬Ò²¿ÉÒÔÊÇÒ»¸ö×Ó±í£¬

((a,b,c,d))µÄ±íͷΪһ¸ö×Ó±í(a,b,c,d)£»±íβΪ³ýÈ¥±íÍ·Ö®Í⣬ÓÉÆäÓàÔªËØ¹¹³ÉµÄ±í£¬±íΪһ¶¨ÊǸö¹ãÒå±í£¬((a,b,c,d))µÄ±íβΪ¿Õ±í( )¡£

£¨15£©Éè¹ãÒå±íL=((a,b,c))£¬ÔòLµÄ³¤¶ÈºÍÉî¶È·Ö±ðΪ£¨ £©¡£

A£®1ºÍ1 B£®1ºÍ3 C£®1ºÍ2 D£®2ºÍ3 ´ð°¸£ºC

27

½âÊÍ£º¹ãÒå±íµÄÉî¶ÈÊÇÖ¸¹ãÒå±íÖÐÕ¹¿ªºóËùº¬À¨ºÅµÄ²ãÊý£¬¹ãÒå±íµÄ³¤¶ÈÊÇÖ¸¹ãÒå±í

ÖÐËùº¬ÔªËصĸöÊý¡£¸ù¾Ý¶¨ÒåÒ×ÖªLµÄ³¤¶ÈΪ1£¬Éî¶ÈΪ2¡£

2£®Ó¦ÓÃÌâ

£¨1£©ÒÑ֪ģʽ´®t=¡®abcaabbabcab¡¯Ð´³öÓÃKMP·¨ÇóµÃµÄÿ¸ö×Ö·û¶ÔÓ¦µÄnextºÍnextvalº¯ÊýÖµ¡£

´ð°¸£º

ģʽ´®tµÄnextºÍnextvalÖµÈçÏ£º j t´® next[j] nextval[j]

£¨2£©ÉèÄ¿±êΪt=¡°abcaabbabcabaacbacba¡±,ģʽΪp=¡°abcabaa¡± ¢Ù ¼ÆËãģʽpµÄnaxtvalº¯ÊýÖµ£»

¢Ú ²»Ð´³öËã·¨,Ö»»­³öÀûÓÃKMPËã·¨½øÐÐģʽƥÅäʱÿһÌËµÄÆ¥Åä¹ý³Ì¡£ ´ð°¸£º

¢Ù pµÄnextvalº¯ÊýֵΪ0110132¡££¨pµÄnextº¯ÊýֵΪ0111232£©¡£ ¢Ú ÀûÓÃKMP(¸Ä½øµÄnextval)Ëã·¨£¬Ã¿ÌËÆ¥Åä¹ý³ÌÈçÏ£º µÚÒ»ÌËÆ¥Å䣺 abcaabbabcabaacbacba abcab(i=5,j=5) µÚ¶þÌËÆ¥Å䣺 abcaabbabcabaacbacba abc(i=7,j=3) µÚÈýÌËÆ¥Å䣺 abcaabbabcabaacbacba a(i=7,j=1) µÚËÄÌËÆ¥Å䣺 abcaabbabcabaac bacba (³É¹¦) abcabaa(i=15,j=8)

£¨3£©Êý×éAÖУ¬Ã¿¸öÔªËØA[i,j]µÄ³¤¶È¾ùΪ32¸ö¶þ½øÎ»,ÐÐϱê´Ó-1µ½9£¬ÁÐϱê´Ó1µ½11£¬´ÓÊ×µØÖ·S¿ªÊ¼Á¬Ðø´æ·ÅÖ÷´æ´¢Æ÷ÖУ¬Ö÷´æ´¢Æ÷×Ö³¤Îª16λ¡£Çó£º

¢Ù ´æ·Å¸ÃÊý×éËùÐè¶àÉÙµ¥Ôª£¿

¢Ú ´æ·ÅÊý×éµÚ4ÁÐËùÓÐÔªËØÖÁÉÙÐè¶àÉÙµ¥Ôª£¿ ¢Û Êý×é°´Ðдæ·Åʱ£¬ÔªËØA[7,4]µÄÆðʼµØÖ·ÊǶàÉÙ£¿ ¢Ü Êý×é°´Áдæ·Åʱ£¬ÔªËØA[4,7]µÄÆðʼµØÖ·ÊǶàÉÙ£¿ ´ð°¸£º

ÿ¸öÔªËØ32¸ö¶þ½øÖÆÎ»£¬Ö÷´æ×Ö³¤16룬¹Êÿ¸öÔªËØÕ¼2¸ö×Ö³¤£¬ÐÐϱê¿ÉÆ½ÒÆÖÁ1µ½11¡£

£¨1£©242 £¨2£©22 £¨3£©s+182 £¨4£©s+142

28

1 2 3 4 5 6 7 8 9 10 11 12 a b c a a b b a b c a b 0 1 1 1 2 2 3 1 2 3 4 5 0 1 1 0 2 1 3 0 1 1 0 5

(4)Ç뽫Ïã½¶bananaÓù¤¾ß H( )¡ªHead( )£¬T( )¡ªTail( )´ÓLÖÐÈ¡³ö¡£ L=(apple,(orange,(strawberry,(banana)),peach),pear) ´ð°¸£ºH£¨H£¨T£¨H£¨T£¨H£¨T£¨L£©£©£©£©£©£©£©

3£®Ëã·¨Éè¼ÆÌâ

£¨1£©Ð´Ò»¸öË㷨ͳ¼ÆÔÚÊäÈë×Ö·û´®Öи÷¸ö²»Í¬×Ö·û³öÏֵįµ¶È²¢½«½á¹û´æÈëÎļþ£¨×Ö·û´®ÖеĺϷ¨×Ö·ûΪA-ZÕâ26¸ö×ÖĸºÍ0-9Õâ10¸öÊý×Ö£©¡£

[ÌâÄ¿·ÖÎö] ÓÉÓÚ×Öĸ¹²26¸ö£¬¼ÓÉÏÊý×Ö·ûºÅ10¸ö¹²36¸ö£¬ËùÒÔÉèÒ»³¤36µÄÕûÐÍÊý×飬ǰ10¸ö·ÖÁ¿´æ·ÅÊý×Ö×Ö·û³öÏֵĴÎÊý£¬ÓàÏ´æ·Å×Öĸ³öÏֵĴÎÊý¡£´Ó×Ö·û´®ÖжÁ³öÊý×Ö×Ö·ûʱ£¬×Ö·ûµÄASCII´úÂëÖµ¼õÈ¥Êý×Ö×Ö·û ¡®0¡¯µÄASCII´úÂëÖµ£¬µÃ³öÆäÊýÖµ(0..9)£¬×ÖĸµÄASCII´úÂëÖµ¼õÈ¥×Ö·û¡®A¡¯µÄASCII´úÂëÖµ¼ÓÉÏ10£¬´æÈëÆäÊý×éµÄ¶ÔӦϱê·ÖÁ¿ÖС£ÓöÆäËü·ûºÅ²»×÷´¦Àí£¬Ö±ÖÁÊäÈë×Ö·û´®½áÊø¡£

[Ëã·¨ÃèÊö] void Count£¨£©

//ͳ¼ÆÊäÈë×Ö·û´®ÖÐÊý×Ö×Ö·ûºÍ×Öĸ×Ö·ûµÄ¸öÊý¡£ £ûint i£¬num[36]£» char ch£»

for£¨i£½0£»i<36£»i++£©num[i]£½£°£»// ³õʼ»¯

while£¨£¨ch£½getchar£¨£©£©!=¡®#¡¯£© //¡®#¡¯±íʾÊäÈë×Ö·û´®½áÊø¡£ if£¨¡®0¡¯<=ch<=¡®9¡¯£©£ûi=ch£­48;num[i]++£»£ý // Êý×Ö×Ö·û else if£¨¡®A¡¯<=ch<=¡®Z¡¯£©£ûi=ch-65+10;num[i]++£»£ý// ×Öĸ×Ö·û for£¨i=0£»i<10£»i++£© // Êä³öÊý×Ö×Ö·ûµÄ¸öÊý

£¨2£©Ð´Ò»¸öµÝ¹éËã·¨À´ÊµÏÖ×Ö·û´®ÄæÐò´æ´¢£¬ÒªÇó²»ÁíÉè´®´æ´¢¿Õ¼ä¡£

[ÌâÄ¿·ÖÎö]ʵÏÖ×Ö·û´®µÄÄæÖò¢²»ÄÑ£¬µ«±¾Ìâ¡°ÒªÇó²»ÁíÉè´®´æ´¢¿Õ¼ä¡±À´ÊµÏÖ×Ö·û´®ÄæÐò´æ´¢£¬¼´µÚÒ»¸öÊäÈëµÄ×Ö·û×îºó´æ´¢£¬×îºóÊäÈëµÄ×Ö·ûÏÈ´æ´¢£¬Ê¹Óõݹé¿ÉÈÝÒ××öµ½¡£

[Ëã·¨ÃèÊö]

void InvertStore(char A[]) //×Ö·û´®ÄæÐò´æ´¢µÄµÝ¹éËã·¨¡£ {char ch;

static int i = 0;//ÐèҪʹÓþ²Ì¬±äÁ¿ cin>>ch;

if (ch!= '.') //¹æ¶¨'.'ÊÇ×Ö·û´®ÊäÈë½áÊø±êÖ¾

29

£ý

cout<<¡°Êý×Ö¡±<

for£¨i£½10£»i<36£»i++£©// Çó³ö×Öĸ×Ö·ûµÄ¸öÊý

}

{InvertStore(A);

A[i++] = ch;//×Ö·û´®ÄæÐò´æ´¢ }

A[i] = '\\0'; //×Ö·û´®½áβ±ê¼Ç

£¨3£©±àдËã·¨£¬ÊµÏÖÏÂÃæº¯ÊýµÄ¹¦ÄÜ¡£º¯Êývoid insert(char*s,char*t,int pos)½«×Ö·û´®t²åÈëµ½×Ö·û´®sÖУ¬²åÈëλÖÃΪpos¡£¼ÙÉè·ÖÅ䏸×Ö·û´®sµÄ¿Õ¼ä×ã¹»ÈÃ×Ö·û´®t²åÈë¡££¨ËµÃ÷£º²»µÃʹÓÃÈκο⺯Êý£©

[ÌâÄ¿·ÖÎö]±¾ÌâÊÇ×Ö·û´®µÄ²åÈëÎÊÌ⣬ҪÇóÔÚ×Ö·û´®sµÄposλÖ㬲åÈë×Ö·û´®t¡£Ê×ÏÈÓ¦²éÕÒ×Ö·û´®sµÄposλÖ㬽«µÚpos¸ö×Ö·ûµ½×Ö·û´®sβµÄ×Ó´®ÏòºóÒÆ¶¯×Ö·û´®tµÄ³¤¶È£¬È»ºó½«×Ö·û´®t¸´ÖƵ½×Ö·û´®sµÄµÚposλÖúó¡£

¶Ô²åÈëλÖÃposÒªÑéÖ¤ÆäºÏ·¨ÐÔ£¬Ð¡ÓÚ1»ò´óÓÚ´®sµÄ³¤¶È¾ùΪ·Ç·¨£¬ÒòÌâÄ¿¼ÙÉè¸ø×Ö·û´®sµÄ¿Õ¼ä×ã¹»´ó£¬¹Ê¶Ô²åÈë²»±ØÅÐÒç³ö¡£

[Ëã·¨ÃèÊö]

void insert(char *s,char *t,int pos) //½«×Ö·û´®t²åÈë×Ö·û´®sµÄµÚpos¸öλÖá£

{int i=1,x=0; char *p=s,*q=t; //p£¬q·Ö±ðΪ×Ö·û´®sºÍtµÄ¹¤×÷Ö¸Õë if(pos<1) {cout<<¡°pos²ÎÊýλÖ÷Ƿ¨¡±<

if(*p == '/0') { cout<

while(*p!= '/0') {p++; i++;} //²éµ½Î²Ê±£¬iΪ×Ö·û¡®\\0¡¯µÄϱ꣬pÒ²Ö¸Ïò¡®\\0¡¯¡£ while(*q!= '\\0') {q++; x++; } //²éÕÒ×Ö·û´®tµÄ³¤¶Èx£¬Ñ­»·½áÊøÊ±qÖ¸Ïò'\\0'¡£ for(j=i;j>=pos ;j--){*(p+x)=*p; p--;}//´®sµÄposºóµÄ×Ó´®ÓÒÒÆ£¬¿Õ³ö´®tµÄλÖá£

q--; //Ö¸Õëq»ØÍ˵½´®tµÄ×îºóÒ»¸ö×Ö·û

for(j=1;j<=x;j++) *p--=*q--; //½«t´®²åÈëµ½sµÄposλÖÃÉÏ

[Ëã·¨ÌÖÂÛ] ´®sµÄ½áÊø±ê¼Ç('\\0')Ò²ºóÒÆÁË£¬¶ø´®tµÄ½áβ±ê¼Ç²»Ó¦²åÈëµ½sÖС£

£¨4£©ÒÑÖª×Ö·û´®S1Öдæ·ÅÒ»¶ÎÓ¢ÎÄ£¬Ð´³öËã·¨format(s1,s2,s3,n),½«Æä°´¸ø¶¨µÄ³¤¶Èn¸ñʽ»¯³ÉÁ½¶Ë¶ÔÆëµÄ×Ö·û´®S2, Æä¶àÓàµÄ×Ö·ûËÍS3¡£

[ÌâÄ¿·ÖÎö]±¾ÌâÒªÇó×Ö·û´®s1²ð·Ö³É×Ö·û´®s2ºÍ×Ö·û´®s3£¬ÒªÇó×Ö·û´®s2¡°°´¸ø¶¨³¤¶Èn¸ñʽ»¯³ÉÁ½¶Ë¶ÔÆëµÄ×Ö·û´®¡±£¬¼´³¤¶ÈΪnÇÒÊ×β×Ö·û²»µÃΪ¿Õ¸ñ×Ö·û¡£Ëã·¨´Ó×óµ½ÓÒɨÃè×Ö·û´®s1£¬ÕÒµ½µÚÒ»¸ö·Ç¿Õ¸ñ×Ö·û£¬¼ÆÊýµ½n£¬µÚn¸ö¿½Èë×Ö·û´®s2µÄ×Ö·û²»µÃΪ¿Õ¸ñ£¬È»ºó½«ÓàÏÂ×Ö·û¸´ÖƵ½×Ö·û´®s3ÖС£

[Ëã·¨ÃèÊö]

30

void format (char *s1,*s2,*s3)

//½«×Ö·û´®s1²ð·Ö³É×Ö·û´®s2ºÍ×Ö·û´®s3£¬ÒªÇó×Ö·û´®s2Êdz¤nÇÒÁ½¶Ë¶ÔÆë {char *p=s1, *q=s2; int i=0;

}

£¨5£©Éè¶þάÊý×éa[1..m, 1..n] º¬ÓÐm*n ¸öÕûÊý¡£

¢Ù дһ¸öËã·¨ÅжÏaÖÐËùÓÐÔªËØÊÇ·ñ»¥²»Ïàͬ?Êä³öÏà¹ØÐÅÏ¢(yes/no)£» ¢Ú ÊÔ·ÖÎöËã·¨µÄʱ¼ä¸´ÔÓ¶È¡£ ¢Ù

[ÌâÄ¿·ÖÎö]Åж϶þάÊý×éÖÐÔªËØÊÇ·ñ»¥²»Ïàͬ£¬Ö»ÓÐÖð¸ö±È½Ï,ÕÒµ½Ò»¶ÔÏàµÈµÄÔªËØ£¬¾Í¿É½áÂÛΪ²»ÊÇ»¥²»Ïàͬ¡£ÈçºÎ´ïµ½Ã¿¸öÔªËØÍ¬ÆäËüÔªËØ±È½ÏÒ»´ÎÇÒÖ»Ò»´Î£¿ÔÚµ±Ç°ÐУ¬Ã¿¸öÔªËØÒªÍ¬±¾ÐкóÃæµÄÔªËØ±È½ÏÒ»´Î£¨ÏÂÃæµÚÒ»¸öÑ­»·¿ØÖƱäÁ¿pµÄforÑ­»·£©£¬È»ºóͬµÚi+1Ðм°ÒÔºó¸÷ÐÐÔªËØ±È½ÏÒ»´Î£¬Õâ¾ÍÊÇÑ­»·¿ØÖƱäÁ¿kºÍpµÄ¶þ²ãforÑ­»·¡£

[Ëã·¨ÃèÊö]

int JudgEqual(ing a[m][n],int m,n)

//Åж϶þάÊý×éÖÐËùÓÐÔªËØÊÇ·ñ»¥²»Ïàͬ£¬ÈçÊÇ£¬·µ»Ø1£»·ñÔò£¬·µ»Ø0¡£ {for(i=0;i

{for(p=j+1;p

if(a[i][j]==a[i][p]) {cout<<¡°no¡±; return(0); } //Ö»ÒªÓÐÒ»¸öÏàͬµÄ£¬¾Í½áÂÛ²»ÊÇ»¥²»Ïàͬ

31

while(*p!= '\\0' && *p== ' ') p++;//Â˵ôs1×ó¶Ë¿Õ¸ñ

if(*p== '\\0') {cout<<\×Ö·û´®s1Ϊ¿Õ´®»ò¿Õ¸ñ´®\} while( *p!='\\0' && i

if(*p =='\\0'){cout<<\×Ö·û´®s1ûÓÐ\¸öÓÐЧ×Ö·û\if(*(--q)==' ' ) //Èô×îºóÒ»¸ö×Ö·ûΪ¿Õ¸ñ£¬ÔòÐèÏòºóÕÒµ½µÚÒ»¸ö·Ç¿Õ¸ñ×Ö·û {p-- ; //pÖ¸ÕëÒ²ºóÍË

while(*p==' '&&*p!='\\0') p++;//Íùºó²éÕÒÒ»¸ö·Ç¿Õ¸ñ×Ö·û×÷´®s2µÄβ×Ö·û if(*p=='\\0')

{cout<<\´®Ã»ÓÐ\¸öÁ½¶Ë¶ÔÆëµÄ×Ö·û´®\ *q=*p; //×Ö·û´®s2×îºóÒ»¸ö·Ç¿Õ×Ö·û *(++q)='\\0'; //ÖÃs2×Ö·û´®½áÊø±ê¼Ç }

*q=s3;p++; //½«s1´®ÆäÓಿ·ÖËÍ×Ö·û´®s3¡£ while (*p!= '\\0') {*q=*p; q++; p++;} *q='\\0'; //Öô®s3½áÊø±ê¼Ç

for(k=i+1;k

if(a[i][j]==a[k][p]) { cout<<¡°no¡±; return(0); }

}// for(j=0;j

cout<<¡°yes¡±; return(1); //ÔªËØ»¥²»Ïàͬ }//Ëã·¨JudgEqual½áÊø

¢Ú¶þάÊý×éÖеÄÿһ¸öÔªËØÍ¬ÆäËüÔªËØ¶¼±È½ÏÒ»´Î£¬Êý×éÖй²m*n¸öÔªËØ£¬µÚ1¸öÔªËØÍ¬ÆäËüm*n-1¸öÔªËØ±È½Ï£¬µÚ2¸öÔªËØÍ¬ÆäËüm*n-2 ¸öÔªËØ±È½Ï£¬??£¬µÚm*n-1¸öÔªËØÍ¬×îºóÒ»¸öÔªËØ(m*n)±È½ÏÒ»´Î,ËùÒÔÔÚÔªËØ»¥²»ÏàµÈʱ×ܵıȽϴÎÊýΪ (m*n-1)+(m*n-2)+?+2+1=£¨m*n£©(m*n-1)/2¡£ÔÚÓÐÏàÍ¬ÔªËØÊ±,¿ÉÄܵÚÒ»´Î±È½Ï¾ÍÏàͬ,Ò²¿ÉÄÜ×îºóÒ»´Î±È½ÏʱÏàͬ,ÉèÔÚ(m*n-1)¸öλÖÃÉϾù¿ÉÄÜÏàͬ,ÕâʱµÄƽ¾ù±È½Ï´ÎÊýԼΪ£¨m*n£©(m*n-1)/4£¬×ܵÄʱ¼ä¸´ÔÓ¶ÈÊÇO(n)¡£

(6)ÉèÈÎÒân¸öÕûÊý´æ·ÅÓÚÊý×éA(1:n)ÖУ¬ÊÔ±àдËã·¨£¬½«ËùÓÐÕýÊýÅÅÔÚËùÓиºÊýÇ°Ãæ£¨ÒªÇóËã·¨¸´ÔÓ¶ÈΪ0(n)£©¡£

[ÌâÄ¿·ÖÎö]±¾ÌâÊôÓÚÅÅÐòÎÊÌ⣬ֻÊÇÅųöÕý¸º£¬²»Åųö´óС¡£¿ÉÔÚÊý×éÊ×βÉèÁ½¸öÖ¸ÕëiºÍj£¬i×ÔСÖÁ´óËÑË÷µ½¸ºÊýÍ£Ö¹£¬j×Ô´óÖÁСËÑË÷µ½ÕýÊýÍ£Ö¹¡£È»ºóiºÍjËùÖ¸Êý¾Ý½»»»£¬¼ÌÐøÒÔÉϹý³Ì£¬Ö±µ½ i=jΪֹ¡£

[Ëã·¨ÃèÊö]

void Arrange(int A[],int n)

//n¸öÕûÊý´æÓÚÊý×éAÖУ¬±¾Ëã·¨½«Êý×éÖÐËùÓÐÕýÊýÅÅÔÚËùÓиºÊýµÄÇ°Ãæ {int i=0,j=n-1,x; //ÓÃÀàC±àд£¬Êý×éϱê´Ó0¿ªÊ¼ while(i

{while(i0) i++; while(i

if(i

}// while(i

[Ëã·¨ÌÖÂÛ]¶ÔÊý×éÖÐÔªËØ¸÷±È½ÏÒ»´Î£¬±È½Ï´ÎÊýΪn¡£×î¼ÑÇé¿ö(ÒÑÅźÃ,ÕýÊýÔÚǰ,¸ºÊýÔÚºó)²»·¢Éú½»»»£¬×î²îÇé¿ö(¸ºÊý¾ùÔÚÕýÊýÇ°Ãæ)·¢Éún/2´Î½»»»¡£ÓÃÀàc±àд£¬Êý×é½çżÊÇ0..n-1¡£¿Õ¼ä¸´ÔÓ¶ÈΪO(1).

32

4

µÚ5Õ Ê÷ºÍ¶þ²æÊ÷

1£®Ñ¡ÔñÌâ

£¨1£©°ÑÒ»¿ÃÊ÷ת»»Îª¶þ²æÊ÷ºó£¬Õâ¿Ã¶þ²æÊ÷µÄÐÎ̬ÊÇ£¨ £©¡£ A£®Î¨Ò»µÄ £Â£®ÓжàÖÖ

C£®ÓжàÖÖ£¬µ«¸ù½áµã¶¼Ã»ÓÐ×óº¢×Ó £Ä£®ÓжàÖÖ£¬µ«¸ù½áµã¶¼Ã»ÓÐÓÒº¢×Ó ´ð°¸£ºA

½âÊÍ£ºÒòΪ¶þ²æÊ÷ÓÐ×óº¢×Ó¡¢ÓÒº¢×ÓÖ®·Ö£¬¹ÊÒ»¿ÃÊ÷ת»»Îª¶þ²æÊ÷ºó£¬Õâ¿Ã¶þ²æÊ÷µÄ

ÐÎ̬ÊÇΨһµÄ¡£

£¨2£©ÓÉ3¸ö½áµã¿ÉÒÔ¹¹Ôì³ö¶àÉÙÖÖ²»Í¬µÄ¶þ²æÊ÷£¿£¨ £© A£®2 B£®3 C£®4 D£®5 ´ð°¸£ºD

½âÊÍ£ºÎåÖÖÇé¿öÈçÏ£º

AABCABABABB

C

C

C

C £¨3£©Ò»¿ÃÍêÈ«¶þ²æÊ÷ÉÏÓÐ1001¸ö½áµã£¬ÆäÖÐÒ¶×Ó½áµãµÄ¸öÊýÊÇ£¨ £©¡£ A£®250 B£® 500 C£®254 D£®501 ´ð°¸£ºD

½âÊÍ£ºÉè¶ÈΪ0½áµã£¨Ò¶×Ó½áµã£©¸öÊýΪA£¬¶ÈΪ1µÄ½áµã¸öÊýΪB£¬¶ÈΪ2µÄ½áµã¸öÊýΪC£¬ÓÐA=C+1£¬A+B+C=1001£¬¿ÉµÃ2C+B=1000£¬ÓÉÍêÈ«¶þ²æÊ÷µÄÐÔÖʿɵÃB=0»ò1£¬ÓÖÒòΪCΪÕûÊý£¬ËùÒÔB=0£¬C=500£¬A=501£¬¼´ÓÐ501¸öÒ¶×Ó½áµã¡£

£¨4£©Ò»¸ö¾ßÓÐ1025¸ö½áµãµÄ¶þ²æÊ÷µÄ¸ßhΪ£¨ £©¡£

A£®11 B£®10 C£®11ÖÁ1025Ö®¼ä D£®10ÖÁ1024Ö®¼ä ´ð°¸£ºC

½âÊÍ£ºÈôÿ²ã½öÓÐÒ»¸ö½áµã£¬ÔòÊ÷¸ßhΪ1025£»ÇÒÆä×îСÊ÷¸ßΪ ?log21025? + 1=11£¬¼´hÔÚ11ÖÁ1025Ö®¼ä¡£

£¨5£©Éî¶ÈΪhµÄÂúm²æÊ÷µÄµÚk²ãÓУ¨ £©¸ö½áµã¡£(1=

k-1

B£®m-1 C£®m D£®m-1

h

k-1

kh-1h

´ð°¸£ºA

½âÊÍ£ºÉî¶ÈΪhµÄÂúm²æÊ÷¹²ÓÐm-1¸ö½áµã£¬µÚk²ãÓÐm£¨6£©ÀûÓöþ²æÁ´±í´æ´¢Ê÷£¬Ôò¸ù½áµãµÄÓÒÖ¸ÕëÊÇ£¨ £©¡£

A£®Ö¸Ïò×î×óº¢×Ó B£®Ö¸Ïò×îÓÒº¢×Ó C£®¿Õ D£®·Ç¿Õ ´ð°¸£ºC

¸ö½áµã¡£

33

½âÊÍ£ºÀûÓöþ²æÁ´±í´æ´¢Ê÷ʱ£¬ÓÒÖ¸ÕëÖ¸ÏòÐֵܽáµã£¬ÒòΪ¸ù½ÚµãûÓÐÐֵܽáµã£¬¹Ê¸ù½ÚµãµÄÓÒÖ¸ÕëÖ¸Ïò¿Õ¡£

£¨7£©¶Ô¶þ²æÊ÷µÄ½áµã´Ó1¿ªÊ¼½øÐÐÁ¬Ðø±àºÅ£¬ÒªÇóÿ¸ö½áµãµÄ±àºÅ´óÓÚÆä×ó¡¢ÓÒº¢×ӵıàºÅ£¬Í¬Ò»½áµãµÄ×óÓÒº¢×ÓÖУ¬Æä×óº¢×ӵıàºÅСÓÚÆäÓÒº¢×ӵıàºÅ£¬¿É²ÉÓ㨠£©±éÀúʵÏÖ±àºÅ¡£

A£®ÏÈÐò B. ÖÐÐò C. ºóÐò D. ´Ó¸ù¿ªÊ¼°´²ã´Î±éÀú ´ð°¸£ºC

½âÊÍ£º¸ù¾ÝÌâÒâ¿ÉÖª°´ÕÕÏÈ×óº¢×Ó¡¢ÔÙÓÒº¢×Ó¡¢×îºóË«Ç×½áµãµÄ˳Ðò±éÀú¶þ²æÊ÷£¬¼´ºóÐò±éÀú¶þ²æÊ÷¡£

£¨8£©Èô¶þ²æÊ÷²ÉÓöþ²æÁ´±í´æ´¢½á¹¹£¬Òª½»»»ÆäËùÓзÖÖ§½áµã×ó¡¢ÓÒ×ÓÊ÷µÄλÖã¬ÀûÓ㨠£©±éÀú·½·¨×îºÏÊÊ¡£

A£®Ç°Ðò B£®ÖÐÐò C£®ºóÐò D£®°´²ã´Î ´ð°¸£ºC

½âÊÍ£ººóÐø±éÀúºÍ²ã´Î±éÀú¾ù¿ÉʵÏÖ×óÓÒ×ÓÊ÷µÄ½»»»£¬²»¹ý²ã´Î±éÀúµÄʵÏÖÏûºÄ±ÈºóÐø´ó£¬ºóÐò±éÀú·½·¨×îºÏÊÊ¡£

£¨9£©ÔÚÏÂÁд洢ÐÎʽÖУ¬£¨ £©²»ÊÇÊ÷µÄ´æ´¢ÐÎʽ£¿

A£®Ë«Ç×±íʾ·¨ B£®º¢×ÓÁ´±í±íʾ·¨ C£®º¢×ÓÐֵܱíʾ·¨ D£®Ë³Ðò´æ´¢±íʾ·¨ ´ð°¸£ºD

½âÊÍ£ºÊ÷µÄ´æ´¢½á¹¹ÓÐÈýÖÖ£ºË«Ç×±íʾ·¨¡¢º¢×Ó±íʾ·¨¡¢º¢×ÓÐֵܱíʾ·¨£¬ÆäÖк¢×ÓÐֵܱíʾ·¨Êdz£Óõıíʾ·¨£¬ÈÎÒâÒ»¿ÃÊ÷¶¼ÄÜͨ¹ýº¢×ÓÐֵܱíʾ·¨×ª»»Îª¶þ²æÊ÷½øÐд洢¡£

£¨10£©Ò»¿Ã·Ç¿ÕµÄ¶þ²æÊ÷µÄÏÈÐò±éÀúÐòÁÐÓëºóÐò±éÀúÐòÁÐÕýºÃÏà·´£¬Ôò¸Ã¶þ²æÊ÷Ò»¶¨Âú×㣨 £©¡£

A£®ËùÓеĽáµã¾ùÎÞ×óº¢×Ó B£®ËùÓеĽáµã¾ùÎÞÓÒº¢×Ó C£®Ö»ÓÐÒ»¸öÒ¶×Ó½áµã D£®ÊÇÈÎÒâÒ»¿Ã¶þ²æÊ÷ ´ð°¸£ºC

½âÊÍ£ºÒòΪÏÈÐò±éÀú½á¹ûÊÇ¡°ÖÐ×óÓÒ¡±£¬ºóÐò±éÀú½á¹ûÊÇ¡°×óÓÒÖС±£¬µ±Ã»ÓÐ×ó×ÓÊ÷ʱ£¬¾ÍÊÇ¡°ÖÐÓÒ¡±ºÍ¡°ÓÒÖС±£»µ±Ã»ÓÐÓÒ×ÓÊ÷ʱ£¬¾ÍÊÇ¡°ÖÐ×󡱺͡°×óÖС±¡£ÔòËùÓеĽáµã¾ùÎÞ×óº¢×Ó»òËùÓеĽáµã¾ùÎÞÓÒº¢×Ó¾ù¿É£¬ËùÒÔA¡¢B²»ÄÜÑ¡£¬ÓÖËùÓеĽáµã¾ùÎÞ×óº¢×ÓÓëËùÓеĽáµã¾ùÎÞÓÒº¢×Óʱ£¬¾ùÖ»ÓÐÒ»¸öÒ¶×Ó½áµã£¬¹ÊÑ¡C¡£

£¨11£©Éè¹þ·òÂüÊ÷ÖÐÓÐ199¸ö½áµã£¬Ôò¸Ã¹þ·òÂüÊ÷ÖÐÓУ¨ £©¸öÒ¶×Ó½áµã¡£ A£®99 C£®101 ´ð°¸£ºB

½âÊÍ£ºÔÚ¹þ·òÂüÊ÷ÖÐûÓжÈΪ1µÄ½áµã£¬Ö»ÓжÈΪ0£¨Ò¶×Ó½áµã£©ºÍ¶ÈΪ2µÄ½áµã¡£ÉèÒ¶×Ó½áµãµÄ¸öÊýΪn0£¬¶ÈΪ2µÄ½áµãµÄ¸öÊýΪn2£¬Óɶþ²æÊ÷µÄÐÔÖÊn0=n2+1£¬Ôò×ܽáµãÊýn= n0+n2=2*n0-1£¬µÃµ½n0=100¡£

£¨12£©ÈôXÊǶþ²æÖÐÐòÏßË÷Ê÷ÖÐÒ»¸öÓÐ×óº¢×ӵĽáµã£¬ÇÒX²»Îª¸ù£¬ÔòXµÄǰÇýΪ£¨ £©¡£ A£®XµÄË«Ç× B£®XµÄÓÒ×ÓÊ÷ÖÐ×î×óµÄ½áµã

34

B£®100 D£®102

C£®XµÄ×ó×ÓÊ÷ÖÐ×îÓÒ½áµã D£®XµÄ×ó×ÓÊ÷ÖÐ×îÓÒÒ¶½áµã ´ð°¸£ºC

£¨13£©ÒýÈë¶þ²æÏßË÷Ê÷µÄÄ¿µÄÊÇ£¨ £©¡£

A£®¼Ó¿ì²éÕÒ½áµãµÄǰÇý»òºó¼ÌµÄËÙ¶È B£®ÎªÁËÄÜÔÚ¶þ²æÊ÷Öз½±ãµÄ½øÐвåÈëÓëɾ³ý

C£®ÎªÁËÄÜ·½±ãµÄÕÒµ½Ë«Ç× D£®Ê¹¶þ²æÊ÷µÄ±éÀú½á¹ûΨһ ´ð°¸£ºA

£¨14£©ÉèFÊÇÒ»¸öÉ­ÁÖ£¬BÊÇÓÉF±ä»»µÃµÄ¶þ²æÊ÷¡£ÈôFÖÐÓÐn¸ö·ÇÖն˽áµã£¬ÔòBÖÐÓÒÖ¸ÕëÓòΪ¿ÕµÄ½áµãÓУ¨ £©¸ö¡£

A£®n?1 ´ð°¸£ºC

£¨15£©n£¨n¡Ý2£©¸öȨֵ¾ù²»ÏàͬµÄ×Ö·û¹¹³É¹þ·òÂüÊ÷£¬¹ØÓÚ¸ÃÊ÷µÄÐðÊöÖУ¬´íÎóµÄÊÇ£¨ £©¡£ A£®¸ÃÊ÷Ò»¶¨ÊÇÒ»¿ÃÍêÈ«¶þ²æÊ÷ B£®Ê÷ÖÐÒ»¶¨Ã»ÓжÈΪ1µÄ½áµã

C£®Ê÷ÖÐÁ½¸öȨֵ×îСµÄ½áµãÒ»¶¨ÊÇÐֵܽáµã

D£®Ê÷ÖÐÈÎÒ»·ÇÒ¶½áµãµÄȨֵһ¶¨²»Ð¡ÓÚÏÂÒ»²ãÈÎÒ»½áµãµÄȨֵ ´ð°¸£ºA

½âÊÍ£º¹þ·òÂüÊ÷µÄ¹¹Ôì¹ý³ÌÊÇÿ´Î¶¼Ñ¡È¡È¨Öµ×îСµÄÊ÷×÷Ϊ×óÓÒ×ÓÊ÷¹¹ÔìÒ»¿ÃеĶþ²æÊ÷£¬ËùÒÔÊ÷ÖÐÒ»¶¨Ã»ÓжÈΪ1µÄ½áµã¡¢Á½¸öȨֵ×îСµÄ½áµãÒ»¶¨ÊÇÐֵܽáµã¡¢ÈÎÒ»·ÇÒ¶½áµãµÄȨֵһ¶¨²»Ð¡ÓÚÏÂÒ»²ãÈÎÒ»½áµãµÄȨֵ¡£

2£®Ó¦ÓÃÌâ

£¨1£©ÊÔÕÒ³öÂú×ãÏÂÁÐÌõ¼þµÄ¶þ²æÊ÷

¢Ù ÏÈÐòÐòÁÐÓëºóÐòÐòÁÐÏàͬ ¢ÚÖÐÐòÐòÁÐÓëºóÐòÐòÁÐÏàͬ ¢Û ÏÈÐòÐòÁÐÓëÖÐÐòÐòÁÐÏàͬ ¢ÜÖÐÐòÐòÁÐÓë²ã´Î±éÀúÐòÁÐÏàͬ

´ð°¸£ºÏÈÐò±éÀú¶þ²æÊ÷µÄ˳ÐòÊÇ¡°¸ù¡ª×ó×ÓÊ÷¡ªÓÒ×ÓÊ÷¡±£¬ÖÐÐò±éÀú¡°×ó×ÓÊ÷¡ª¸ù¡ªÓÒ

×ÓÊ÷¡±£¬ºóÐò±éÀú˳ÐòÊÇ£º¡°×ó×ÓÊ÷¡ªÓÒ×ÓÊ÷¨D¸ù£¢£¬¸ù¾ÝÒÔÉÏÔ­ÔòÓÐ

¢Ù »òΪ¿ÕÊ÷£¬»òΪֻÓиù½áµãµÄ¶þ²æÊ÷

¢Ú »òΪ¿ÕÊ÷£¬»òΪÈÎÒ»½áµãÖÁ¶àÖ»ÓÐ×ó×ÓÊ÷µÄ¶þ²æÊ÷£® ¢Û »òΪ¿ÕÊ÷£¬»òΪÈÎÒ»½áµãÖÁ¶àÖ»ÓÐÓÒ×ÓÊ÷µÄ¶þ²æÊ÷£® ¢Ü »òΪ¿ÕÊ÷£¬»òΪÈÎÒ»½áµãÖÁ¶àÖ»ÓÐÓÒ×ÓÊ÷µÄ¶þ²æÊ÷

£¨2£©ÉèÒ»¿Ã¶þ²æÊ÷µÄÏÈÐòÐòÁУº A B D F C E G H £¬ÖÐÐòÐòÁУº B F D A G E H C ¢Ù»­³öÕâ¿Ã¶þ²æÊ÷¡£

¢Ú»­³öÕâ¿Ã¶þ²æÊ÷µÄºóÐòÏßË÷Ê÷¡£

¢Û½«Õâ¿Ã¶þ²æÊ÷ת»»³É¶ÔÓ¦µÄÊ÷£¨»òÉ­ÁÖ£©¡£ ´ð°¸£º

35

B£®n C£®n + 1 D£®n + 2

A ABCB A

D

E C

H B D F

CEnullFDEF G GHGH¢Û

¢Ù ¢Ú

£¨3£© ¼ÙÉèÓÃÓÚͨÐŵĵçÎĽöÓÉ8¸ö×Öĸ×é³É£¬×ÖĸÔÚµçÎÄÖгöÏֵįµÂÊ·Ö±ðΪ0.07£¬0.19£¬0.02£¬0.06£¬0.32£¬0.03£¬0.21£¬0.10¡£

¢Ù ÊÔΪÕâ8¸ö×ÖĸÉè¼ÆºÕ·òÂü±àÂë¡£

¢Ú ÊÔÉè¼ÆÁíÒ»ÖÖÓɶþ½øÖƱíʾµÄµÈ³¤±àÂë·½°¸¡£ ¢Û ¶ÔÓÚÉÏÊöʵÀý£¬±È½ÏÁ½ÖÖ·½°¸µÄÓÅȱµã¡£ ´ð°¸£º·½°¸1£»¹þ·òÂü±àÂë

ÏȽ«¸ÅÂÊ·Å´ó100±¶£¬ÒÔ·½±ã¹¹Ôì¹þ·òÂüÊ÷¡£

w={7,19,2,6,32,3,21,10}£¬°´¹þ·òÂü¹æÔò£º¡¾[£¨2,3£©£¬6], (7,10)¡¿, ??19, 21, 32

£¨100£©

£¨40£© £¨60£©

19 21 32 £¨28£©

£¨17£© £¨11£©

7 10 6 £¨5£© 2 3

0 1 0 1 0 1 19 21 32 0 1 0 1 0 1 7 10 6 0 1 36

2 3

·½°¸±È½Ï£º ×Ö Ä¸±àºÅ 1 2 3 4 5 6 ·½°¸1µÄWPL£½2(0.19+0.32+0.21)+4(0.07+0.06+0.10)+5(0.02+0.03)=1.44+0.92+0.25=2.61 ·½°¸2µÄWPL£½3(0.19+0.32+0.21+0.07+0.06+0.10+0.02+0.03)=3 ½áÂÛ£º¹þ·òÂü±àÂëÓÅÓڵȳ¤¶þ½øÖƱàÂë

£¨4£©ÒÑÖªÏÂÁÐ×Ö·ûA¡¢B¡¢C¡¢D¡¢E¡¢F¡¢GµÄȨֵ·Ö±ðΪ3¡¢12¡¢7¡¢4¡¢2¡¢8£¬11£¬ÊÔÌîд³öÆä¶ÔÓ¦¹þ·òÂüÊ÷HTµÄ´æ´¢½á¹¹µÄ³õ̬ºÍÖÕ̬¡£

´ð°¸£º ³õ̬:

1 2 3 4 5 6 7 8 9 10 11 12 13 weight 3 12 7 4 2 8 11 parent 0 0 0 0 0 0 0 0 0 0 0 0 0 lchild 0 0 0 0 0 0 0 0 0 0 0 0 0 rchild 0 0 0 0 0 0 0 0 0 0 0 0 0

7 8 ¶ÔÓ¦±àÂë 1100 00 11110 1110 10 11111 01 1101 ³öÏÖÆµÂÊ 0.07 0.19 0.02 0.06 0.32 0.03 0.21 0.10 ×Öĸ±àºÅ 1 2 3 4 5 6 7 8 ¶ÔÓ¦±àÂë 000 001 010 011 100 101 110 111 ³öÏÖÆµÂÊ 0.07 0.19 0.02 0.06 0.32 0.03 0.21 0.10 37

ÖÕ̬£º

1 2 3 4 5 6 7 8 9 10 11 12 13

3£®Ëã·¨Éè¼ÆÌâ

ÒÔ¶þ²æÁ´±í×÷Ϊ¶þ²æÊ÷µÄ´æ´¢½á¹¹£¬±àдÒÔÏÂËã·¨£º £¨1£©Í³¼Æ¶þ²æÊ÷µÄÒ¶½áµã¸öÊý¡£

[ÌâÄ¿·ÖÎö]Èç¹û¶þ²æÊ÷Ϊ¿Õ£¬·µ»Ø0£¬Èç¹û¶þ²æÊ÷²»Îª¿ÕÇÒ×óÓÒ×ÓÊ÷Ϊ¿Õ£¬·µ»Ø1£¬Èç¹û¶þ²æÊ÷²»Îª¿Õ£¬ÇÒ×óÓÒ×ÓÊ÷²»Í¬Ê±Îª¿Õ£¬·µ»Ø×ó×ÓÊ÷ÖÐÒ¶×Ó½Úµã¸öÊý¼ÓÉÏÓÒ×ÓÊ÷ÖÐÒ¶×Ó½Úµã¸öÊý¡£ [Ëã·¨ÃèÊö]

int LeafNodeCount(BiTree T) { }

£¨2£©ÅбðÁ½¿ÃÊ÷ÊÇ·ñÏàµÈ¡£

if(T==NULL)

return 0; //Èç¹ûÊÇ¿ÕÊ÷£¬ÔòÒ¶×Ó½áµã¸öÊýΪ0

return 1; //ÅжϽáµãÊÇ·ñÊÇÒ¶×Ó½áµã£¨×óº¢×ÓÓÒº¢×Ó¶¼Îª¿Õ£©£¬ÈôÊÇÔò·µ»Ø1 return LeafNodeCount(T->lchild)+LeafNodeCount(T->rchild); else if(T->lchild==NULL&&T->rchild==NULL) else

weight 3 12 7 4 2 8 11 5 9 15 20 27 47 parent 8 12 10 9 8 10 11 9 11 12 13 13 0 lchild 0 0 0 0 0 0 0 5 4 3 9 2 11 rchild 0 0 0 0 0 0 0 1 8 6 7 10 12

38

[ÌâÄ¿·ÖÎö]ÏÈÅжϵ±Ç°½ÚµãÊÇ·ñÏàµÈ(ÐèÒª´¦ÀíΪ¿Õ¡¢ÊÇ·ñ¶¼Îª¿Õ¡¢ÊÇ·ñÏàµÈ)£¬Èç¹ûµ±Ç°½Úµã²»ÏàµÈ£¬Ö±½Ó·µ»ØÁ½¿ÃÊ÷²»ÏàµÈ;Èç¹ûµ±Ç°½ÚµãÏàµÈ£¬ÄÇô¾ÍµÝ¹éµÄÅжÏËûÃǵÄ×óÓÒº¢×ÓÊÇ·ñÏàµÈ¡£ [Ëã·¨ÃèÊö]

int compareTree(TreeNode* tree1, TreeNode* tree2)

//Ó÷ÖÖεķ½·¨×ö£¬±È½Ïµ±Ç°¸ù£¬È»ºó±È½Ï×ó×ÓÊ÷ºÍÓÒ×ÓÊ÷ {bool tree1IsNull = (tree1==NULL); bool tree2IsNull = (tree2==NULL); if(tree1IsNull != tree2IsNull) { return 1; }

if(tree1IsNull && tree2IsNull) {//Èç¹ûÁ½¸ö¶¼ÊÇNULL£¬ÔòÏàµÈ return 0;

}//Èç¹û¸ù½Úµã²»ÏàµÈ£¬Ö±½Ó·µ»Ø²»ÏàµÈ£¬·ñÔòµÄ»°£¬¿´¿´ËûÃǺ¢×ÓÏàµÈ²»ÏàµÈ if(tree1->c != tree2->c) { return 1; }

return (compareTree(tree1->left,tree2->left)&compareTree(tree1->right,tree2->right))

(compareTree(tree1->left,tree2->right)&compareTree(tree1->right,tree2->left)); }//Ëã·¨½áÊø

£¨3£©½»»»¶þ²æÊ÷ÿ¸ö½áµãµÄ×óº¢×ÓºÍÓÒº¢×Ó¡£

[ÌâÄ¿·ÖÎö]Èç¹ûij½áµã×óÓÒ×ÓÊ÷Ϊ¿Õ£¬·µ»Ø£¬·ñÔò½»»»¸Ã½áµã×óÓÒº¢×Ó£¬È»ºóµÝ¹é½»»»×óÓÒ×ÓÊ÷¡£

[Ëã·¨ÃèÊö]

void ChangeLR(BiTree &T) {

BiTree temp;

if(T->lchild==NULL&&T->rchild==NULL) else {

temp = T->lchild; T->lchild = T->rchild; T->rchild = temp;

39

return;

}

}//½»»»×óÓÒº¢×Ó

ChangeLR(T->lchild); //µÝ¹é½»»»×ó×ÓÊ÷ ChangeLR(T->rchild); //µÝ¹é½»»»ÓÒ×ÓÊ÷

£¨4£©Éè¼Æ¶þ²æÊ÷µÄË«Ðò±éÀúËã·¨£¨Ë«Ðò±éÀúÊÇÖ¸¶ÔÓÚ¶þ²æÊ÷µÄÿһ¸ö½áµãÀ´Ëµ£¬ÏÈ·ÃÎÊÕâ¸ö½áµã£¬ÔÙ°´Ë«Ðò±éÀúËüµÄ×ó×ÓÊ÷£¬È»ºóÔÙÒ»´Î·ÃÎÊÕâ¸ö½áµã£¬½ÓÏÂÀ´°´Ë«Ðò±éÀúËüµÄÓÒ×ÓÊ÷£©¡£

[ÌâÄ¿·ÖÎö]ÈôÊ÷Ϊ¿Õ£¬·µ»Ø£»Èôij½áµãΪҶ×Ó½áµã£¬Ôò½öÊä³ö¸Ã½áµã£»·ñÔòÏÈÊä³ö¸Ã½áµã£¬µÝ¹é±éÀúÆä×ó×ÓÊ÷£¬ÔÙÊä³ö¸Ã½áµã£¬µÝ¹é±éÀúÆäÓÒ×ÓÊ÷¡£

[Ëã·¨ÃèÊö]

void DoubleTraverse(BiTree T) { }

£¨5£©¼ÆËã¶þ²æÊ÷×î´óµÄ¿í¶È£¨¶þ²æÊ÷µÄ×î´ó¿í¶ÈÊÇÖ¸¶þ²æÊ÷ËùÓвãÖнáµã¸öÊýµÄ×î´óÖµ£©¡£

[ÌâÄ¿·ÖÎö] Çó¶þ²æÊ÷¸ß¶ÈµÄËã·¨¼ûÉÏÌâ¡£Çó×î´ó¿í¶È¿É²ÉÓòã´Î±éÀúµÄ·½·¨£¬¼Çϸ÷²ã½áµãÊý£¬Ã¿²ã±éÀúÍê±Ï£¬Èô½áµãÊý´óÓÚÔ­ÏÈ×î´ó¿í¶È£¬ÔòÐÞ¸Ä×î´ó¿í¶È¡£

[Ëã·¨ÃèÊö]

int Width(BiTree bt)//Çó¶þ²æÊ÷btµÄ×î´ó¿í¶È {if (bt==null) return (0); //¿Õ¶þ²æÊ÷¿í¶ÈΪ0 else

{BiTree Q[];//QÊǶÓÁУ¬ÔªËØÎª¶þ²æÊ÷½áµãÖ¸Õ룬ÈÝÁ¿×ã¹»´ó front=1;rear=1;last=1;

//front¶ÓÍ·Ö¸Õë,rear¶ÓβָÕë,lastͬ²ã×îÓÒ½áµãÔÚ¶ÓÁÐÖеÄλÖà temp=0; maxw=0; //temp¼Ç¾Ö²¿¿í¶È, maxw¼Ç×î´ó¿í¶È Q[rear]=bt; //¸ù½áµãÈë¶ÓÁÐ while(front<=last)

40

if(T == NULL) { }

cout<data;

DoubleTraverse(T->lchild); //µÝ¹é±éÀú×ó×ÓÊ÷ cout<data;

DoubleTraverse(T->rchild); //µÝ¹é±éÀúÓÒ×ÓÊ÷ return;

cout<data; //Ò¶×Ó½áµãÊä³ö else if(T->lchild==NULL&&T->rchild==NULL) else

{p=Q[front++]; temp++; //ͬ²ãÔªËØÊý¼Ó1

if (p->lchild!=null) Q[++rear]=p->lchild; //×ó×ÓÅ®Èë¶Ó if (p->rchild!=null) Q[++rear]=p->rchild; //ÓÒ×ÓÅ®Èë¶Ó if (front>last) //Ò»²ã½áÊø£¬

{last=rear;

if(temp>maxw) maxw=temp;

//lastÖ¸Ïòϲã×îÓÒÔªËØ, ¸üе±Ç°×î´ó¿í¶È

temp=0;

}//if }//while

return (maxw); }//½áÊøwidth

£¨6£©Óð´²ã´Î˳Ðò±éÀú¶þ²æÊ÷µÄ·½·¨£¬Í³¼ÆÊ÷ÖоßÓжÈΪ1µÄ½áµãÊýÄ¿¡£ [ÌâÄ¿·ÖÎö]

Èôij¸ö½áµã×ó×ÓÊ÷¿ÕÓÒ×ÓÊ÷·Ç¿Õ»òÕßÓÒ×ÓÊ÷¿Õ×ó×ÓÊ÷·Ç¿Õ£¬Ôò¸Ã½áµãΪ¶ÈΪ1µÄ½áµã [Ëã·¨ÃèÊö]

int Level(BiTree bt) //²ã´Î±éÀú¶þ²æÊ÷£¬²¢Í³¼Æ¶ÈΪ1µÄ½áµãµÄ¸öÊý {int num=0; //numͳ¼Æ¶ÈΪ1µÄ½áµãµÄ¸öÊý

if(bt){QueueInit(Q); QueueIn(Q,bt);//QÊÇÒÔ¶þ²æÊ÷½áµãÖ¸ÕëÎªÔªËØµÄ¶ÓÁÐ

while(!QueueEmpty(Q))

{p=QueueOut(Q); cout<data; //³ö¶Ó,·ÃÎʽáµã

if(p->lchild && !p->rchild ||!p->lchild && p->rchild)num++; //¶ÈΪ1µÄ½áµã

if(p->lchild) QueueIn(Q,p->lchild); //·Ç¿Õ×ó×ÓÅ®Èë¶Ó if(p->rchild) QueueIn(Q,p->rchild); //·Ç¿ÕÓÒ×ÓÅ®Èë¶Ó } // while(!QueueEmpty(Q)) }//if(bt) return(num);

}//·µ»Ø¶ÈΪ1µÄ½áµãµÄ¸öÊý

£¨7£©ÇóÈÎÒâ¶þ²æÊ÷ÖеÚÒ»Ìõ×µÄ·¾¶³¤¶È£¬²¢Êä³ö´Ë·¾¶Éϸ÷½áµãµÄÖµ¡£

[ÌâÄ¿·ÖÎö]ÒòΪºóÐò±éÀúÕ»Öб£Áôµ±Ç°½áµãµÄ׿ÏȵÄÐÅÏ¢£¬ÓÃÒ»±äÁ¿±£´æÕ»µÄ×î¸ßÕ»¶¥Ö¸Õ룬ÿµ±ÍËջʱ£¬Õ»¶¥Ö¸Õë¸ßÓÚ±£´æ×î¸ßÕ»¶¥Ö¸ÕëµÄֵʱ£¬Ôò½«¸ÃÕ»µ¹È븨ÖúÕ»ÖУ¬¸¨ÖúջʼÖÕ±£´æ×·¾¶³¤¶ÈÉϵĽáµã£¬Ö±ÖÁºóÐò±éÀúÍê±Ï£¬Ôò¸¨ÖúÕ»ÖÐÄÚÈݼ´ÎªËùÇó¡£

[Ëã·¨ÃèÊö]

void LongestPath(BiTree bt)//Çó¶þ²æÊ÷ÖеĵÚÒ»Ìõ×·¾¶³¤¶È {BiTree p=bt,l[],s[];

41

//l, sÊÇÕ»£¬ÔªËØÊǶþ²æÊ÷½áµãÖ¸Õ룬lÖб£Áôµ±Ç°×·¾¶ÖеĽáµã int i£¬top=0,tag[],longest=0; while(p || top>0)

{while(p) {s[++top]=p£»tag[top]=0; p=p->Lc;} //ÑØ×ó·ÖÖ¦ÏòÏ if(tag[top]==1) //µ±Ç°½áµãµÄÓÒ·ÖÖ¦ÒѱéÀú

{if(!s[top]->Lc && !s[top]->Rc) //Ö»Óе½Ò¶×Ó½áµãʱ£¬²Å²é¿´Â·¾¶³¤¶È if(top>longest)

{for(i=1;i<=top;i++) l[i]=s[i]; longest=top; top--;} //±£Áôµ±Ç°×·¾¶µ½lÕ»£¬¼Çס×î¸ßÕ»¶¥Ö¸Õ룬ÍËÕ» }

else if(top>0) {tag[top]=1; p=s[top].Rc;} //ÑØÓÒ×Ó·ÖÖ¦ÏòÏ }//while(p!=null||top>0) }//½áÊøLongestPath

£¨8£©Êä³ö¶þ²æÊ÷ÖдÓÿ¸öÒ¶×Ó½áµãµ½¸ù½áµãµÄ·¾¶¡£

[ÌâÄ¿·ÖÎö]²ÉÓÃÏÈÐò±éÀúµÄµÝ¹é·½·¨£¬µ±ÕÒµ½Ò¶×Ó½áµã*bʱ£¬ÓÉÓÚ*bÒ¶×Ó½áµãÉÐδÌí¼Óµ½pathÖУ¬Òò´ËÔÚÊä³ö·¾¶Ê±»¹ÐèÊä³öb->dataÖµ¡£

[Ëã·¨ÃèÊö]

void AllPath(BTNode *b,ElemType path[],int pathlen) {int i; if (b!=NULL)

{if (b->lchild==NULL && b->rchild==NULL) //*bΪҶ×Ó½áµã {cout << \µ½¸ù½áµã·¾¶:\ for (i=pathlen-1;i>=0;i--) cout << endl;

} else

{path[pathlen]=b->data; //½«µ±Ç°½áµã·ÅÈë·¾¶ÖÐ pathlen++; //·¾¶³¤¶ÈÔö1 AllPath(b->lchild,path,pathlen); //µÝ¹éɨÃè×ó×ÓÊ÷ AllPath(b->rchild,path,pathlen); //µÝ¹éɨÃèÓÒ×ÓÊ÷ pathlen--; //»Ö¸´»·¾³ }

}// if (b!=NULL) }//Ëã·¨½áÊø

42

µÚ6Õ ͼ

1£®Ñ¡ÔñÌâ

£¨1£©ÔÚÒ»¸öͼÖУ¬ËùÓж¥µãµÄ¶ÈÊýÖ®ºÍµÈÓÚͼµÄ±ßÊýµÄ£¨ £©±¶¡£ A£®1/2 B£®1 C£®2 D£®4 ´ð°¸£ºC

£¨2£©ÔÚÒ»¸öÓÐÏòͼÖУ¬ËùÓж¥µãµÄÈë¶ÈÖ®ºÍµÈÓÚËùÓж¥µãµÄ³ö¶ÈÖ®ºÍµÄ£¨ £©±¶¡£ A£®1/2 B£®1 C£®2 D£®4 ´ð°¸£ºB

½âÊÍ£ºÓÐÏòͼËùÓж¥µãÈë¶ÈÖ®ºÍµÈÓÚËùÓж¥µã³ö¶ÈÖ®ºÍ¡£ £¨3£©¾ßÓÐn¸ö¶¥µãµÄÓÐÏòͼ×î¶àÓУ¨ £©Ìõ±ß¡£

A£®n B£®n(n-1) C£®n(n+1) D£®n2 ´ð°¸£ºB

½âÊÍ£ºÓÐÏòͼµÄ±ßÓз½ÏòÖ®·Ö£¬¼´Îª´Ón¸ö¶¥µãÖÐѡȡ2¸ö¶¥µãÓÐÐòÅÅÁУ¬½á¹ûΪn(n-1)¡£ £¨4£©n¸ö¶¥µãµÄÁ¬Í¨Í¼ÓÃÁÚ½Ó¾àÕó±íʾʱ£¬¸Ã¾àÕóÖÁÉÙÓУ¨ £©¸ö·ÇÁãÔªËØ¡£ A£®n B£®2(n-1) C£®n/2 D£®n2 ´ð°¸£ºB

£¨5£©GÊÇÒ»¸ö·ÇÁ¬Í¨ÎÞÏòͼ£¬¹²ÓÐ28Ìõ±ß£¬Ôò¸ÃͼÖÁÉÙÓУ¨ £©¸ö¶¥µã¡£ A£®7 B£®8 C£®9 D£®10 ´ð°¸£ºC

½âÊÍ£º8¸ö¶¥µãµÄÎÞÏòͼ×î¶àÓÐ8*7/2=28Ìõ±ß£¬ÔÙÌí¼ÓÒ»¸öµã¼´¹¹³É·ÇÁ¬Í¨ÎÞÏòͼ£¬¹Ê

ÖÁÉÙÓÐ9¸ö¶¥µã¡£

£¨6£©Èô´ÓÎÞÏòͼµÄÈÎÒâÒ»¸ö¶¥µã³ö·¢½øÐÐÒ»´ÎÉî¶ÈÓÅÏÈËÑË÷¿ÉÒÔ·ÃÎÊͼÖÐËùÓеĶ¥µã£¬Ôò¸Ãͼһ¶¨ÊÇ£¨ £©Í¼¡£

A£®·ÇÁ¬Í¨ B£®Á¬Í¨ C£®Ç¿Á¬Í¨ D£®ÓÐÏò ´ð°¸£ºB

½âÊÍ£º¼´´Ó¸ÃÎÞÏòͼÈÎÒâÒ»¸ö¶¥µã³ö·¢Óе½¸÷¸ö¶¥µãµÄ·¾¶£¬ËùÒÔ¸ÃÎÞÏòͼÊÇÁ¬Í¨Í¼¡£ £¨7£©ÏÂÃæ£¨ £©Ëã·¨ÊʺϹ¹ÔìÒ»¸ö³íÃÜͼGµÄ×îСÉú³ÉÊ÷¡£

A£® PrimËã·¨ B£®KruskalËã·¨ C£®FloydËã·¨ D£®DijkstraËã·¨ ´ð°¸£ºA

½âÊÍ£ºPrimËã·¨ÊʺϹ¹ÔìÒ»¸ö³íÃÜͼGµÄ×îСÉú³ÉÊ÷£¬KruskalËã·¨ÊʺϹ¹ÔìÒ»¸öÏ¡Êè

ͼGµÄ×îСÉú³ÉÊ÷¡£

£¨8£©ÓÃÁÚ½Ó±í±íʾͼ½øÐйã¶ÈÓÅÏȱéÀúʱ£¬Í¨³£½èÖú£¨ £©À´ÊµÏÖËã·¨¡£ A£®Õ» B. ¶ÓÁÐ C. Ê÷ D£®Í¼ ´ð°¸£ºB

½âÊÍ£º¹ã¶ÈÓÅÏȱéÀúͨ³£½èÖú¶ÓÁÐÀ´ÊµÏÖËã·¨£¬Éî¶ÈÓÅÏȱéÀúͨ³£½èÖúÕ»À´ÊµÏÖËã·¨¡£

43

£¨9£©ÓÃÁÚ½Ó±í±íʾͼ½øÐÐÉî¶ÈÓÅÏȱéÀúʱ£¬Í¨³£½èÖú£¨ £©À´ÊµÏÖËã·¨¡£ A£®Õ» B. ¶ÓÁÐ C. Ê÷ D£®Í¼ ´ð°¸£ºA

½âÊÍ£º¹ã¶ÈÓÅÏȱéÀúͨ³£½èÖú¶ÓÁÐÀ´ÊµÏÖËã·¨£¬Éî¶ÈÓÅÏȱéÀúͨ³£½èÖúÕ»À´ÊµÏÖËã·¨¡£ £¨10£©Éî¶ÈÓÅÏȱéÀúÀàËÆÓÚ¶þ²æÊ÷µÄ£¨ £©¡£

A£®ÏÈÐò±éÀú B£®ÖÐÐò±éÀú C£®ºóÐò±éÀú D£®²ã´Î±éÀú ´ð°¸£ºA

£¨11£©¹ã¶ÈÓÅÏȱéÀúÀàËÆÓÚ¶þ²æÊ÷µÄ£¨ £©¡£

A£®ÏÈÐò±éÀú B£®ÖÐÐò±éÀú C£®ºóÐò±éÀú D£®²ã´Î±éÀú ´ð°¸£ºD

£¨12£©Í¼µÄBFSÉú³ÉÊ÷µÄÊ÷¸ß±ÈDFSÉú³ÉÊ÷µÄÊ÷¸ß£¨ £©¡£

A£®Ð¡ B£®ÏàµÈ C£®Ð¡»òÏàµÈ D£®´ó»òÏàµÈ ´ð°¸£ºC

½âÊÍ£º¶ÔÓÚÒ»Ð©ÌØÊâµÄͼ£¬±ÈÈçÖ»ÓÐÒ»¸ö¶¥µãµÄͼ£¬ÆäBFSÉú³ÉÊ÷µÄÊ÷¸ßºÍDFSÉú

³ÉÊ÷µÄÊ÷¸ßÏàµÈ¡£Ò»°ãµÄͼ£¬¸ù¾ÝͼµÄBFSÉú³ÉÊ÷ºÍDFSÊ÷µÄË㷨˼Ï룬BFSÉú³ÉÊ÷µÄÊ÷¸ß±ÈDFSÉú³ÉÊ÷µÄÊ÷¸ßС¡£

£¨13£©ÒÑ֪ͼµÄÁÚ½Ó¾ØÕóÈçͼ6.30Ëùʾ£¬Ôò´Ó¶¥µãv0³ö·¢°´Éî¶ÈÓÅÏȱéÀúµÄ½á¹ûÊÇ£¨ £©¡£

ͼ6.30 ÁÚ½Ó¾ØÕó

£¨14£©ÒÑ֪ͼµÄÁÚ½Ó±íÈçͼ6.31Ëùʾ£¬Ôò´Ó¶¥µãv0³ö·¢°´¹ã¶ÈÓÅÏȱéÀúµÄ½á¹ûÊÇ£¨ £©£¬°´Éî¶ÈÓÅÏȱéÀúµÄ½á¹ûÊÇ£¨ £©¡£

ͼ6.31 ÁÚ½Ó±í

A£®0 1 3 2 ´ð°¸£ºD¡¢D

B£®0 2 3 1 C£®0 3 2 1 D£®0 1 2 3

44

£¨15£©ÏÂÃæ£¨ £©·½·¨¿ÉÒÔÅжϳöÒ»¸öÓÐÏòͼÊÇ·ñÓл·¡£

A£®Éî¶ÈÓÅÏȱéÀú B£®ÍØÆËÅÅÐò C£®Çó×î¶Ì·¾¶ D£®Ç󹨼ü·¾¶ ´ð°¸£ºB 2£®Ó¦ÓÃÌâ

£¨1£©ÒÑ֪ͼ6.32ËùʾµÄÓÐÏòͼ£¬Çë¸ø³ö£º ¢Ù ÿ¸ö¶¥µãµÄÈë¶ÈºÍ³ö¶È£» ¢Ú ÁÚ½Ó¾ØÕó£» ¢Û ÁÚ½Ó±í£»

¢Ü ÄæÁÚ½Ó±í¡£

´ð°¸£º

ͼ6.32 ÓÐÏòͼ ͼ6.33 ÎÞÏòÍø

£¨2£©ÒÑÖªÈçͼ6.33ËùʾµÄÎÞÏòÍø£¬Çë¸ø³ö£º ¢Ù ÁÚ½Ó¾ØÕó£» ¢Ú ÁÚ½Ó±í£» ¢Û ×îСÉú³ÉÊ÷ ´ð°¸£º

45

¢Ù ¢Û

?? ?

?4 ? 3 ??? ??? ??? ?????43? ?55 5 ? 5 55?9?7??6??5?54?9 ? 7?3???? ? 63?2??? ? 5?2?6????? 5 ? ?4??????6????? ¢Ú

a b c d e f g

¡ú ¡ú ¡ú ¡ú ¡ú ¡ú ¡ú b a a b b d d 4 4 3 5 9 6 5 ¡ú ¡ú ¡ú ¡ú ¡ú ¡ú ¡ú c c b c d e f 3 5 5 5 7 3 2 ¡ú ¡ú ¡ú ¡ú ¡ú ¡ú d d e f g h 5 ¡ú e 9 5 ¡ú h 5 7 ¡ú f 6 ¡ú 3 2 6

g 5 ¡ú

h 4

£¨3£©ÒÑ֪ͼµÄÁÚ½Ó¾ØÕóÈçͼ6.34Ëùʾ¡£ÊԷֱ𻭳ö×Ô¶¥µã1³ö·¢½øÐбéÀúËùµÃµÄÉî¶ÈÓÅÏÈÉú³ÉÊ÷ºÍ¹ã¶ÈÓÅÏÈÉú³ÉÊ÷¡£

£¨4£©ÓÐÏòÍøÈçͼ6.35Ëùʾ£¬ÊÔÓõϽÜË¹ÌØÀ­Ëã·¨Çó³ö´Ó¶¥µãaµ½ÆäËû¸÷¶¥µã¼äµÄ×î¶Ì·¾¶£¬Íê³É±í6.9¡£

ͼ6.28 ÁÚ½Ó¾ØÕó

46

±í6.9 D ÖÕµã b c d e f g i=1 15 (a,b) 2 (a,c) 12 (a,d) ¡Þ ¡Þ ¡Þ S Öյ㼯 {a,c} ͼ6.34 ÁÚ½Ó¾ØÕó ͼ6.35 ÓÐÏòÍø

i=2 15 (a,b) 12 (a,d) 10 (a,c,e) 6 (a,c,f) ¡Þ i=3 15 (a,b) 11 (a,c,f,d) 10 (a,c,e) 16 (a,c,f,g) i=4 15 (a,b) 11 (a,c,f,d) 16 (a,c,f,g) {a,c,f,e,d} i=5 15 (a,b) 14 (a,c,f,d,g) {a,c,f,e,d,g} i=6 15 (a,b) {a,c,f} {a,c,f,e} {a,c,f,e,d,g,b}

£¨5£©ÊÔ¶Ôͼ6.36ËùʾµÄAOE-Íø£º ¢Ù ÇóÕâ¸ö¹¤³Ì×îÔç¿ÉÄÜÔÚʲôʱ

¼ä½áÊø£»

¢Ú Çóÿ¸ö»î¶¯µÄ×îÔ翪ʼʱ¼äºÍ

×î³Ù¿ªÊ¼Ê±¼ä£»

¢Û È·¶¨ÄÄЩ»î¶¯Êǹؼü»î¶¯

47

ͼ6.36 AOE-Íø

´ð°¸£º°´ÍØÆËÓÐÐòµÄ˳Ðò¼ÆËã¸÷¸ö¶¥µãµÄ×îÔç¿ÉÄÜ¿ªÊ¼Ê±¼äVeºÍ×î³ÙÔÊÐí¿ªÊ¼Ê±¼äVl¡£È»ºóÔÙ¼ÆËã¸÷¸ö»î¶¯µÄ×îÔç¿ÉÄÜ¿ªÊ¼Ê±¼äeºÍ×î³ÙÔÊÐí¿ªÊ¼Ê±¼äl£¬¸ù¾Ýl - e = 0? À´È·¶¨¹Ø¼ü»î¶¯£¬´Ó¶øÈ·¶¨¹Ø¼ü·¾¶¡£

1 ? Ve 0 Vl 0 2 ? 19 19 3 ? 15 15 4 ? 29 37 5 ? 38 38 6 ? 43 43 <5, 6> 38 38 0 <1, 2> <1, 3> <3, 2> <2, 4> <2, 5> <3, 5> <4, 6> e 0 0 15 19 19 15 29 l 17 0 15 27 19 27 37 -e 17 0 0 8 0 12 8 ´Ë¹¤³Ì×îÔçÍê³Éʱ¼äΪ43¡£¹Ø¼ü·¾¶Îª<1, 3><3, 2><2, 5><5, 6>

3£®Ëã·¨Éè¼ÆÌâ

£¨1£©·Ö±ðÒÔÁÚ½Ó¾ØÕóºÍÁÚ½Ó±í×÷Ϊ´æ´¢½á¹¹£¬ÊµÏÖÒÔÏÂͼµÄ»ù±¾²Ù×÷£º ¢Ù Ôö¼ÓÒ»¸öж¥µãv£¬InsertVex(G, v)£» ¢Ú ɾ³ý¶¥µãv¼°ÆäÏà¹ØµÄ±ß£¬DeleteVex(G, v); ¢Û Ôö¼ÓÒ»Ìõ±ß£¬InsertArc(G, v, w); ¢Ü ɾ³ýÒ»Ìõ±ß£¬DeleteArc(G, v, w)¡£ [Ëã·¨ÃèÊö]

¼ÙÉèͼGΪÓÐÏòÎÞȨͼ£¬ÒÔÁÚ½Ó¾ØÕó×÷Ϊ´æ´¢½á¹¹ËĸöËã·¨·Ö±ðÈçÏ£º ¢Ù Ôö¼ÓÒ»¸öж¥µãv

Status Insert_Vex(MGraph &G, char v)//ÔÚÁÚ½Ó¾ØÕó±íʾµÄͼGÉϲåÈë¶¥µãv {

if(G.vexnum+1)>MAX_VERTEX_NUM return INFEASIBLE; G.vexs[++G.vexnum]=v; return OK; }//Insert_Vex

¢Ú ɾ³ý¶¥µãv¼°ÆäÏà¹ØµÄ±ß£¬

Status Delete_Vex(MGraph &G,char v)//ÔÚÁÚ½Ó¾ØÕó±íʾµÄͼGÉÏɾ³ý¶¥µãv {

n=G.vexnum;

if((m=LocateVex(G,v))<0) return ERROR;

G.vexs[m]<->G.vexs[n]; //½«´ýɾ³ý¶¥µã½»»»µ½×îºóÒ»¸ö¶¥µã

48

for(i=0;i

G.arcs[m]=G.arcs[n];

G.arcs[m]=G.arcs[n]; //½«±ßµÄ¹ØÏµËæÖ®½»»» }

G.arcs[m][m].adj=0; G.vexnum--; return OK; }//Delete_Vex

·ÖÎö:Èç¹û²»°Ñ´ýɾ³ý¶¥µã½»»»µ½×îºóÒ»¸ö¶¥µãµÄ»°,Ëã·¨½«»á±È½Ï¸´ÔÓ,¶ø°éËæ×Å´óÁ¿ÔªËصÄÒÆ¶¯,ʱ¼ä¸´ÔÓ¶ÈÒ²»á´ó´óÔö¼Ó¡£

¢Û Ôö¼ÓÒ»Ìõ±ß

Status Insert_Arc(MGraph &G,char v,char w)//ÔÚÁÚ½Ó¾ØÕó±íʾµÄͼGÉϲåÈë±ß(v,w) {

if((i=LocateVex(G,v))<0) return ERROR; if((j=LocateVex(G,w))<0) return ERROR; if(i==j) return ERROR; if(!G.arcs[j].adj) {

G.arcs[j].adj=1; G.arcnum++; }

return OK; }//Insert_Arc

¢Ü ɾ³ýÒ»Ìõ±ß

Status Delete_Arc(MGraph &G,char v,char w)//ÔÚÁÚ½Ó¾ØÕó±íʾµÄͼGÉÏɾ³ý±ß(v,w) {

if((i=LocateVex(G,v))<0) return ERROR; if((j=LocateVex(G,w))<0) return ERROR; if(G.arcs[j].adj) {

G.arcs[j].adj=0; G.arcnum--; }

return OK; }//Delete_Arc

49

ÒÔÁÚ½Ó±í×÷Ϊ´æ´¢½á¹¹£¬±¾ÌâÖ»¸ø³öInsert_ArcËã·¨.ÆäÓàËã·¨ÀàËÆ¡£

Status Insert_Arc(ALGraph &G,char v,char w)//ÔÚÁÚ½Ó±í±íʾµÄͼGÉϲåÈë±ß(v,w) {

if((i=LocateVex(G,v))<0) return ERROR; if((j=LocateVex(G,w))<0) return ERROR; p=new ArcNode;

p->adjvex=j;p->nextarc=NULL;

if(!G.vertices.firstarc) G.vertices.firstarc=p; else {

for(q=G.vertices.firstarc;q->q->nextarc;q=q->nextarc) if(q->adjvex==j) return ERROR; //±ßÒѾ­´æÔÚ q->nextarc=p; }

G.arcnum++; return OK; }//Insert_Arc

£¨2£©Ò»¸öÁ¬Í¨Í¼²ÉÓÃÁÚ½Ó±í×÷Ϊ´æ´¢½á¹¹£¬Éè¼ÆÒ»¸öËã·¨£¬ÊµÏÖ´Ó¶¥µãv³ö·¢µÄÉî¶ÈÓÅÏȱéÀúµÄ·ÇµÝ¹é¹ý³Ì¡£

[Ëã·¨ÃèÊö]

Void DFSn(Graph G,int v)

{ //´ÓµÚv¸ö¶¥µã³ö·¢·ÇµÝ¹éʵÏÖÉî¶ÈÓÅÏȱéÀúͼG

Stack s; SetEmpty(s); Push(s,v);

While(!StackEmpty(s))

{ //Õ»¿ÕʱµÚv¸ö¶¥µãËùÔÚµÄÁ¬Í¨·ÖÁ¿ÒѱéÀúÍê

Pop(s,k);

If(!visited[k]) { { }

50

visited[k]=TRUE;

VisitFunc(k); //·ÃÎʵÚk¸ö¶¥µã //½«µÚk¸ö¶¥µãµÄËùÓÐÁÚ½Óµã½øÕ»

if(!visited[w]&&w!=GetTop(s)) Push(s,w); //ͼÖÐÓл·Ê±w==GetTop(s)

for(w=FirstAdjVex(G,k);w;w=NextAdjVex(G,k,w))