Êý¾Ý½á¹¹Ï°Ì⣨95Ò³£©

µÚ1Õ Ð÷ÂÛ

1.1 Ñ¡ÔñÌâ

1. Ëã·¨µÄʱ¼ä¸´ÔÓ¶ÈÈ¡¾öÓÚ£¨ £©

A£©ÎÊÌâµÄ¹æÄ£ B£© ´ý´¦ÀíÊý¾ÝµÄ³õ̬ C£© AºÍB ¡¾´ð°¸¡¿C

2.¼ÆËã»úËã·¨Ö¸µÄÊǽâ¾öÎÊÌâµÄ²½ÖèÐòÁУ¬Ëü±ØÐë¾ß±¸£¨ £© ÕâÈý¸öÌØÐÔ¡£ A£©¿ÉÖ´ÐÐÐÔ¡¢¿ÉÒÆÖ²ÐÔ¡¢¿ÉÀ©³äÐÔ B£© ¿ÉÖ´ÐÐÐÔ¡¢È·¶¨ÐÔ¡¢ÓÐÇîÐÔ C£© È·¶¨ÐÔ¡¢ÓÐÇîÐÔ¡¢Îȶ¨ÐÔ D£© Ò×¶ÁÐÔ¡¢Îȶ¨ÐÔ¡¢°²È«ÐÔ ¡¾´ð°¸¡¿B

5£®´ÓÂß¼­ÉÏ¿ÉÒÔ°ÑÊý¾Ý½á¹¹·ÖΪ£¨ £©Á½´óÀà¡£

A£©¶¯Ì¬½á¹¹¡¢¾²Ì¬½á¹¹ B£©Ë³Ðò½á¹¹¡¢Á´Ê½½á¹¹ C£©ÏßÐԽṹ¡¢·ÇÏßÐԽṹ D£©³õµÈ½á¹¹¡¢¹¹ÔìÐͽṹ ¡¾´ð°¸¡¿C

6£®ÔÚÏÂÃæµÄ³ÌÐò¶ÎÖУ¬¶ÔxµÄ¸³ÖµµÄÓï¾äƵ¶ÈΪ£¨ £© for(i=0;i

for(j=0;j

A£© O(2n) B£©O(n) C£®O(n2) D£®O(log2n) ¡¾´ð°¸¡¿C

7£®ÏÂÃæµÄ³ÌÐò¶ÎÖУ¬ nΪÕýÕûÊý£¬Ôò×îºóÒ»ÐеÄÓï¾äƵ¶ÈÔÚ×Çé¿öÏÂÊÇ£¨ £© for(i=n-1;i>=1;i--)

for(j=1;j<=i;j++) if (A[j]>A[j+1])

A[j]ÓëA[j+1]¶Ô»»£»

A. O£¨n£© B£© O(nlog2n) C£© O(n3) D£© O(n2) ¡¾´ð°¸¡¿D

1.2 Ìî¿ÕÌâ

2. ¶ÔÓÚ¸ø¶¨µÄn¸öÔªËØ,¿ÉÒÔ¹¹Ôì³öµÄÂß¼­½á¹¹ÓÐ_____________£¬_____________£¬ _____________£¬_____________ËÄÖÖ¡£ ¡¾´ð°¸¡¿£¨1£©¼¯ºÏ £¨2£©ÏßÐԽṹ £¨3£©Ê÷Ðνṹ£¨4£©Í¼×´½á¹¹»òÍø×´½á¹¹

4£®Êý¾Ý½á¹¹ÖÐÆÀ¼ÛËã·¨µÄÁ½¸öÖØÒªÖ¸±êÊÇ_____________¡£ ¡¾´ð°¸¡¿Ëã·¨µÄʱ¼ä¸´ÔӶȺͿռ临ÔÓ¶È¡£

5. Êý¾Ý½á¹¹ÊÇÑÐÌÖÊý¾ÝµÄ_____________ºÍ_____________£¬ÒÔ¼°ËüÃÇÖ®¼äµÄÏ໥¹ØÏµ£¬²¢¶ÔÓëÕâÖֽṹ¶¨ÒåÏàÓ¦µÄ_____________£¬Éè¼Æ³öÏàÓ¦µÄ_____________¡£ ¡¾´ð°¸¡¿£¨1£©Âß¼­½á¹¹£¨2£©ÎïÀí½á¹¹£¨3£©²Ù×÷£¨ÔËË㣩£¨4£©Ëã·¨¡£

6£®Ò»¸öËã·¨¾ßÓÐ5¸öÌØÐÔ£º_____________¡¢_____________¡¢_____________£¬ÓÐÁã¸ö»ò¶à¸öÊäÈë¡¢ÓÐÒ»¸ö»ò¶à¸öÊä³ö¡£ ¡¾´ð°¸¡¿£¨1£©ÓÐÇîÐÔ £¨2£©È·¶¨ÐÔ £¨3£©¿ÉÐÐÐÔ¡£

9£®ÒÑÖªÈçϳÌÐò¶Î

for(i=n;i>0;i--) {Óï¾ä1}

1

{ x=x+1; {Óï¾ä2} for(j=n;j>=i;j--) {Óï¾ä3} y=y+1; {Óï¾ä4} }

Óï¾ä1Ö´ÐÐµÄÆµ¶ÈΪ_____________£»Óï¾ä2Ö´ÐÐµÄÆµ¶ÈΪ_____________£»Óï¾ä3Ö´ÐÐµÄÆµ¶ÈΪ_____________£»Óï¾ä4Ö´ÐÐµÄÆµ¶ÈΪ_____________¡£ ¡¾´ð°¸¡¿£¨1£©n+1 £¨2£©n £¨3£©n(n+3)/2 £¨4£©n(n+1)/2

10£®ÔÚÏÂÃæµÄ³ÌÐò¶ÎÖУ¬¶Ô£øµÄ¸³ÖµÓï¾äµÄƵ¶ÈΪ_____________£¨±íʾΪnµÄº¯Êý£© for(i=0;i>n;i++) for(j=0;j>i;j++)

for(k=0;k>j;k++) £ø=£ø+delta;

¡¾´ð°¸¡¿1+£¨1+2£©+£¨1+2+3£©+?+£¨1+2+?+n£©=n(n+1)(n+2)/6 £¬ O(n3)

11.ÏÂÃæ³ÌÐò¶ÎÖдøÏ»®ÏßµÄÓï¾äµÄÖ´ÐдÎÊýµÄÊýÁ¿¼¶ÊÇ_____________¡£ i=1; while(i

12. ¼ÆËã»úÖ´ÐÐÏÂÃæµÄÓï¾äʱ£¬Óï¾äsµÄÖ´ÐдÎÊýΪ_____________¡£ for(i=l;i

for(j=n;j>=i;j--) s; ¡¾´ð°¸¡¿(n+3)(n-2)/2

13. ÏÂÃæ³ÌÐò¶ÎµÄʱ¼ä¸´ÔÓ¶ÈΪ_____________¡£(n>1) sum=1;

for (i=0;sum

µÚ2Õ ÏßÐÔ±í

2.1 Ñ¡ÔñÌâ

1£®¶ÔÓÚÏßÐÔ±í×î³£ÓõIJÙ×÷ÊDzéÕÒÖ¸¶¨ÐòºÅµÄÔªËØºÍÔÚĩβ²åÈëÔªËØ£¬ÔòÑ¡Ôñ£¨ £©×î½Úʡʱ¼ä

A£©Ë³Ðò±í B£©´øÍ·½áµãµÄ˫ѭ»·Á´±í C£©µ¥Á´±í D£©´øÎ²½áµãµÄµ¥Ñ­»·Á´±í ¡¾´ð°¸¡¿A

2£®Èô³¤¶ÈΪnµÄÏßÐÔ±í²ÉÓÃ˳Ðò´æ´¢½á¹¹£¬ÔÚÆäµÚi¸öλÖòåÈëÒ»¸öÐÂÔªËØµÄË㷨ʱ¼ä¸´ÔÓ¶ÈΪ£¨ £©(1¡Üi¡Ün+1)¡£

A£© O(0) B£© O(1) C£© O(n) D£© O(n2) ¡¾´ð°¸¡¿C

3£®Ë«ÏòÁ´±íÖÐÓÐÁ½¸öÖ¸ÕëÓò£¬priorºÍnext£¬·Ö±ðÖ¸ÏòǰÇý¼°ºó¼Ì£¬ÉèpÖ¸ÏòÁ´±íÖеÄÒ»¸ö½áµã£¬qÖ¸ÏòÒ»´ý²åÈë½áµã£¬ÏÖÒªÇóÔÚpǰ²åÈëq£¬ÔòÕýÈ·µÄ²åÈëΪ£¨ £© A£© p->prior=q; q->next=p; p->prior->next=q; q->prior=p->prior;

B£© q->prior=p->prior; p->prior->next=q; q->next=p; p->prior=q->next; C£© q->next=p; p->next=q; p->prior->next=q; q->next=p;

D£© p->prior->next=q; q->next=p; q->prior=p->prior; p->prior=q; ¡¾´ð°¸¡¿D

2

4£®ÔÚÒ»¸ö¾ßÓÐn¸ö½áµãµÄÓÐÐòµ¥Á´±íÖвåÈëÒ»¸öнáµã²¢ÈÔÈ»±£³ÖÓÐÐòµÄʱ¼ä¸´ÔÓ¶ÈÊÇ£¨ £© A£©O(nlog2n£© B£© O(1£© C£© O(n£© D£© O(n2£© ¡¾´ð°¸¡¿C

5£® ÔÚÒ»¸öÒÔ h ΪͷָÕëµÄµ¥Ñ­»·Á´ÖУ¬p Ö¸ÕëÖ¸ÏòÁ´Î²½áµãµÄÌõ¼þÊÇ£¨ £© A£©p->next==NULL B£© p->next==h C£©p->next->next==h D£© p->data==-1 ¡¾´ð°¸¡¿B

6£®¶ÔÓÚÒ»¸ö¾ßÓÐn¸ö½áµãµÄÏßÐÔ±í£¬½¨Á¢Æäµ¥Á´±íµÄʱ¼ä¸´ÔÓ¶ÈÊÇ£¨ £© A£©O(n) B£© O(1) C£©O(nlog2n) D£© O(n2) ¡¾´ð°¸¡¿A

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

D£©p->next=p->prior->prior p->prior=p->next->next; ¡¾´ð°¸¡¿A

9£®ÏßÐÔ±í²ÉÓÃÁ´Ê½´æ´¢Ê±£¬ÆäÔªËØµØÖ·£¨ £©

A£©±ØÐëÊÇÁ¬ÐøµÄ B£©Ò»¶¨ÊDz»Á¬ÐøµÄ C£©²¿·ÖµØÖ·ÊÇÁ¬ÐøµÄ D£©Á¬ÐøÓë·ñ¾ù¿É ¡¾´ð°¸¡¿D

2.2 Ìî¿ÕÌâ

1£®ÏßÐÔ±íL=£¨a1£¬a2£¬?£¬an£©ÓÃÊý×é±íʾ£¬¼Ù¶¨É¾³ý±íÖÐÈÎÒ»ÔªËØµÄ¸ÅÂÊÏàͬ£¬Ôòɾ³ýÒ»¸öÔªËØÆ½¾ùÐèÒªÒÆ¶¯ÔªËصĸöÊýÊÇ_____________¡£ ¡¾´ð°¸¡¿£¨n-1£©/2

2£®ÔÚµ¥Á´±íÖÐÉèÖÃÍ·½áµãµÄ×÷ÓÃÊÇ_____________¡£ ¡¾´ð°¸¡¿Ö÷ÒªÊÇʹ²åÈëºÍɾ³ýµÈ²Ù×÷ͳһ£¬ÔÚµÚÒ»¸öÔªËØÖ®Ç°²åÈëÔªËØºÍɾ³ýµÚÒ»¸ö½áµã²»±ØÁí×÷Åжϡ£ÁíÍ⣬²»ÂÛÁ´±íÊÇ·ñΪ¿Õ£¬Á´±íÍ·Ö¸Õë²»±ä¡£ 3£®ÏßÐÔ±íµÄ˳Ðò´æ´¢ÊÇͨ¹ý_____________À´·´Ó¦ÔªËØÖ®¼äµÄÂß¼­¹ØÏµ£¬¶øÁ´Ê½´æ´¢½á¹¹ÊÇͨ¹ý_____________À´·´Ó¦ÔªËØÖ®¼äµÄÂß¼­¹ØÏµ¡£ ¡¾´ð°¸¡¿£¨1£©Êý¾ÝÔªËØµÄǰºó˳Ðò £¨2£©ÔªËØÖеÄÖ¸Õë

4£®µ±¶ÔÒ»¸öÏßÐÔ±í¾­³£½øÐеÄÊÇ´æÈ¡²Ù×÷£¬¶øºÜÉÙ½øÐвåÈëºÍɾ³ý²Ù×÷ʱ£¬Ôò²ÉÓÃ_____________´æ´¢½á¹¹×î½Úʡʱ¼ä£¬Ïà·´µ±¾­³£½øÐвåÈëºÍɾ³ý²Ù×÷ʱ£¬Ôò²ÉÓÃ_____________´æ´¢½á¹¹×î½Úʡʱ¼ä¡£ ¡¾´ð°¸¡¿£¨1£©Ë³Ðò £¨2£©Á´Ê½

5£®¶ÔÓÚÒ»¸ö¾ßÓÐn¸ö½áµãµÄµ¥Á´±í£¬ÔÚÒÑÖªµÄ½áµã*pºó²åÈëÒ»¸öнáµãµÄʱ¼ä¸´ÔÓ¶ÈΪ_____________£¬ÔÚ¸ø¶¨ÖµÎªxµÄ½áµãºó²åÈëÒ»¸öнáµãµÄʱ¼ä¸´ÔÓ¶ÈΪ_____________¡£ ¡¾´ð°¸¡¿£¨1£©O(1) £¨2£©O(n)

7. ¶ÔÓÚË«ÏòÁ´±í£¬ÔÚÁ½¸ö½áµãÖ®¼ä²åÈëÒ»¸öнáµãÐèÐ޸ĵÄÖ¸Õë¹²_____________¸ö£¬µ¥Á´±íΪ_____________¸ö¡£ ¡¾´ð°¸¡¿£¨1£©4 £¨2£©2

8. Ñ­»·µ¥Á´±íµÄ×î´óÓŵãÊÇ_____________¡£

3

¡¾´ð°¸¡¿´ÓÈÎÒ»½áµã³ö·¢¶¼¿É·ÃÎʵ½Á´±íÖÐÿһ¸öÔªËØ¡£

9£®ÈôÒªÔÚÒ»¸ö²»´øÍ·½áµãµÄµ¥Á´±íµÄÊ×½áµã*p½áµã֮ǰ²åÈëÒ»¸ö*s½áµãʱ£¬¿ÉÖ´ÐÐÏÂÁвÙ×÷£º

s->next=_____________; p->next=s; t=p->data;

p->data= _____________; s->data=_____________; ¡¾´ð°¸¡¿£¨1£©p->next £¨2£©s->data £¨3£© t

10£®Ä³ÏßÐÔ±í²ÉÓÃ˳Ðò´æ´¢½á¹¹£¬Ã¿¸öÔªËØÕ¼¾Ý4¸ö´æ´¢µ¥Ôª£¬Ê×µØÖ·Îª100£¬ÔòϱêΪ11µÄ£¨µÚ12¸ö£©ÔªËصĴ洢µØÖ·Îª_____________¡£ ¡¾´ð°¸¡¿144

11£®´øÍ·½áµãµÄ˫ѭ»·Á´±íLÖÐÖ»ÓÐÒ»¸öÔªËØ½áµãµÄÌõ¼þÊÇ_____________¡£ ¡¾´ð°¸¡¿L->next->next==L

2.3 ÅжÏÌâ

1£®È¡ÏßÐÔ±íµÄµÚi¸öÔªËØµÄʱ¼äͬiµÄ´óСÓйأ¨ £© ¡¾´ð°¸¡¿¡Á

2£®ÏßÐÔ±íµÄÌØµãÊÇÿ¸öÔªËØ¶¼ÓÐÒ»¸öǰÇýºÍÒ»¸öºó¼Ì£¨ £© ¡¾´ð°¸¡¿¡Á

3£® ˳Ðò´æ´¢·½Ê½µÄÓŵãÊÇ´æ´¢Ãܶȴó£¬ÇÒ²åÈ롢ɾ³ýÔËËãЧÂʸߣ¨ £© ¡¾´ð°¸¡¿¡Á

4£®ÏßÐÔ±í²ÉÓÃÁ´±í´æ´¢Ê±£¬½áµãµÄ´æ´¢¿Õ¼ä¿ÉÒÔÊDz»Á¬ÐøµÄ£¨ £© ¡¾´ð°¸¡¿¡Ì

5£®Á´±íÊDzÉÓÃÁ´Ê½´æ´¢½á¹¹µÄÏßÐÔ±í£¬½øÐвåÈ롢ɾ³ý²Ù×÷ʱ£¬ÔÚÁ´±íÖбÈÔÚ˳Ðò´æ´¢½á¹¹ÖÐЧÂʸߣ¨ £© ¡¾´ð°¸¡¿¡Ì

6£®Ë³Ðò´æ´¢·½Ê½Ö»ÄÜÓÃÓÚ´æ´¢ÏßÐԽṹ£¨ £© ¡¾´ð°¸¡¿¡Á

¡¾½âÎö¡¿ÏßÐԽṹ¡¢Ê÷ÐͽṹºÍͼ״½á¹¹¾ù¿ÉÓÃ˳Ðò´æ´¢±íʾ¡£

9£®Ë³Ðò´æ´¢½á¹¹µÄÖ÷ҪȱµãÊDz»ÀûÓÚ²åÈë»òɾ³ý²Ù×÷£¨ £© ¡¾´ð°¸¡¿¡Ì

10£®Ë³Ðò´æ´¢·½Ê½²åÈëºÍɾ³ýʱЧÂÊÌ«µÍ£¬Òò´ËËü²»ÈçÁ´Ê½´æ´¢·½Ê½ºÃ£¨ £© ¡¾´ð°¸¡¿¡Á

2.4 ³ÌÐòÉè¼ÆÌâ

1£®Éè˳Ðò±ívaÖеÄÊý¾ÝÔªËØµÝÔöÓÐÐò¡£ÊÔÉè¼ÆÒ»¸öËã·¨£¬½«x²åÈ뵽˳Ðò±íµÄÊʵ±Î»ÖÃÉÏ£¬ÒÔ±£³Ö¸Ã±íµÄÓÐÐòÐÔ¡£ ¡¾Ëã·¨Ô´´úÂë¡¿

void Insert_SqList(SqList va,int x)/*°Ñx²åÈëµÝÔöÓÐÐò±ívaÖÐ*/ { int i;

if(va.length> MAXSIZE) return;

4

for(i=va.length-1;va.elem[i]>x&&i>=0;i--) va.elem[i+1]=va.elem[i]; va.elem[i+1]=x; va.length++; }/*Insert_SqList*/

2£®Éè A=£¨a1£¬a2£¬?£¬am£© ºÍ B=£¨b1£¬b2£¬?£¬bn£©¾ùΪ˳Ðò±í£¬ÊÔÉè¼ÆÒ»¸ö±È½ÏA£¬B´óСµÄËã·¨£¨Çë×¢Ò⣺ÔÚËã·¨ÖУ¬²»ÒªÆÆ»µÔ­±íAºÍB£©¡£

¡¾Ëã·¨·ÖÎö¡¿±È½Ï˳Ðò±íAºÍB£¬²¢Ó÷µ»ØÖµ±íʾ½á¹û£¬ÖµÎª1£¬±íʾA>B£»ÖµÎª-1£¬±íʾA

1£©µ±Á½¸ö˳Ðò±í¿ÉÒÔ»¥Ïà±È½Ïʱ£¬Èô¶ÔÓ¦ÔªËØ²»µÈ£¬Ôò·µ»ØÖµÎª1»ò-1£»

2£©µ±Á½¸ö˳Ðò±í¿ÉÒÔ»¥Ïà±È½ÏµÄ²¿·ÖÍêÈ«Ïàͬʱ£¬Èô±í³¤Ò²Ïàͬ£¬Ôò·µ»ØÖµÎª0£»·ñÔò£¬Äĸö½Ï³¤£¬Äĸö¾Í½Ï´ó ¡¾Ëã·¨Ô´´úÂë¡¿

int ListComp(SqList A,SqList B) {

for(i=1;i<=A.length&&i<=B.length;i++) if(A.elem[i]!=B.elem[i])

return A.elem[i]>B.elem[i]?1:-1; if(A.length==B.length) return 0; return A.length>B.length?1:-1;

/*µ±Á½¸ö˳Ðò±í¿ÉÒÔ»¥Ïà±È½ÏµÄ²¿·ÖÍêÈ«Ïàͬʱ£¬Äĸö½Ï³¤£¬Äĸö¾Í½Ï´ó*/ }/*ListComp */

3£®ÒÑÖªÖ¸Õë haºÍ hb·Ö±ðÖ¸ÏòÁ½¸öµ¥Á´±íµÄÍ·½áµã£¬²¢ÇÒÒÑÖªÁ½¸öÁ´±íµÄ³¤¶È·Ö±ðΪmºÍn¡£ÊÔÉè¼ÆÒ»¸öËã·¨½«ÕâÁ½¸öÁ´±íÁ¬½ÓÔÚÒ»Æð£¨¼´ÁîÆäÖÐÒ»¸ö±íµÄÊ×Ôª½áµãÁ¬ÔÚÁíÒ»¸ö±íµÄ×îºóÒ»¸ö½áµãÖ®ºó£©£¬¼ÙÉèÖ¸ÕëhcÖ¸ÏòÁ¬½ÓºóµÄÁ´±íµÄÍ·½áµã£¬²¢ÒªÇóËã·¨ÒÔ¾¡¿ÉÄ̵ܶÄʱ¼äÍê³ÉÁ¬½ÓÔËËã¡£ ¡¾Ëã·¨·ÖÎö¡¿

1£©µ¥Á´±íhaµÄÍ·½áµã×÷ΪÁ¬½ÓºóµÄÁ´±íµÄÍ·½áµã£¬¼´hc=ha£»

2£©²éÕÒµ¥Á´±íhaµÄ×îºóÒ»¸ö½áµã£¬ÓÉÖ¸ÕëpÖ¸Ïò£¬¼´p->next==NULL£»

3£©½«µ¥Á´±íhbµÄÊ×Ôª½áµã£¨·ÇÍ·½áµã£©Á¬½ÓÔÚpÖ®ºó£¬¼´p->next=hb->next£» 4£©»ØÊÕµ¥Á´±íhbµÄÍ·½áµã¿Õ¼ä ¡¾Ëã·¨Ô´´úÂë¡¿

void ListConcat(LinkList ha,LinkList hb,LinkList *hc) /*°ÑÁ´±íhb½ÓÔÚhaºóÃæÐγÉÁ´±íhc*/ {

*hc=ha;

p=ha;/*ÓÉÖ¸ÕëpÖ¸ÏòhaµÄβԪ½áµã*/ p=p->next; p->next=hb->next; free(hb);

}/*ListConcat */

4£®ÊÔÉè¼ÆÒ»¸öËã·¨£¬ÔÚÎÞÍ·½áµãµÄ¶¯Ì¬µ¥Á´±íÉÏʵÏÖÏßÐÔ±í²Ù×÷INSERT£¨L£¬i£¬b£©£¬²¢ºÍÔÚ´øÍ·½áµãµÄ¶¯Ì¬µ¥Á´±íÉÏʵÏÖÏàͬ²Ù×÷µÄËã·¨½øÐбȽϡ£ ¡¾Ëã·¨·ÖÎö¡¿

1£©Éú³Éнáµã´æ·ÅÔªËØb£¬ÓÉÖ¸ÕënewÖ¸Ïò£»

2£©½«new²åÈëÔÚµ¥Á´±íµÄµÚi¸öÔªËØµÄλÖÃÉÏ£ºÈôi==1£¬new²åÔÚÁ´±íÊײ¿£»·ñÔò²éÕÒµÚi-1¸ö½áµã£¬ÓÉÖ¸ÕëpÖ¸Ïò£¬È»ºó½«new²åÔÚpÖ®ºó¡£ ¡¾Ëã·¨Ô´´úÂë¡¿

void Insert(LinkList *L,int i,int b) { LinkList new;

5

new=(LinkList*)malloc(sizeof(LNode)); new->data=b; if(i==1)

{/*²åÈëÔÚÁ´±íÍ·²¿*/ New->next=*L; *L=new; } else

{ /*²åÈëÔÚµÚi¸öÔªËØµÄλÖÃ*/ p=*L;

while(--i>1) p=p->next;

new->next=p->next;p->next=new; }

}/*Insert */

5£®ÒÑÖªÏßÐÔ±íÖеÄÔªËØÒÔÖµµÝÔöÓÐÐòÅÅÁУ¬²¢ÒÔµ¥Á´±í×÷´æ´¢½á¹¹¡£ÊÔÉè¼ÆÒ»¸ö¸ßЧµÄËã·¨£¬É¾³ý±íÖÐËùÓÐÖµ´óÓÚ minkÇÒСÓÚ maxkµÄÔªËØ£¨Èô±íÖдæÔÚÕâÑùµÄÔªËØ£©£¬Í¬Ê±Êͷű»É¾½áµã¿Õ¼ä£¨×¢Ò⣺minkºÍmaxkÊǸø¶¨µÄÁ½¸ö²Î±äÁ¿¡£ËüÃǵÄÖµ¿ÉÒԺͱíÖеÄÔªËØÏàͬ£¬Ò²¿ÉÒÔ²»Í¬£©¡£ ¡¾Ëã·¨·ÖÎö¡¿

1£©²éÕÒ×îºóÒ»¸ö²»´óÓÚminkµÄÔªËØ½áµã£¬ÓÉÖ¸ÕëpÖ¸Ïò£»

2£©Èç¹û»¹ÓбÈmink¸ü´óµÄÔªËØ£¬²éÕÒµÚÒ»¸ö²»Ð¡ÓÚmaxkµÄÔªËØ£¬ÓÉÖ¸ÕëqÖ¸Ïò£» 3£©p->next=q£¬¼´É¾³ý±íÖÐËùÓÐÖµ´óÓÚ minkÇÒСÓÚ maxkµÄÔªËØ¡£ ¡¾Ëã·¨Ô´´úÂë¡¿

void Delete_Between(LinkList *L,int mink,int maxk) {

p=*L;

while(p->next->data<=mink) p=p->next; /*pÊÇ×îºóÒ»¸ö²»´óÓÚminkµÄÔªËØ*/ if(p->next) /*Èç¹û»¹ÓбÈmink¸ü´óµÄÔªËØ*/ {

q=p->next;

while(q->datanext; /*qÊǵÚÒ»¸ö²»Ð¡ÓÚmaxkµÄÔªËØ*/ p->next=q; }

}/*Delete_Between */

6£®ÒÑÖªÏßÐÔ±íÖеÄÔªËØÒÔÖµµÝÔöÓÐÐòÅÅÁУ¬²¢ÒÔµ¥Á´±í×÷´æ´¢½á¹¹¡£ÊÔÉè¼ÆÒ»¸ö¸ßЧµÄËã·¨£¬É¾³ý±íÖÐËùÓÐÖµÏàͬµÄ¶àÓàÔªËØ£¨Ê¹µÃ²Ù×÷ºóµÄÏßÐÔ±íÖÐËùÓÐÔªËØµÄÖµ¾ù²»Ïàͬ£©£¬Í¬Ê±Êͷű»É¾½áµã¿Õ¼ä¡£ ¡¾Ëã·¨·ÖÎö¡¿

1£©³õʼ»¯Ö¸ÕëpºÍq£¬·Ö±ðÖ¸ÏòÁ´±íÖÐÏàÁÚµÄÁ½¸öÔªËØ£» 2£©µ±p->next²»Îª¿Õʱ£¬×öÈçÏ´¦Àí£º

¢ÙÈôÏàÁÚÁ½ÔªËز»ÏàµÈʱ£¬pºÍq¶¼ÏòºóÍÆÒ»²½£» ¢Ú·ñÔò£¬µ±ÏàÁÚÔªËØÏàµÈʱ£¬É¾³ý¶àÓàÔªËØ¡£ ¡¾Ëã·¨Ô´´úÂë¡¿

void Delete_Equal(LinkList *L) {

p=(*L)->next;q=p->next; /*pºÍqÖ¸ÏòÏàÁÚµÄÁ½¸öÔªËØ*/ while(p->next) {

if(p->data!=q->data) /*ÈôÏàÁÚÁ½ÔªËز»ÏàµÈʱ£¬pºÍq¶¼ÏòºóÍÆÒ»²½*/ {

p=p->next; q=p->next;

6

} else {

while(q->data==p->data) /*µ±ÏàÁÚÔªËØÏàµÈʱɾ³ý¶àÓàÔªËØ*/ {

r=q;

q=q->next; free(r); }

p->next=q;p=q;q=p->next; }/*else*/ }/*while*/

}/*Delete_Equal */

7£®ÊÔÉè¼ÆÒ»¸öËã·¨£¬¶Ô´øÍ·½áµãµÄµ¥Á´±íʵÏ־͵ØÄæÖᣠ¡¾Ëã·¨·ÖÎö¡¿

1£©¿Õ±í»ò³¤¶ÈΪ1µÄ±í£¬²»×öÈκδ¦Àí£» 2£©±í³¤´óÓÚ2ʱ£¬×öÈçÏ´¦Àí£º

¢ÙÊ×ÏȽ«Õû¸öÁ´±íÒ»·ÖΪ¶þ£¬¼´´ÓÁ´±íµÄµÚÒ»ÔªËØ½áµã´¦¶Ï¿ª£» ¢ÚÖð¸öµØ°ÑÊ£ÓàÁ´±íµÄµ±Ç°ÔªËØq²åÈëµ½Á´±íµÄÍ·²¿¡£ ¡¾Ëã·¨Ô´´úÂë¡¿

void LinkList_reverse(LinkList L) { if(!L->next||!L->next->next) return; p=L->next; q=p->next; s=q->next;

p->next=NULL; /*´ÓÁ´±íµÄµÚÒ»ÔªËØ½áµã´¦¶Ï¿ª*/ while(s->next) {q->next=p;p=q;

q=s;s=s->next; /*°ÑLµÄÔªËØÖð¸ö²åÈëбí±íÍ·*/ }

q->next=p;s->next=q;L->next=s; }/*LinkList_reverse*/

8£®ÉèÏßÐÔ±íA=£¨a1£¬a2£¬?£¬am£© ºÍ B=£¨b1£¬b2£¬?£¬bn£©£¬ÊÔÉè¼ÆÒ»¸ö°´ÏÂÁйæÔòºÏ²¢A£¬BΪÏßÐÔ±íCµÄËã·¨£¬¼´Ê¹µÃ

C=£¨a1£¬b1£¬?£¬am£¬bm£¬bm+1 £¬?£¬bn £©µ± m¡Ünʱ£» »òÕß

C=£¨a1£¬b1£¬?£¬an£¬bn£¬an+1 £¬?£¬am £©µ±m£¾nʱ¡£

ÏßÐÔ±íA£¬BºÍC¾ùÒÔµ¥Á´±í×÷´æ´¢½á¹¹£¬ÇÒC±íÀûÓÃA±íºÍB±íÖеĽáµã¿Õ¼ä¹¹³É¡£×¢Ò⣺µ¥Á´±íµÄ³¤¶ÈÖµmºÍn¾ùδÏÔʽ´æ´¢¡£ ¡¾Ëã·¨·ÖÎö¡¿

1£©³õʼ»¯Ö¸ÕëpÖ¸ÏòÁ´±íAµÄµ±Ç°ÔªËØ£¬Ö¸ÕëqÖ¸ÏòÁ´±íBµÄµ±Ç°ÔªËØ£» 2£©µ±Á´±íAºÍB¾ùΪ½áÊøÊ±£¬×öÈçÏ´¦Àí£º ¢Ù½«BµÄÔªËØ²åÈë

¢ÚÈôA·Ç¿Õ£¬½«AµÄÔªËØ²åÈë ¢ÛÖ¸ÕëpºÍqͬʱºóÒÆ ¡¾Ëã·¨Ô´´úÂë¡¿

void merge1(LinkList A,LinkList B,LinkList *C) {p=A->next;q=B->next;*C=A; while(p&&q)

{ s=p->next;p->next=q; /*½«BµÄÔªËØ²åÈë*/ if(s)

{ t=q->next;

q->next=s; /*ÈôA·Ç¿Õ£¬½«AµÄÔªËØ²åÈë*/ }

7

p=s;q=t; /*Ö¸ÕëpºÍqͬʱºóÒÆ*/ }/*while*/ }/*merge1 */

9£®¼ÙÉèÓÐÁ½¸ö°´ÔªËØÖµµÝÔöÓÐÐòÅÅÁеÄÏßÐÔ±íAºÍB£¬¾ùÒÔµ¥Á´±í×÷´æ´¢½á¹¹£¬ÇëÉè¼ÆÒ»¸öËã·¨½«A±íºÍB±í¹é²¢³ÉÒ»¸ö°´ÔªËØÖµµÝ¼õÓÐÐò£¨¼´·ÇµÝÔöÓÐÐò£¬ÔÊÐí±íÖк¬ÓÐÖµÏàͬµÄÔªËØ£©ÅÅÁеÄÏßÐÔ±íC£¬²¢ÒªÇóÀûÓÃÔ­±í£¨¼´ A±íºÍB±í£©µÄ½áµã¿Õ¼ä¹¹ÔìC±í¡£

¡¾Ëã·¨·ÖÎö¡¿°´´ÓСµ½´óµÄ˳ÐòÒÀ´Î°ÑAºÍBµÄÔªËØ²åÈëбíµÄÍ·²¿pc´¦£¬×îºó´¦ÀíA»òBµÄÊ£ÓàÔªËØ¡£ ¡¾Ëã·¨Ô´´úÂë¡¿

void reverse_merge(LinkList A,LinkList B,LinkList *C) { LinkList pa,pb,pre;

pa=A->next;pb=B->next; /*paºÍpb·Ö±ðÖ¸ÏòAºÍBµÄµ±Ç°ÔªËØ*/ pre=NULL; while(pa||pb)

{ if(pa->datadata||!pb) /*½«AµÄÔªËØ²åÈëбí*/ { pc=pa;q=pa->next;pa->next=pre;pa=q; } else /*½«BµÄÔªËØ²åÈëбí*/

{ pc=pb;q=pb->next;pb->next=pre;pb=q; } pre=pc; } *C=A;

A->next=pc; /*¹¹ÔìбíÍ·*/ }/*reverse_merge*/

10£®ÒÑÖªA£¬BºÍCΪÈý¸öµÝÔöÓÐÐòµÄÏßÐÔ±í£¬ÏÖÒªÇó¶ÔA±í×÷ÈçϲÙ×÷£ºÉ¾È¥ÄÇЩ¼ÈÔÚB±íÖгöÏÖÓÖÔÚC±íÖгöÏÖµÄÔªËØ¡£ÊÔ¶Ô˳Ðò±í±àдʵÏÖÉÏÊö²Ù×÷µÄËã·¨£¬²¢·ÖÎöÄãµÄËã·¨µÄʱ¼ä¸´ÔÓ¶È£¨×¢Ò⣺ÌâÖÐûÓÐÌØ±ðÖ¸Ã÷ͬһ±íÖеÄÔªËØÖµ¸÷²»Ïàͬ£©¡£ ¡¾Ëã·¨·ÖÎö¡¿ÏÈ´ÓBºÍCÖÐÕÒ³ö¹²ÓÐÔªËØ£¬¼ÇΪsame£¬ÔÙÔÚAÖдӵ±Ç°Î»ÖÿªÊ¼£¬ ·²Ð¡ÓÚsameµÄÔªËØ¾ù±£Áô(´æµ½ÐµÄλÖÃ)£¬µÈÓÚsameµÄ¾ÍÌø¹ý£¬µ½´óÓÚsameʱ¾ÍÔÙÕÒÏÂÒ»¸ösame¡£ ¡¾Ëã·¨Ô´´úÂë¡¿

void SqList_Intersect_Delete(SqList *A,SqList B,SqList C)

{i=0;j=0;k=0;m=0; /*iָʾAÖÐÔªËØÔ­À´µÄλÖã¬mÎªÒÆ¶¯ºóµÄλÖÃ*/ while(i<(*A).length&&j

else if(B.elem[j]>C.elem[k]) k++; else{

same=B.elem[j]; /*ÕÒµ½ÁËÏàÍ¬ÔªËØsame*/ while(B.elem[j]==same) j++;

while(C.elem[k]==same) k++; /*jºÍkºóÒÆµ½ÐµÄÔªËØ*/ while(i<(*A).length&&(*A).elem[i]

(*A).elem[m++]=(*A).elem[i++]; /*Ðè±£ÁôµÄÔªËØÒÆ¶¯µ½ÐÂλÖÃ*/ while(i<(*A).length&&(*A).elem[i]==same) i++; /*Ìø¹ýÏàͬµÄÔªËØ*/ }

}/*while*/

while(i<(*A).length)

(*A).elem[m++]=(*A).elem[i++]; /*AµÄÊ£ÓàÔªËØÖØÐ´洢*/ (*A).length=m;

}/* SqList_Intersect_Delete*/

11£®ÉèLΪµ¥Á´±íµÄÍ·½áµãµØÖ·£¬ÆäÊý¾Ý½áµãµÄÊý¾Ý¶¼ÊÇÕýÕûÊýÇÒÎÞÏàͬµÄ£¬ÊÔÉè¼ÆÀûÓÃÖ±½Ó²åÈëµÄÔ­Ôò°Ñ¸ÃÁ´±íÕûÀí³ÉÊý¾ÝµÝÔöµÄÓÐÐòµ¥Á´±íµÄËã·¨¡£

¡¾Ëã·¨·ÖÎö¡¿±¾ÌâÃ÷È·Ö¸³öµ¥Á´±í´øÍ·½áµã£¬Æä½áµãÊý¾ÝÊÇÕýÕûÊýÇÒ²»Ïàͬ£¬ÒªÇóÀûÓÃÖ±½Ó²åÈëÔ­Ôò°ÑÁ´±íÕûÀí³ÉµÝÔöÓÐÐòÁ´±í¡£Õâ¾ÍÒªÇó´ÓµÚ¶þ½áµã¿ªÊ¼£¬½«¸÷½áµãÒÀ´Î²åÈëµ½ÓÐÐò

8

Á´±íÖС£

¡¾Ëã·¨Ô´´úÂë¡¿

void InsertSort (LinkList la)

{if(la->next!=NULL) /*Á´±í²»Îª¿Õ±í*/

{p=la->next->next; /*pÖ¸ÏòµÚÒ»½áµãµÄºó¼Ì*/ la->next->next=NULL;

/*Ö±½Ó²åÈëÔ­ÔòÈÏΪµÚÒ»ÔªËØÓÐÐò£¬È»ºó´ÓµÚ¶þÔªËØÆðÒÀ´Î²åÈë*/ while(p!=NULL)

{r=p->next;/*ÔÝ´æpµÄºó¼Ì*/ q=la;

while(q->next!=NULL&&q->next->datadata)q=q->next;/*²éÕÒ²åÈëλÖÃ*/ p->next=q->next;/*½«p½áµãÁ´ÈëÁ´±í*/ q->next=p; p=r; }

12£®ÉèÓÐÒ»¸öË«ÏòÑ­»·Á´±í£¬Ã¿¸ö½áµãÖгýÓÐ prior£¬dataºÍ nextÈý¸öÓòÍ⣬»¹ÔöÉèÁËÒ»¸ö·ÃÎÊÆµ¶ÈÓòfreq¡£ÔÚÁ´±í±»ÆðÓÃ֮ǰ£¬Æµ¶ÈÓòfreqµÄÖµ¾ù³õʼ»¯ÎªÁ㣬¶øÃ¿µ±¶ÔÁ´±í½øÐÐÒ»´ÎLOCATE£¨L£¬X£©µÄ²Ù×÷ºó£¬±»·ÃÎʵĽáµã£¨ÔªËØÖµµÈÓÚXµÄ½áµã£©ÖÐµÄÆµ¶ÈÓòfreqµÄÖµ±ãÔö1£¬Í¬Ê±µ÷ÕûÁ´±íÖнáµãÖ®¼äµÄ´ÎÐò£¬Ê¹Æä°´·ÃÎÊÆµ¶È·ÇµÝÔöµÄ´ÎÐò˳ÐòÅÅÁУ¬ÒÔ±ãʼÖÕ±£³Ö±»Æµ·±·ÃÎʵĽáµã×ÜÊÇ¿¿½ü±íÍ·½áµã¡£ÊÔ±àд·ûºÏÉÏÊöÒªÇóµÄ LOCATE²Ù×÷µÄËã·¨¡£

¡¾Ëã·¨·ÖÎö¡¿

1£©ÔÚË«ÏòÁ´±íÖвéÕÒÊý¾ÝֵΪxµÄ½áµã£¬ÓÉÖ¸ÕëpÖ¸Ïò£¬ÈôÕÒ²»µ½£¬Ö±½Ó·µ»Ø£¬·ñÔòÖ´ÐеÚ2²½£»

2£©ÐÞ¸Äx½áµãµÄ·ÃÎÊÆµ¶Èfreq£¬²¢½«½áµã´ÓÁ´±íÉÏժϣ»

3£©Ë³½áµãµÄǰÇýÁ´²éÕҸýáµãµÄλÖ㬼´ÕÒµ½Ò»¸ö½áµãµÄ·ÃÎÊÆµ¶È´óÓÚx½áµãµÄ·ÃÎÊÆµ¶È£¬ÓÉÖ¸ÕëqÖ¸Ïò£»ÈôqºÍp²»ÊÇÏàÁÚ½áµã£¬µ÷ÕûλÖ㬰Ñp²åÔÚqÖ®ºó¡£ ¡¾Ëã·¨Ô´´úÂë¡¿

DuLNode * Locate_DuList(DuLinkList *L,int x) { p=(*L)->next;

while(p.data!=x&&p!= (*L)) p=p->next;

if(p==(*L)) return NULL; /*ûÕÒµ½x½áµã*/ p->freq++;

p->pre->next=p->next;p->next->pre=p->pre; /*½«x½áµã´ÓÁ´±íÉÏÕªÏÂ*/ q=p->pre;

while(q->freq<=p->freq&&p!= (*L)) q=q->pre; /*²éÕÒ²åÈëλÖÃ*/

if(q!=p->pre) /*½«x½áµã²åÈë*/

{q->next->pre=p;p->next=q->next;

q->next=p;p->pre=q; /*µ÷ÕûλÖÃ*/ }

return p;

}/*Locate_DuList */

13£®ÒÑÖªÈý¸ö´øÍ·½áµãµÄÏßÐÔÁ´±íA¡¢BºÍCÖеĽáµã¾ùÒÀÔªËØÖµ×ÔСÖÁ´ó·ÇµÝ¼õÅÅÁУ¨¿ÉÄÜ´æÔÚÁ½¸öÒÔÉÏÖµÏàͬµÄ½áµã£©£¬±àдËã·¨¶ÔA±í½øÐÐÈçϲÙ×÷£ºÊ¹²Ù×÷ºóµÄÁ´±íAÖнöÁôÏÂÈý¸ö±íÖоù°üº¬µÄÊý¾ÝÔªËØµÄ½áµã£¬ÇÒûÓÐÖµÏàͬµÄ½áµã£¬²¢ÊÍ·ÅËùÓÐÎÞÓýáµã¡£ÏÞ¶¨Ëã·¨µÄʱ¼ä¸´ÔÓ¶ÈΪO£¨m+n+p£©£¬ÆäÖÐm¡¢nºÍp·Ö±ðΪÈý¸ö±íµÄ³¤¶È¡£

¡¾Ëã·¨·ÖÎö¡¿ÁôÏÂÈý¸öÁ´±íÖй«¹²Êý¾Ý£¬Ê×ÏȲéÕÒÁ½±íAºÍBÖй«¹²Êý¾Ý£¬ÔÙÈ¥CÖÐÕÒÓÐÎÞ¸ÃÊý¾Ý¡£ÒªÏû³ýÖØ¸´ÔªËØ£¬Ó¦¼ÇסǰÇý£¬ÒªÇóʱ¼ä¸´ÔÓ¶ÈO£¨m+n+p£©£¬ÔÚ²éÕÒÿ¸öÁ´±íʱ£¬Ö¸Õë²»ÄÜ»ØËÝ¡£ ¡¾Ëã·¨Ô´´úÂë¡¿

9

LinkList Common(LinkList A, LinkList B, LinkList C)

{pa=A->next;pb=B->next; pc=C->next; /*pa£¬pbºÍpcÊǹ¤×÷Ö¸Õë*/ pre=A;

while(pa && pb && pc) /*µ±Èý±í¾ù²»¿Õʱ£¬²éÕÒ¹²Í¬ÔªËØ*/ { while(pa && pb)

if(pa->datadata) /*´¦Àípa½áµã£¬ºóÒÆÖ¸Õë*/ {u=pa;pa=pa->next;free(u);}

else if(pa->data> pb->data)pb=pb->next;

else if (pa && pb) /*´¦ÀíAºÍB±íÔªËØÖµÏàµÈµÄ½áµã*/ {while(pc && pc->datadata)pc=pc->next; if(pc)

{if(pc->data>pa->data) /*´¦Àípa½áµã£¬ºóÒÆÖ¸Õë*/ {u=pa;pa=pa->next;free(u);} else

{if(pre==A) /*½á¹û±íÖеÚÒ»¸ö½áµã*/ { pre->next=pa;pre=pa;pa=pa->next}

else if(pre->data==pa->data) /*ÖØ¸´½áµã²»Á´ÈëA±í*/ {u=pa;pa=pa->next;free(u);} else

{pre->next=pa;pre=pa;pa=pa->next;}/*½«Ð½áµãÁ´ÈëA±í */ pb=pb->next;pc=pc->next; /* Á´±íµÄ¹¤×÷Ö¸ÕëºóÒÆ*/ } } else

if(pa==NULL)pre->next=NULL; /*ÈôA±íÒѽáÊø£¬ÖÃA±í±íβ*/ else /*´¦ÀíÔ­A±íδµ½Î²¶øB»òCµ½Î²µÄÇé¿ö*/ {pre->next=NULL; /*ÖÃA±í±íβ±ê¼Ç*/

while(pa!=NULL) /*ɾ³ýÔ­A±íÊ£ÓàÔªËØ¡£*/ {u=pa;pa=pa->next;free(u);} } }

14£®Éè headΪһµ¥Á´±íµÄÍ·Ö¸Õ룬µ¥Á´±íµÄÿ¸ö½áµãÓÉÒ»¸öÕûÊýÓòdataºÍÖ¸ÕëÓònext×é³É£¬ÕûÊýÔÚµ¥Á´±íÖÐÊÇÎÞÐòµÄ¡£±àÒ»º¯Êý£¬½« headÁ´Öнáµã·Ö³ÉÒ»¸öÆæÊýÁ´ºÍÒ»¸öżÊýÁ´£¬·Ö±ðÓÉp£¬qÖ¸Ïò£¬Ã¿¸öÁ´ÖеÄÊý¾Ý°´ÓÉСµ½´óÅÅÁС£³ÌÐòÖв»µÃʹÓÃmallocÉêÇë¿Õ¼ä¡£

¡¾Ëã·¨·ÖÎö¡¿±¾ÌâÒªÇó½«Ò»¸öÁ´±í·Ö½â³ÉÁ½¸öÁ´±í£¬Á½¸öÁ´±í¶¼ÒªÓÐÐò£¬Á½Á´±í½¨Á¢¹ý³ÌÖв»µÃʹÓÃmallocÉêÇë¿Õ¼ä£¬Õâ¾ÍÊÇÒªÀûÓÃÔ­Á´±í¿Õ¼ä£¬Ëæ×ÅÔ­Á´±íµÄ·Ö½â£¬Ð½¨Á´±íËæÖ®ÅÅÐò¡£

¡¾Ëã·¨Ô´´úÂë¡¿

discreat(LinkList p, LinkList q, LinkList head)

{ p=NULL; q=NULL;/*pºÍqÁ´±í³õʼ»¯Îª¿Õ±í*/ s=head;

while(s!=NULL)

{r=s->next; /*ÔÝ´æsµÄºó¼Ì*/ if(s->data%2==0) /*´¦ÀíżÊý*/

if (p==NULL) {p=s;p->next=NULL;} /*µÚÒ»¸öżÊý½áµã*/ else { pre=p;

if(pre->data>s->data)

{s->next=pre;p=s;}/*²åÈ뵱ǰ×îСֵ½áµã*/ else

{while (pre->next!=NULL)

if (pre->next->datadata) pre=pre->next;/*²éÕÒ²åÈëλÖÃ*/

s->next=pre->next; /*Á´Èë½áµã*/

10

pre->next=s;} }

else/*´¦ÀíÆæÊýÁ´

if (q==NULL) {q=s;q->next=NULL;} /*µÚÒ»ÆæÊý½áµã*/ else

{pre=q;

if (pre->data>s->data) {s->next=pre; q=s;} /*ÐÞ¸ÄÍ·Ö¸Õë*/ else

{while (pre->next!=NULL) /*²éÕÒ²åÈëλÖÃ*/ if (pre->next->datadata) pre=pre->next; s->next=pre->next; /*Á´Èë½áµã*/ pre->next=s; } }/*½áÊøÆæÊýÁ´½áµã*/ s=r; /*sÖ¸ÏòеĴýÅÅÐò½áµã*/ } }

µÚ3Õ —CºÍ¶ÓÁÐ

3.1 Ñ¡ÔñÌâ

1£®Ò»¸öÕ»µÄÊäÈëÐòÁÐΪ123?n£¬ÈôÊä³öÐòÁеĵÚÒ»¸öÔªËØÊÇn£¬Êä³öµÚi£¨1¡Üi¡Ün£©¸öÔªËØÊÇ£¨ £©

A£©²»È·¶¨ B£©n-i+1 C£©i D£©n-i ¡¾´ð°¸¡¿B

¡¾½âÎö¡¿¸ù¾ÝÕ»µÄÐÔÖÊ£¨LIFO£©£¬ÈôÊä³öµÄµÚÒ»¸öÔªËØÊÇn£¬Ôò±íÃ÷ËùÓеÄÔªËØÒѾ­ÈëÕ»£¬Ôò³öջ˳ÐòΪn£¬n-1£¬ ?£¬3£¬2£¬1¡£

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

A£©6 B£©4 C£©3 D£©2 ¡¾´ð°¸¡¿C

¡¾½âÎö¡¿¸ù¾ÝÕ»µÄÐÔÖÊ£¨LIFO£©µÃ£¬e2³öջǰ£¬Õ»ÖдæÓÐe1ºÍe2Á½¸öÔªËØ£¬e4³öջǰ£¬Õ»ÖдæÓÐe1¡¢e3ºÍe4Èý¸öÔªËØ£¬e4ºÍe3³öÕ»ÒÔºó£¬e5ºÍe6ÈëÕ»£¬Õ»ÖÐͬÑù´æÔÚe1¡¢e5ºÍe6Èý¸öÔªËØ£¬È»ºóÈý¸öÔªËØÒÀ´Î³öÕ»£¬ËùÒÔÕ»µÄÈÝÁ¿ÖÁÉÙÓ¦¸ÃΪ3¡£

3£®ÈôÒ»¸öÕ»ÒÔÏòÁ¿V[1..n]´æ´¢£¬³õʼջ¶¥Ö¸ÕëtopΪn+1£¬ÔòÏÂÃæx½øÕ»µÄÕýÈ·²Ù×÷ÊÇ£¨ £© A£©top=top+1; V[top]=x B£©V[top]=x; top=top+1 C£©top=top-1; V[top]=x D£©V[top]=x; top=top-1 ¡¾´ð°¸¡¿C ¡¾½âÎö¡¿Õ»Ê½ÔËËãÊÜÏÞµÄÏßÐÔ±í£¬Ö»ÔÊÐíÔÚÕ»¶¥½øÐвåÈëºÍɾ³ý²Ù×÷¡£±¾ÌâÖÐÕ»¶¥Ö¸ÕëΪn+1£¬¸ÃÊý×齫ջ¶¥·ÅÔÚÁËϱê´óµÄÒ»¶Ë£¬ËùÒÔÔÚ½øÐÐÈëÕ»²Ù×÷ʱtopÖ¸ÕëÓ¦¸Ã½øÐмõÒ»²Ù×÷¡£Í¨³£ÔªËؽøÕ»µÄ²Ù×÷Ϊ£ºÏÈÒÆ¶¯Õ»¶¥Ö¸Õëºó´æÈëÔªËØ¡£

4£®Èç¹ûÎÒÃÇÓÃÊý×éA[1..100]À´ÊµÏÖÒ»¸ö´óСΪ100µÄÕ»£¬²¢ÇÒÓñäÁ¿topÀ´Ö¸Ê¾Õ»¶¥£¬topµÄ³õֵΪ0£¬±íʾջ¿Õ¡£ÇëÎÊÔÚtopΪ100ʱ£¬ÔÙ½øÐÐÈëÕ»²Ù×÷£¬»á²úÉú£¨ £© A£©Õý³£¶¯×÷ B£©Òç³ö C£©ÏÂÒç D£©Í¬²½ ¡¾´ð°¸¡¿B

¡¾½âÎö¡¿µ±topΪ100ʱ£¬±íʾջÒѾ­ÂúÁË£¬´ËʱÔÙ½øÐÐÈëÕ»²Ù×÷£¬Ôò»áÔì³ÉÒç³ö¡£

5£®Õ»ÔÚ£¨ £©ÖÐÓ¦Óá£

11

A£©µÝ¹éµ÷Óà B£©×Ó³ÌÐòµ÷Óà C£©±í´ïʽÇóÖµ D£©A£¬£Â£¬£Ã ¡¾´ð°¸¡¿D

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

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

¡¾½âÎö¡¿Èô¶ÓÁÐÖеÄÔªËØ¶àÓÚÒ»¸ö£¬É¾³ý¶ÓÁÐÖеĶÓÎ²ÔªËØ£¬Ö»ÐèÐ޸ĶÓβָÕ룻Èô¶ÓÁÐÖÐÖ»ÓÐÒ»¸öÔªËØ£¬É¾³ý¸ÃÔªËØºó£¬¶ÓÍ·¶ÓβָÕë¶¼ÐèÒªÐ޸ġ£

8£®Ñ­»·¶ÓÁÐA[0..m-1]´æ·ÅÆäÔªËØÖµ£¬ÓÃfrontºÍrear·Ö±ð±íʾ¶ÓÍ·ºÍ¶Ó⣬Ôòµ±Ç°¶ÓÁÐÖеÄÔªËØÊýÊÇ( )

A£©(rear-front+m)%m B£©rear-front+1 C£©rear-front-1 D£©rear-front ¡¾´ð°¸¡¿A

¡¾½âÎö¡¿Ñ­»·¶ÓÁÐÊǽâ¾ö¼ÙÒç³öµÄÎÊÌ⣬ͨ³£°ÑһάÊý×é¿´³ÉÊ×βÏà½Ó¡£ÔÚÑ­»·ÒâÒåϵÄÇóÔªËØ¸öÊýµÄÔËËã¿ÉÒÔÀûÓÃÇóÄ£ÔËËã¡£

9£®ÈôÓÃÒ»¸ö´óСΪ6µÄÊý×éÀ´ÊµÏÖÑ­»·¶ÓÁУ¬ÇÒµ±Ç°rearºÍfrontµÄÖµ·Ö±ðΪ0ºÍ3£¬µ±´Ó¶ÓÁÐÖÐɾ³ýÒ»¸öÔªËØ£¬ÔÙ¼ÓÈëÁ½¸öÔªËØºó£¬rearºÍfrontµÄÖµ·Ö±ðΪ¶àÉÙ£¿( ) A£©1ºÍ 5 B£©2ºÍ4 C£©4ºÍ2 D£©5ºÍ1 ¡¾´ð°¸¡¿B

¡¾½âÎö¡¿Ñ­»·¶ÓÁÐÊǽâ¾ö¼ÙÒç³öµÄÎÊÌ⣬ͨ³£°ÑһάÊý×é¿´³ÉÊ×βÏà½Ó¡£ÔÚÑ­»·ÒâÒåϵļÓ1ÔËËãͨ³£ÓÃÇóÄ£ÔËËãÀ´ÊµÏÖ¡£ËùÒÔÈë¶ÓºÍ³ö¶ÓʱµÄ²Ù×÷·Ö±ðΪ£ºrear=(rear+1)%m£¬front=(front+1)%m¡£

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

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

¡¾½âÎö¡¿Õ»ºÍ¶ÓÁж¼ÊÇÔËËãÊÜÏÞµÄÏßÐÔ±í£¬Ö»ÔÊÐíÔÚ±í¶Ëµã´¦½øÐвÙ×÷¡£ 11£®ÔÚÒ»¸öÁ´¶ÓÁÐÖУ¬¼Ù¶¨frontºÍrear·Ö±ðΪ¶ÓÍ·ºÍ¶ÓβָÕ룬Ôò²åÈë*s½áµãµÄ²Ù×÷Ϊ£¨ £© A£©front->next=s;front=s; B£©s->next=rear;rear=s; C£©rear->next=s;rear=s; D£©s->next=front;front=s; ¡¾´ð°¸¡¿C

¡¾½âÎö¡¿¶ÓÁÐÊÇÔËËãÊÜÏÞµÄÏßÐÔ±í£¨FIFO£©£¬²åÈëÔªËØÖ»ÄܲåÔÚ¶Ó⣬ËùÒÔÐèÐ޸ĶÓβָÕë¡£

12£®Åж¨Ò»¸öÕ»S£¨ÔªËظöÊý×î¶àΪMAXSIZE£©Îª¿ÕºÍÂúµÄÌõ¼þ·Ö±ðΪ£¨ £© A£©S->top!=-1 S->top!=MAXSIZE-1 B£©S->top=-1 S->top=MAXSIZE-1 C£©S->top=-1 S->top!=MAXSIZE-1 D£©S->top!=-1 S->top=MAXSIZE-1 ¡¾´ð°¸¡¿B

3.2 Ìî¿ÕÌâ

1£®Õ»ÊÇ_____________µÄÏßÐÔ±í£¬ÆäÔËËã×ñÑ­_____________µÄÔ­Ôò¡£ ¡¾´ð°¸¡¿£¨1£©²Ù×÷ÊÜÏÞ£¨»òÏÞ¶¨½öÔÚ±íβ½øÐвåÈëºÍɾ³ý²Ù×÷£© £¨2£©ºó½øÏȳö

2£®ÉèÓÐÒ»¸ö¿ÕÕ»£¬Õ»¶¥Ö¸ÕëΪ1000H(Ê®Áù½øÖÆ)£¬ÏÖÓÐÊäÈëÐòÁÐΪ1£¬2£¬3£¬4£¬5£¬¾­¹ýPUSH,PUSH,POP,PUSH,POP,PUSH,PUSHÖ®ºó£¬Êä³öÐòÁÐÊÇ_____________£¬¶øÕ»¶¥Ö¸ÕëÖµ

12

ÊÇ_____________H¡£ÉèջΪ˳ÐòÕ»£¬Ã¿¸öÔªËØÕ¼4¸ö×Ö½Ú¡£ ¡¾´ð°¸¡¿£¨1£©23 £¨2£©100CH

¡¾½âÎö¡¿PUSHΪÈëÕ»²Ù×÷£¬POPΪ³öÕ»²Ù×÷¡£¸ù¾ÝÕ»µÄÐÔÖÊ£¬¾­¹ýPUSH,PUSH,POPÔËËãÖ®ºó£¬Õ»ÖдæÔÚÔªËØ1£¬Êä³öÊý¾ÝΪ2£¬È»ºó¾­¹ýPUSH,POP£¬3ÈëÕ»£¬3³öÕ»£¬È»ºó¾­¹ýPUSH,PUSHÖ®ºó4£¬5ÈëÕ»£¬´Ëʱ³öÕ»ÐòÁÐΪ2£¬3£¬Õ»ÖÐÔªËØÎª1£¬4£¬5£»Ã¿¸öÔªËØÕ¼4¸ö×Ö½Ú£¬ËùÒÔÕ»¶¥Ö¸ÕëµÄֵΪ1000H+3*4=100CH£¨Ê®Áù½øÖÆÊý£©

3£®Ñ­»·¶ÓÁеÄÒýÈ룬ĿµÄÊÇΪÁ˿˷þ_____________¡£ ¡¾´ð°¸¡¿¼ÙÒç³öʱ´óÁ¿Òƶ¯Êý¾ÝÔªËØ¡£

4£®¶ÓÁÐÊÇÏÞÖÆ²åÈëÖ»ÄÜÔÚ±íµÄÒ»¶Ë£¬¶øÉ¾³ýÔÚ±íµÄÁíÒ»¶Ë½øÐеÄÏßÐÔ±í£¬ÆäÌØµãÊÇ_____________¡£ ¡¾´ð°¸¡¿ÏȽøÏȳö

5£®ÒÑÖªÁ´¶ÓÁеÄͷβָÕë·Ö±ðÊÇfºÍr£¬Ôò½«ÖµxÈë¶ÓµÄ²Ù×÷ÐòÁÐÊÇ_____________¡£ ¡¾´ð°¸¡¿

s=(LinkList)malloc(sizeof(LNode)); s->data=x;

s->next=r->next; r->next=s; r=s;

¡¾½âÎö¡¿¸ù¾Ý¶ÓÁеÄÐÔÖÊ£¬Ð²åÈëµÄÔªËØÓÀÔ¶²åÔÚ¶Óβ¡£

8£®ÓÃϱê0¿ªÊ¼µÄNÔªÊý×éʵÏÖÑ­»·¶ÓÁÐʱ£¬ÎªÊµÏÖϱê±äÁ¿M¼Ó1ºóÔÚÊý×éÓÐЧϱ귶ΧÄÚÑ­»·£¬¿É²ÉÓõıí´ïʽÊÇ£ºM=_____________¡£ ¡¾´ð°¸¡¿(M+1)% N£»

¡¾½âÎö¡¿Ñ­»·¶ÓÁÐÊǽâ¾ö¼ÙÒç³öµÄÎÊÌ⣬ͨ³£°ÑһάÊý×é¿´³ÉÊ×βÏà½Ó¡£ÔÚÑ­»·ÒâÒåϵļÓ1ÔËËãͨ³£ÓÃÇóÄ£ÔËËãÀ´ÊµÏÖ¡£

9£®µ±Á½¸öÕ»¹²ÏíÒ»´æ´¢ÇøÊ±£¬Õ»ÀûÓÃһάÊý×éstack[1..n]±íʾ£¬Á½Õ»¶¥Ö¸ÕëΪtop[1]Óëtop[2]£¬Ôòµ±Õ»1¿Õʱ£¬top[1]Ϊ_____________£¬Õ»2¿Õʱ£¬top[2]Ϊ_____________£¬Õ»ÂúʱΪ_____________¡£ ¡¾´ð°¸¡¿£¨1£©0 £¨2£©n+1 £¨3£©top[1]+1=top[2]

¡¾½âÎö¡¿ÎªÁËÔö¼ÓÄÚ´æ¿Õ¼äµÄÀûÓÃÂʺͼõÉÙÒç³öµÄ¿ÉÄÜÐÔ,ÓÉÁ½¸öÕ»¹²ÏíһƬÁ¬ÐøµÄÄÚ´æ¿Õ¼äʱ,Ó¦½«Á½Õ»µÄÕ»µ×·Ö±ðÉèÔÚÕâÆ¬ÄÚ´æ¿Õ¼äµÄÁ½¶Ë,ÕâÑù,µ±Á½¸öÕ»µÄÕ»¶¥ÔÚÕ»¿Õ¼äµÄijһλÖÃÏàÓöʱ£¬²Å²úÉúÉÏÒ磬¼´top[1]+1=top[2]¡£

10£®ÔÚ×÷½øÕ»ÔËËãʱӦÏÈÅбðÕ»ÊÇ·ñ_____________£»ÔÚ×÷ÍËÕ»ÔËËãʱӦÏÈÅбðÕ»ÊÇ·ñ _____________£»µ±Õ»ÖÐÔªËØÎªn¸ö£¬×÷½øÕ»ÔËËãʱ·¢ÉúÉÏÒ磬Ôò˵Ã÷¸ÃÕ»µÄ×î´óÈÝÁ¿Îª_____________¡£

ΪÁËÔö¼ÓÄÚ´æ¿Õ¼äµÄÀûÓÃÂʺͼõÉÙÒç³öµÄ¿ÉÄÜÐÔ£¬ÓÉÁ½¸öÕ»¹²ÏíһƬÁ¬ÐøµÄ¿Õ¼äʱ£¬Ó¦½«Á½Õ»µÄ_____________·Ö±ðÉèÔÚÄÚ´æ¿Õ¼äµÄÁ½¶Ë£¬ÕâÑùÖ»Óе±______________ʱ²Å²úÉúÒç³ö¡£ ¡¾´ð°¸¡¿£¨1£©Âú £¨2£©¿Õ £¨3£©n £¨4£©Õ»µ× £¨5£©Á½Õ»¶¥Ö¸ÕëÏàÁÚ 13£®ÎÞÂÛ¶ÔÓÚ˳Ðò´æ´¢»¹ÊÇÁ´Ê½´æ´¢µÄÕ»ºÍ¶ÓÁÐÀ´Ëµ£¬½øÐвåÈëºÍɾ³ýÔËËãµÄʱ¼ä¸´ÔӶȾùÏàͬΪ_____________¡£ ¡¾´ð°¸¡¿O(1)

¡¾½âÎö¡¿¶ÔÓÚÕ»ÓÃÕ»¶¥Ö¸Õë±íʾջ¶¥£¬¶øÕ»µÄ²åÈëºÍɾ³ý²Ù×÷¾ùÔÚÕ»¶¥½øÐС£¶ÔÓÚ¶ÓÁÐÓöÓÍ·ºÍ¶ÓβָÕë·Ö±ð±íʾÔÊÐí²åÈëºÍɾ³ýµÄÒ»¶Ë¡£

14£®ÔÚ˳Ðò¶ÓÁÐÖУ¬µ±Î²Ö¸ÕëµÈÓÚÊý×éµÄÉϽ磬¼´Ê¹¶ÓÁв»Âú£¬ÔÙ×÷Èë¶Ó²Ù×÷Ò²»á²úÉúÒç³ö£¬ÕâÖÖÏÖÏó³ÆÎª_____________¡£

13

¡¾´ð°¸¡¿¼ÙÒç³ö

¡¾½âÎö¡¿²úÉú¸ÃÏÖÏóµÄÔ­ÒòÊÇ£¬±»É¾ÔªËؿռäÔÚ¸ÃÔªËØ±»É¾³ýºó¾ÍÓÀÔ¶µÃ²»µ½Ê¹Óá£ÎªÁ˿˷þÕâÖÖÏÖÏ󣬲ÉÓÃÑ­»·¶ÓÁÐÀ´ÊµÏÖ¡£

3.5 ³ÌÐòÉè¼ÆÌâ

1£®Éè±í´ïʽÒÔ×Ö·ûÐÎʽÒÑ´æÈëÊý×éE[n]ÖУ¬¡®#¡¯Îª±í´ïʽµÄ½áÊø·û£¬ÊÔд³öÅжϱí´ïʽÖÐÀ¨ºÅ£¨¡®£¨¡¯ºÍ¡®£©¡¯£©ÊÇ·ñÅä¶ÔµÄCÓïÑÔÃèÊöËã·¨£ºEXYX(E); (×¢£ºËã·¨Öпɵ÷ÓÃÕ»²Ù×÷µÄ»ù±¾Ëã·¨¡£)

¡¾Ëã·¨·ÖÎö¡¿Åжϱí´ïʽÖÐÀ¨ºÅÊÇ·ñÆ¥Å䣬¿Éͨ¹ýÕ»£¬¼òµ¥ËµÊÇ×óÀ¨ºÅʱ½øÕ»£¬ÓÒÀ¨ºÅʱÍËÕ»¡£ÍËջʱ£¬ÈôÕ»¶¥ÔªËØÊÇ×óÀ¨ºÅ£¬ÔòжÁÈëµÄÓÒÀ¨ºÅÓëÕ»¶¥×óÀ¨ºÅ¾Í¿ÉÏûÈ¥¡£Èç´ËÏÂÈ¥£¬ÊäÈë±í´ïʽ½áÊøÊ±£¬Õ»Îª¿ÕÔòÕýÈ·£¬·ñÔòÀ¨ºÅ²»Æ¥Åä¡£ ¡¾Ëã·¨Ô´´úÂë¡¿ int EXYX (char E[]){

/*E[]´æ·Å×Ö·û´®±í´ïʽ£¬ÒÔ¡®#¡¯½áÊø*/

char s[30]; /*sÊÇһάÊý×飬ÈÝÁ¿×ã¹»´ó£¬ÓÃ×÷´æ·ÅÀ¨ºÅµÄÕ»*/ int top=0,i; /*topÓÃ×÷Õ»¶¥Ö¸Õë*/

s[top]='#'; /*¡®#¡¯ÏÈÈëÕ»£¬ÓÃÓںͱí´ïʽ½áÊø·ûºÅ¡®#¡¯Æ¥Åä*/ i=0; /*×Ö·ûÊý×éEµÄ¹¤×÷Ö¸Õë*/

while(E[i]!='#') /*Öð×Ö·û´¦Àí×Ö·û±í´ïʽµÄÊý×é*/ switch (E[i])

{case '(': s[++top]= '('; i++ ; break ;

case ')': if(s[top]=='('){top--; i++; break;}

else{printf(\À¨ºÅ²»Åä¶Ô\ case '#': if(s[top]=='#'){printf(\À¨ºÅÅä¶Ô\\n\

else {printf(\À¨ºÅ²»Åä¶Ô\\n\À¨ºÅ²»Åä¶Ô*/ default : i++; /*¶ÁÈëÆäËü×Ö·û£¬²»×÷´¦Àí*/ }

}/*Ëã·¨½áÊø*/

2£®¼ÙÉèÒÔ´øÍ·½áµãµÄÑ­»·Á´±í±íʾ¶ÓÁУ¬²¢ÇÒÖ»ÉèÒ»¸öÖ¸ÕëÖ¸Ïò¶Óβ½áµã£¬µ«²»ÉèÍ·Ö¸Õ룬Çëд³öÏàÓ¦µÄÈë¶ÓÁкͳö¶ÓÁÐËã·¨¡£ ¡¾Ëã·¨·ÖÎö¡¿

¸ù¾Ý¶ÓÁеÄÏȽøÏȳöµÄÐÔÖÊ£¬¶ÓÁеÄÈë¶Ó²Ù×÷ÔÚ¶Óβ½øÐУ¬³ö¶Ó²Ù×÷ÔÚ¶ÓÍ·½øÐС£¶øÌâÄ¿Ëù²ÉÓõÄÊý¾Ý½á¹¹ÊÇÖ»ÉèÒ»¸öβָÕëµÄÑ­»·Á´±í¡£ÎÒÃÇ¿ÉÒÔ¸ù¾ÝÑ­»·Á´±íµÄÌØµãÕÒµ½Í·Ö¸Õë¡£ ¡¾Ëã·¨Ô´´úÂë1¡¿

void EnQueue (LinkList rear, ElemType x)

/* rearÊÇ´øÍ·½áµãµÄÑ­»·Á´¶ÓÁеÄβָÕ룬±¾Ëã·¨½«ÔªËØx²åÈëµ½¶Óβ*/ { s=(LinkList)malloc(sizeof(LNode)); /*ÉêÇë½áµã¿Õ¼ä*/

s->data=x; s->next=rear->next; /*½«s½áµãÁ´Èë¶Óβ*/ rear->next=s; rear=s; /*rearÖ¸ÏòжÓβ*/ }

¡¾Ëã·¨Ô´´úÂë2¡¿

void DeQueue (LinkList rear)

/* rearÊÇ´øÍ·½áµãµÄÑ­»·Á´¶ÓÁеÄβָÕ룬±¾Ëã·¨Ö´Ðгö¶Ó²Ù×÷£¬²Ù×÷³É¹¦Êä³ö¶ÓÍ·ÔªËØ£»·ñÔò¸ø³ö³ö´íÐÅÏ¢*/

{ if(rear->next==rear) {printf(\¶Ó¿Õ\\n\

s=rear->next->next; /*sÖ¸Ïò¶ÓÍ·ÔªËØ*/ rear->next->next=s->next; /*¶ÓÍ·ÔªËØ³ö¶Ó*/ printf (\³ö¶ÓÔªËØÊÇ:%d\

if(s==rear) rear=rear->next; /*¿Õ¶ÓÁÐ*/ free(s); }

14

3£®ÉèÕûÊýÐòÁÐa1£¬a2£¬?£¬an£¬¸ø³öÇó½â×î´óÖµµÄµÝ¹é³ÌÐò¡£ ¡¾Ëã·¨·ÖÎö¡¿¸ù¾ÝÌâÒ⣬±¾ÌâµÄº¯Êý¶¨ÒåΪ£º

a[1] n=1 maxvalue(a,n)= a[n] a[n]>maxvalue(a,n-1)

maxvalue(a,n-1) a[n]

int MaxValue (int a[],int n)

/*ÉèÕûÊýÐòÁдæÓÚÊý×éaÖУ¬¹²ÓÐn¸ö£¬±¾Ëã·¨Çó½âÆä×î´óÖµ*/ {int max;

if (n==1) max=a[1];

else if (a[n]>MaxValue(a,n-1)) max=a[n]; else max=MaxValue(a,n-1); return(max); }

4£®ÊÔ½«ÏÂÁеݹ麯Êý¸ÄдΪ·ÇµÝ¹éº¯Êý¡£ void test(int *sum) {

int x;

scanf(\if(x==0) *sum=0 ;

else {test(&sum); (*sum)+=x;} printf(\}

¡¾Ëã·¨·ÖÎö¡¿

¸Ãº¯ÊýÊÇÒÔ¶ÁÈëÊý¾ÝµÄ˳ÐòΪÏ෴˳Ðò½øÐÐÀÛ¼ÓÎÊÌ⣬¿É½«¶ÁÈëÊý¾Ý·ÅÈëÕ»ÖУ¬µÈÊäÈë½áÊøÊ±£¬½«Õ»ÖÐÊý¾ÝÍ˳ö½øÐÐÀÛ¼Ó¡£ÀۼӵijõֵΪ0¡£ ¡¾Ëã·¨Ô´´úÂë¡¿ int test() {

int x,sum=0,top=0,s[30]; scanf(\while (x!=0)

{s[++top]=a; scanf(\printf(\while (top)

{sum+=s[top--]; printf(\ }

5£®±àдһ¸öËã·¨£¬ÀûÓÃÕ»µÄ»ù±¾ÔËË㽫ָ¶¨Õ»ÖеÄÄÚÈݽøÐÐÄæ×ª¡£ ¡¾Ëã·¨·ÖÎö¡¿

ÀûÓÃÁ½¸öÁÙʱջs1ºÍs2¡£ÏȽ«sÕ»ÖеÄÄÚÈÝÒÆµ½s1Õ»ÖУ¬ÔÙ½«s1Õ»ÖеÄÄÚÈÝÒÆµ½s2Õ»ÖУ¬×îºó½«s2Õ»ÖеÄÄÚÈÝÒÆµ½sÕ»ÖУ¬¼´¿ÉʵÏÖ¡£ ¡¾Ëã·¨Ô´´úÂë¡¿ reverse(SqStack *s)

{SqStack *s1,*s2; /*s,s1,s2¾ùΪջÀàÐÍ

ElemType x; /*Õ»ÖÐÔªËØµÄÀàÐÍ£¬ÓÃÓÚ´æ´¢´ÓÕ»ÖÐÈ¡³öÔªËØµÄÁÙʱ±äÁ¿*/ initstack(s1); /*Õ»µÄ³õʼ»¯*/ initstack(s2);

while(!stackempty(s)) /*Èç¹ûÕ»²»¿Õ£¬½«sÕ»ÖеÄÄÚÈÝÒÆµ½s1Õ»ÖÐ*/ {pop(s,x); /*ȡջ¶¥ÔªËØ·ÅÈë±äÁ¿xÖÐ*/ push(s1,x); /*½«±äÁ¿xÈëÕ»*/ }

while(!stackempty(s1)) /*Èç¹ûÕ»²»¿Õ£¬½«s1Õ»ÖеÄÄÚÈÝÒÆµ½s2Õ»ÖÐ*/

15

{pop(s1,x); push(s2,x); }

while(!stackempty(s2)) /*Èç¹ûÕ»²»¿Õ£¬½«s2Õ»ÖеÄÄÚÈÝÒÆµ½sÕ»ÖÐ*/ {pop(s2,x); push(s,x); } }

6£®¼ÙÉèÑ­»·¶ÓÁÐÖÐÖ»ÉèrearºÍlengthÀ´·Ö±ðָʾ¶ÓÎ²ÔªËØµÄλÖúͶÓÖÐÔªËØµÄ¸öÊý£¬ÊÔ¸ø³öÅбð´ËÑ­»·¶ÓÁеĶÓÂúÌõ¼þ£¬²¢Ð´³öÏàÓ¦µÄÈë¶ÓºÍ³ö¶ÓËã·¨£¬ÒªÇó³ö¶ÓʱÐè·µ»Ø¶ÓÍ·ÔªËØ¡£ ¡¾Ëã·¨·ÖÎö¡¿

¸ÃÌâµÄ¹Ø¼üÎÊÌâÊÇÈçºÎÈ·¶¨Í·Ö¸Õ룬¸ù¾ÝΪָÕërearºÍÔªËØ¸öÊýlengthºÜÈÝÒ×È·¶¨Í·Ö¸Õë¡£front=(rear-length+MAXSIZE)%MAXSIZE ¡¾Ëã·¨Ô´´úÂë¡¿

#define MAXQSIZE 100 //×î´ó¶ÓÁг¤¶È typedef int ElemType; typedef struct {

ElemType data[MAXSIZE]; //¶ÓÁд洢¿Õ¼ä

int rear; //βָÕ룬Èô¶ÓÁв»¿Õ£¬Ö¸Ïò¶ÓÁÐÎ²ÔªËØ int length; //¶ÓÁÐÄÚº¬ÔªËصĸöÊý }CyQueue;

int FullQueue( CyQueue *Q)

{/*ÅжÓÂú,¶ÓÖÐÔªËØ¸öÊýµÈÓÚ¿Õ¼ä´óС*/ return Q->length==Maxsize; }

void EnQueue( CyQueue *Q, ElemType x) {/* Èë¶Ó

if(FullQueue( Q)) {printf(\¶ÓÒÑÂú£¬ÎÞ·¨Èë¶Ó\ Q->Data[Q->rear]=x;

Q->rear=(Q->rear+1)%MAXSIZE /*ÔÚÑ­»·ÒâÒåÉϵļÓ1*/ Q->length++; }

ElemType DeQueue( CyQueue *Q) {/*³ö¶Ó*/

int front; /*ÉèÒ»¸öÁÙʱ¶ÓÍ·Ö¸Õë*/ if(Q->length==0)

Error(\¶ÓÒѿգ¬ÎÞÔªËØ¿É³ö¶Ó\

front=(Q->rear + MAXSIZE - Q->length)%MAXSIZE; Q->length --;

return Q->Data[front]; }

7£®Ò»¸öË«ÏòÕ»SÊÇÔÚͬһÏòÁ¿¿Õ¼äÄÚʵÏÖµÄÁ½¸öÕ»£¬ËüÃǵÄÕ»µ×·Ö±ðÉèÔÚÏòÁ¿¿Õ¼äµÄÁ½¶Ë¡£ ÊÔΪ´ËË«ÏòÕ»Éè¼Æ³õʼ»¯InitStack ( S ) ¡¢ÈëÕ»Push( S , i , x) ºÍ³öÕ»Pop( S , i )µÈËã·¨£¬ ÆäÖÐiΪ0 »ò1£¬ ÓÃÒÔ±íʾջºÅ¡£ ¡¾Ëã·¨·ÖÎö¡¿

Ë«ÏòÕ»ÆäʵºÍµ¥ÏòÕ»Ô­ÀíÏàͬ£¬Ö»ÊÇÔÚÒ»¸öÏòÁ¿¿Õ¼äÄÚ£¬ºÃ±ÈÊÇÁ½¸öÍ·¶ÔÍ·µÄÕ»·ÅÔÚÒ»Æð£¬ÖмäµÄ¿Õ¼ä¿ÉÒÔ³ä·ÖÀûÓᣠ¡¾Ëã·¨Ô´´úÂë¡¿

void InitStack( DuStack *S )/*³õʼ»¯Ë«ÏòÕ»*/ {S->top[0] = -1;

S->top[1] = STACKSIZE; }

16

int EmptyStack( DuStack *S, int i ) /*ÅÐÕ»¿Õ(Õ»ºÅ i) */

{return (i == 0 && S->top[0] == -1|| i == 1 && S->top[1] == STACKSIZE) ; }

int FullStack( DuStack *S)

/*ÅÐÕ»Âú,Âúʱ¿Ï¶¨Á½Í·ÏàÓö*/ {return (S->top[0] == S-top1-1); }

void Push(DuStack *S, int i, ElemType x) /*½øÕ»(Õ»ºÅi) */ {if (FullStack( S ))

Error(\ÉÏÒç¡¢Í˳öÔËÐÐ*/ if ( i == 0) S->Data[ ++ S->top0]= x; /*Õ»0ÈëÕ»*/ if ( i == 1) S->Data[ -- S->top[1] ]= x; /* Õ»1ÈëÕ»*/ }

ElemType Pop(DuStack *S, int i) /*³öÕ»(Õ»ºÅi) */

{if (EmptyStack ( S,i) )

Error(\ÏÂÒçÍ˳ö*/ if( i==0 )

return ( S->Data[ S->top0--] );/*·µ»ØÕ»¶¥ÔªËØ£¬Ö¸ÕëÖµ¼õ1*/ if( i==1 )

return ( S->Data[ S->top[1] ++] ); /*¸ÃÕ»ÊÇÒÔÁíÒ»¶ËΪµ×µÄ£¬ËùÒÔÖ¸Õë¼Ó1*/ }

8£®»ØÎÄÊÇÖ¸Õý¶Á·´¶Á¾ùÏàͬµÄ×Ö·ûÐòÁУ¬Èç\ºÍ\¾ùÊÇ»ØÎÄ£¬µ«\²»ÊÇ»ØÎÄ¡£Éè¼ÆÒ»¸öËã·¨Åж¨¸ø¶¨µÄ×Ö·ûÏòÁ¿ÊÇ·ñΪ»ØÎÄ¡£(Ìáʾ£º½«Ò»°ë×Ö·ûÈëÕ») ¡¾Ëã·¨Ô´´úÂë¡¿

void sympthy(LinkList head, stack *s)/*Åжϳ¤ÎªnµÄ×Ö·û´®ÊÇ·ñÖÐÐĶԳÆ*/ { int i=1;

LinkList p=head->next;

while(i<=n/2) /* ǰһ°ë×Ö·û½øÕ»*/ { push(s,p->data); p=p->next; }

if(n%2!==0) p=p->next;/* ÆæÊý¸ö½áµãÊ±Ìø¹ýÖÐÐĽáµã*/ while(p&&p->data==pop(s)) p=p->next; if (p==NULL) printf(\Á´±íÖÐÐĶԳÆ\ else printf(\Á´±í²»ÊÇÖÐÐĶԳÆ\} /* Ëã·¨½áÊø*/

9£®Óñê־λ·½Ê½Éè¼Æ³öÔÚÑ­»·¶ÓÁÐÖнøÐвåÈëºÍɾ³ýÔËËãµÄËã·¨¡£ ¡¾Ëã·¨·ÖÎö¡¿

¿ÉÒýÈë±ê־λflag£¬Çҹ涨µ±flag=0ʱ±íʾ¶ÓÁпգ¬µ±flag=1ʱ±íʾ¶ÓÁзǿա£Í¬Ê±Éèfront£¬rearºÍMAXSIZE·Ö±ðΪ¶ÓÍ·Ö¸Õ룬¶ÓβָÕëºÍ¶ÓÁеij¤¶È¡£ÆäÖУ¬¶ÓÍ·Ö¸ÕëÖ¸Ïò¶ÓÍ·ÔªËØËùÔÚµÄʵ¼Ê´æ´¢µ¥ÔªµÄǰһ¸öλÖ㬶ÓβָÕëÖ¸Ïò¶ÓÎ²ÔªËØËùÔÚµÄλÖᣴӶø¿ÉµÃ¶ÓÂúµÄÌõ¼þÊÇ£º(rear==front)&&(flag==1) ¡¾Ëã·¨Ô´´úÂë¡¿

int flag; /*ÉèÖÃÈ«¾Ö±äÁ¿flag×÷Ϊ±ê־λ*/ enqueue(SqQueue*sq,ElemType x) {

/*½«x²åÈëÑ­»·¶ÓÁÐsqÖУ¬sq¾ßÓжÓÍ·ºÍ¶ÓβָÕë*/ if((flag==1)&&(sq->rear==sq->front)) /*Åж϶ÓÂú*/ printf(\ else

{sq->rear=(sq->rear+1)%MAXSIZE; sq->data[sq->rear]=x; } if(flag==0) flag=1;

17

}

ElemType dequeue(SqQueue*sq) /*ɾ³ý¶ÓÁÐsqµÄ¶ÓÍ·ÔªËØ£¬²¢·µ»Ø¸ÃÔªËØ*/ {ElemType x;

if(flag==0) printf(\ /*Åж϶ӿÕ*/

else{sq->front=(sq->front+1)%MAXSIZE; x=sq->data[sq->front]; } if(sq->front==sq->rear) flag=0; return x; }

µÚ4ÕÂ ´®

4.1 Ñ¡ÔñÌâ

1£®ÏÂÃæ¹ØÓÚ´®µÄµÄÐðÊöÖУ¬ÄÄÒ»¸öÊDz»ÕýÈ·µÄ£¿£¨ £© A£©´®ÊÇ×Ö·ûµÄÓÐÏÞÐòÁÐ B£©¿Õ´®ÊÇÓɿոñ¹¹³ÉµÄ´®

C£©Ä£Ê½Æ¥ÅäÊÇ´®µÄÒ»ÖÖÖØÒªÔËËã

D£©´®¼È¿ÉÒÔ²ÉÓÃ˳Ðò´æ´¢£¬Ò²¿ÉÒÔ²ÉÓÃÁ´Ê½´æ´¢ ¡¾´ð°¸¡¿B

¡¾½âÎö¡¿¿Õ´®ÊDz»º¬ÈκÎ×Ö·ûµÄ´®£¬¼´¿Õ´®µÄ³¤¶ÈÊÇÁã¡£¿Õ¸ñ´®ÊÇÓɿոñ×é³ÉµÄ´®£¬Æä³¤¶ÈµÈÓÚ¿Õ¸ñµÄ¸öÊý¡£

2£®ÉèÓÐÁ½¸ö´®pºÍq£¬ÆäÖÐqÊÇpµÄ×Ó´®£¬ÇóqÔÚpÖÐÊ״γöÏÖµÄλÖõÄËã·¨³ÆÎª£¨ £© A£©Çó×Ó´® B£©Áª½Ó C£©Æ¥Åä D£©Çó´®³¤

¡¾´ð°¸¡¿C

3£®Èô´®s=\£¬Æä×Ó´®¸öÊýÊÇ£¨ £©

A£©8 B£©37 C£©36 D£©9 ¡¾´ð°¸¡¿C

¡¾½âÎö¡¿sµÄ³¤¶ÈΪ8£¬³¤¶ÈΪ8µÄ×Ó´®ÓÐ1¸ö£¬³¤¶ÈΪ7µÄ×Ó´®ÓÐ2¸ö£¬³¤¶ÈΪ6µÄ×Ó´®ÓÐ3¸ö£¬³¤¶ÈΪ5µÄ×Ó´®ÓÐ4¸ö£¬?£¬³¤¶ÈΪ1µÄ×Ó´®ÓÐ8¸ö£¬¹²ÓÐ(1+8)*8/2=36¸ö¡£

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

A£©´®ÖÐËùº¬²»Í¬×ÖĸµÄ¸öÊý B£©´®ÖÐËùº¬×Ö·ûµÄ¸öÊý

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

5£®Èô´®S1=\£¬S2=\£¬S3=\£¬S4=\£¬ÔòÖ´ÐÐconcat(replace(S1,substr(S1,length(S2),length(S3)),S3),substr(S4,index(S2, '8'),length(S2)))Æä½á¹ûΪ£¨ £©

A£©ABC###G0123 B£©ABCD###2345 C£©ABC###G2345 D£©ABC###G1234 ¡¾´ð°¸¡¿D ¡¾½âÎö¡¿º¯Êýconcat(x,y)·µ»ØxºÍyµÄÁ¬½Ó´®£¬substr(s,i,j)·µ»Ø´®sµÄ´ÓÐòºÅiµÄ×Ö·û¿ªÊ¼µÄj¸ö×Ö·û×é³ÉµÄ×Ó´®£¬length(s)·µ»Ø´®sµÄ³¤¶È¡£replase(s,t,v)ÓÃvÌæ»»sÖгöÏÖµÄËùÓÐÓëtÏàµÈµÄ×Ó´®,index(s,t,i)µ±sÖдæÔÚÓëtÖµÏàͬµÄ×Ó´®Ê±£¬·µ»ØËüÔÚsÖеĵÚi¸ö×Ö·ûÖ®ºóµÚÒ»´Î³öÏÖµÄλÖᣠsubstr(S1,length(S2),length(S3))=substr(S1,4,3)= \

replase(S1,substr(S1,length(S2),length(S3)),S3)=replase(S1, \substr(S4,index(S2, '8'),length(S2))=substr(S4,2,4)= \

18

concat(replace(S1,substr(S1,length(S2),length(S3)),S3),substr(S4,index(S2, '8'),length(S2)))=concat(\

4.2 Ìî¿ÕÌâ

1£®¿Õ¸ñ´®ÊÇÖ¸_____________£¬Æä³¤¶ÈµÈÓÚ_____________¡£ ¡¾´ð°¸¡¿£¨1£©Óɿոñ×Ö·û£¨ASCIIÖµ32£©Ëù×é³ÉµÄ×Ö·û´® £¨2£©¿Õ¸ñ¸öÊý

2£®×é³É´®µÄÊý¾ÝÔªËØÖ»ÄÜÊÇ_____________¡£ ¡¾´ð°¸¡¿×Ö·û

¡¾½âÎö¡¿´®ÊÇÒ»ÖÖÌØÊâµÄÏßÐÔ±í£¬ÆäÌØÊâÐÔÔÚÓÚ´®ÖеÄÔªËØÖ»ÄÜÊÇ×Ö·ûÐÍÊý¾Ý¡£ 3£®ÉèÕýÎÄ´®³¤¶ÈΪn£¬Ä£Ê½´®³¤¶ÈΪm£¬Ôò´®Æ¥ÅäµÄKMPËã·¨µÄʱ¼ä¸´ÔÓ¶ÈΪ_____________¡£

¡¾´ð°¸¡¿O(m+n)

¡¾½âÎö¡¿ÆÓËØµÄģʽƥÅ䣨Brute£­Force£©Ê±¼ä¸´ÔÓ¶ÈÊǣϣ¨m*n£©£¬KMPËã·¨ÓÐÒ»¶¨¸Ä½ø£¬Ê±¼ä¸´ÔÓ¶È´ïµ½£Ï£¨m£«n£©¡£

4£®Á½¸ö×Ö·û´®ÏàµÈµÄ³ä·Ö±ØÒªÌõ¼þÊÇ_____________¡£

¡¾´ð°¸¡¿Á½´®µÄ³¤¶ÈÏàµÈÇÒÁ½´®ÖжÔӦλÖÃÉϵÄ×Ö·ûÒ²ÏàµÈ¡£

5£®Ò»¸ö×Ö·û´®ÖÐ_____________³ÆÎª¸Ã´®µÄ×Ó´® ¡£ ¡¾´ð°¸¡¿ÈÎÒâ¸öÁ¬ÐøµÄ×Ö·û×é³ÉµÄ×ÓÐòÁÐ

4.3 ÅжÏÌâ

1£®KMPËã·¨µÄÌØµãÊÇÔÚģʽƥÅäʱָʾÖ÷´®µÄÖ¸Õë²»»á±äС£¨ £© ¡¾´ð°¸¡¿¡Ì

¡¾½âÎö¡¿KMPËã·¨µÄ¸Ä½øÔÚÓÚ£ºÃ¿µ±Ò»ÌËÆ¥Åä¹ý³ÌÖгöÏÖ×Ö·û±È½Ï²»ÏàµÈʱ£¬²»Ðè»ØËÝÖ÷´®Ö¸Õ룬¶øÊÇÀûÓÃÒѾ­µÃµ½µÄ¡°²¿·ÖÆ¥Å䡱µÄ½á¹û½«Ä£Ê½ÏòÓÒ¡°»¬¶¯¡±¾¡¿ÉÄÜÔ¶µÄÒ»¶Î¾àÀëºó£¬¼ÌÐø½øÐбȽϡ£

2£®´®ÊÇÒ»ÖÖÊý¾Ý¶ÔÏóºÍ²Ù×÷¶¼ÌØÊâµÄÏßÐÔ±í£¨ £© ¡¾´ð°¸¡¿¡Ì

¡¾½âÎö¡¿´®ÊÇÒ»ÖÖÌØÊâµÄÏßÐÔ±í£¬ÆäÌØÊâÐÔÔÚÓÚ´®ÖеÄÔªËØÖ»ÄÜÊÇ×Ö·ûÐÍÊý¾Ý¡£×Ö·ûÐÍÊý¾ÝµÄ²Ù×÷·ûºÏ×Ö·ûÐÍÊý¾ÝµÄ²Ù×÷¹æ·¶£¬¾ßÓÐËüµÄÌØÊâÐÔ¡£

3£®Èç¹ûÒ»¸ö´®ÖеÄËùÓÐ×Ö·û¾ùÔÚÁíÒ»´®ÖгöÏÖ£¬ÄÇô˵Ã÷ǰÕßÊǺóÕßµÄ×Ó´®£¨ £© ¡¾´ð°¸¡¿¡Á ¡¾½âÎö¡¿Ò»¸ö×Ö·û´®ÖÐÈÎÒâ¸öÁ¬ÐøµÄ×Ö·û×é³ÉµÄ×ÓÐòÁгÆÎª¸Ã´®µÄ×Ó´®£¬×¢ÒâÆäÖÐ×Ö·ûµÄÁ¬ÐøÐÔ¡£

4.4 Ó¦ÓÃÌâ

1£®ÃèÊöÒÔϸÅÄîµÄÇø±ð£º¿Õ¸ñ´®Óë¿Õ´®¡£

¡¾´ð°¸¡¿¿Õ¸ñÊÇÒ»¸ö×Ö·û£¬ÆäASCIIÂëÖµÊÇ32¡£¿Õ¸ñ´®ÊÇÓɿոñ×é³ÉµÄ´®£¬Æä³¤¶ÈµÈÓÚ¿Õ¸ñµÄ¸öÊý¡£¿Õ´®ÊDz»º¬ÈκÎ×Ö·ûµÄ´®£¬¼´¿Õ´®µÄ³¤¶ÈÊÇÁã¡£

2£®ÉèS1£¬S2Ϊ´®£¬Çë¸ø³öʹS1/*S2=S2/*S1³ÉÁ¢µÄËùÓпÉÄܵÄÌõ¼þ£¨/*ΪÁ¬½Ó·û£©¡£ ¡¾´ð°¸¡¿

£¨1£©s1ºÍs2¾ùΪ¿Õ´®£» £¨2£©Á½´®Ö®Ò»Îª¿Õ´®£»

£¨3£©Á½´®´®ÖµÏàµÈ£¨¼´Á½´®³¤¶ÈÏàµÈÇÒ¶ÔӦλÖÃÉϵÄ×Ö·ûÏàͬ£©¡£

£¨4£©Á½´®ÖÐÒ»¸ö´®³¤ÊÇÁíÒ»¸ö´®³¤£¨°üÀ¨´®³¤Îª1½öÓÐÒ»¸ö×Ö·ûµÄÇé¿ö£©µÄÊý±¶£¬¶øÇÒ³¤´®¾ÍºÃÏóÊÇÓÉÊý¸ö¶Ì´®¾­¹ýÁ¬½Ó²Ù×÷µÃµ½µÄ¡£

19

3£®ÒÑÖª£ºs £½\£«*\£¬t £½\£«z)*y\¡£ÊÔÀûÓÃÁª½á¡¢Çó×Ó´®ºÍÖû»µÈ»ù±¾ÔËË㣬½« s ת»¯Îª t ¡£

¡¾´ð°¸¡¿±¾ÌâÓжàÖֽⷨ£¬ÏÂÃæÊÇÆäÖеÄÒ»ÖÖ£º £¨1£© s1=substr£¨s,3,1£© /*È¡³ö×Ó´®£º\£¨2£© s2=substr£¨s,6,1£© /*È¡³ö×Ó´®£º\

£¨3£© s3=substr£¨s,1,5£© /*È¡³ö×Ó´®£º\ £¨4£© s4=substr£¨s,7,1£© /*È¡³ö×Ó´®£º\

£¨5£© s5=replace£¨s3,3,1,s2£©/*Ðγɲ¿·Ö´®£º\

£¨6£© s=s5/*s4/*s1 /*Ðγɴ®t¼´\¡¾½âÎö¡¿ÌâÖÐËù¸ø²Ù×÷µÄº¬ÒåÈçÏ£º /*£ºÁ¬½Óº¯Êý£¬½«Á½¸ö´®Á¬½Ó³ÉÒ»¸ö´® substr£¨s,i,j£©£ºÈ¡×Ó´®º¯Êý£¬´Ó´®sµÄµÚi¸ö×Ö·û¿ªÊ¼£¬È¡Á¬Ðøj¸ö×Ö·ûÐγÉ×Ó´® replace£¨s1,i,j,s2£©£ºÖû»º¯Êý£¬ÓÃs2´®Ìæ»»s1´®ÖдӵÚi¸ö×Ö·û¿ªÊ¼µÄÁ¬Ðøj¸ö×Ö·û

4.4 Ó¦ÓÃÌâ

1£®ÃèÊöÒÔϸÅÄîµÄÇø±ð£º¿Õ¸ñ´®Óë¿Õ´®¡£

¡¾´ð°¸¡¿¿Õ¸ñÊÇÒ»¸ö×Ö·û£¬ÆäASCIIÂëÖµÊÇ32¡£¿Õ¸ñ´®ÊÇÓɿոñ×é³ÉµÄ´®£¬Æä³¤¶ÈµÈÓÚ¿Õ¸ñµÄ¸öÊý¡£¿Õ´®ÊDz»º¬ÈκÎ×Ö·ûµÄ´®£¬¼´¿Õ´®µÄ³¤¶ÈÊÇÁã¡£

2£®ÉèS1£¬S2Ϊ´®£¬Çë¸ø³öʹS1/*S2=S2/*S1³ÉÁ¢µÄËùÓпÉÄܵÄÌõ¼þ£¨/*ΪÁ¬½Ó·û£©¡£ ¡¾´ð°¸¡¿

£¨1£©s1ºÍs2¾ùΪ¿Õ´®£» £¨2£©Á½´®Ö®Ò»Îª¿Õ´®£»

£¨3£©Á½´®´®ÖµÏàµÈ£¨¼´Á½´®³¤¶ÈÏàµÈÇÒ¶ÔӦλÖÃÉϵÄ×Ö·ûÏàͬ£©¡£

£¨4£©Á½´®ÖÐÒ»¸ö´®³¤ÊÇÁíÒ»¸ö´®³¤£¨°üÀ¨´®³¤Îª1½öÓÐÒ»¸ö×Ö·ûµÄÇé¿ö£©µÄÊý±¶£¬¶øÇÒ³¤´®¾ÍºÃÏóÊÇÓÉÊý¸ö¶Ì´®¾­¹ýÁ¬½Ó²Ù×÷µÃµ½µÄ¡£ 3£®ÒÑÖª£ºs £½\£«*\£¬t £½\£«z)*y\¡£ÊÔÀûÓÃÁª½á¡¢Çó×Ó´®ºÍÖû»µÈ»ù±¾ÔËË㣬½« s ת»¯Îª t ¡£

¡¾´ð°¸¡¿±¾ÌâÓжàÖֽⷨ£¬ÏÂÃæÊÇÆäÖеÄÒ»ÖÖ£º £¨1£© s1=substr£¨s,3,1£© /*È¡³ö×Ó´®£º\£¨2£© s2=substr£¨s,6,1£© /*È¡³ö×Ó´®£º\

£¨3£© s3=substr£¨s,1,5£© /*È¡³ö×Ó´®£º\ £¨4£© s4=substr£¨s,7,1£© /*È¡³ö×Ó´®£º\

£¨5£© s5=replace£¨s3,3,1,s2£©/*Ðγɲ¿·Ö´®£º\

£¨6£© s=s5/*s4/*s1 /*Ðγɴ®t¼´\¡¾½âÎö¡¿ÌâÖÐËù¸ø²Ù×÷µÄº¬ÒåÈçÏ£º /*£ºÁ¬½Óº¯Êý£¬½«Á½¸ö´®Á¬½Ó³ÉÒ»¸ö´® substr£¨s,i,j£©£ºÈ¡×Ó´®º¯Êý£¬´Ó´®sµÄµÚi¸ö×Ö·û¿ªÊ¼£¬È¡Á¬Ðøj¸ö×Ö·ûÐγÉ×Ó´® replace£¨s1,i,j,s2£©£ºÖû»º¯Êý£¬ÓÃs2´®Ìæ»»s1´®ÖдӵÚi¸ö×Ö·û¿ªÊ¼µÄÁ¬Ðøj¸ö×Ö·û

4.5 Ëã·¨Éè¼ÆÌâ

1£®Éès¡¢tΪÁ½¸ö×Ö·û´®£¬·Ö±ð·ÅÔÚÁ½¸öһάÊý×éÖУ¬m¡¢n·Ö±ðΪÆä³¤¶È£¬ÅжÏtÊÇ·ñΪsµÄ×Ó´®¡£Èç¹ûÊÇ£¬Êä³ö×Ó´®ËùÔÚλÖ㨵ÚÒ»¸ö×Ö·û£©£¬·ñÔòÊä³ö0¡£ ¡¾Ëã·¨·ÖÎö¡¿

ÅжÏ×Ö·û´®tÊÇ·ñÊÇ×Ö·û´®sµÄ×Ó´®£¬³ÆÎª´®µÄģʽƥÅ䣬Æä»ù±¾Ë¼ÏëÊǶԴ®sºÍt¸÷ÉèÒ»¸öÖ¸ÕëiºÍj£¬iµÄÖµÓòÊÇ0..m-n£¬jµÄÖµÓòÊÇ0..n-1¡£³õʼֵiºÍj¾ùΪ0¡£Ä£Ê½Æ¥Åä´Ós0ºÍt0¿ªÊ¼£¬Èôs0==t0£¬ÔòiºÍjÖ¸ÕëÔö¼Ó1£¬ÈôÔÚij¸öλÖÃsi!=tj£¬ÔòÖ÷´®Ö¸Õëi»ØËݵ½i=i-j+1£¬jÈÔ´Ó0¿ªÊ¼£¬½øÐÐÏÂÒ»ÂֵıȽϣ¬Ö±µ½Æ¥Åä³É¹¦£¨j>n-1£©£¬·µ»Ø×Ó´®ÔÚÖ÷´®µÄλÖã¨i-j£©¡£·ñÔò£¬µ±i>m-nÔòΪƥÅäʧ°Ü¡£

20

¡¾Ëã·¨Ô´´úÂë¡¿

int index(char s[ ], char t[ ],int m,int n) {int i=0,j=0;

while (i<=m-n && j<=n-1)

if (s[i]==t[j]){i++;j++;} /*¶ÔÓ¦×Ö·ûÏàµÈ£¬Ö¸ÕëºóÒÆ*/

else {i=i-j+1;j=0;} /*¶ÔÓ¦×Ö·û²»ÏàµÈ£¬i»ØËÝ£¬jÈÔΪ0*/ if(i<=m-n && j==n)

{printf(\ÔÚs´®ÖÐλÖÃÊÇ%d\ return(i-n+1); }/*Æ¥Åä³É¹¦*/

else return(0); /*Æ¥Åäʧ°Ü*/ }

2£®º¯Êývoid insert(char*s,char*t,int pos)½«×Ö·û´®t²åÈëµ½×Ö·û´®sÖУ¬²åÈëλÖÃΪpos¡£ÇëÓÃcÓïÑÔʵÏָú¯Êý¡£¼ÙÉè·ÖÅ䏸×Ö·û´®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,j; char *p=s,*q=t; /*p£¬q·Ö±ðΪ×Ö·û´®sºÍtµÄ¹¤×÷Ö¸Õë*/ if(pos<1)

{printf(\²ÎÊýλÖ÷Ƿ¨\\n\while(*p!='\\0'&&i

{printf(\λÖôóÓÚ×Ö·û´®sµÄ³¤¶È\ else /*²éÕÒ×Ö·û´®µÄβ*/ 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λÖÃÉÏ*/ }

3£®Éè¼ÆÒ»¸öËã·¨£¬Í³¼ÆÔÚÊäÈë×Ö·û´®Öи÷¸ö²»Í¬×Ö·û³öÏֵįµ¶È¡££¨×Ö·û´®ÖеĺϷ¨×Ö·ûΪ'A'-'Z'Õâ26¸ö×ÖĸºÍ'0'-'9'Õâ10¸öÊý×Ö£©¡£ ¡¾Ëã·¨·ÖÎö¡¿

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

21

/*ͳ¼ÆÊäÈë×Ö·û´®ÖÐÊý×Ö×Ö·ûºÍ×Öĸ×Ö·ûµÄ¸öÊý*/ {int i,num[36]; char ch;

for(i=0;i<36;i++)num[i]=0;/* ³õʼ»¯*/

while((ch=getchar())!='#') /*¡®#¡¯±íʾÊäÈë×Ö·û´®½áÊø*/ if(('0'<=ch)&&(ch<='9'))

{i=ch-'0';num[i]++;} /* Êý×Ö×Ö·û*/ else if(('A'<= ch)&&(ch <='Z'))

{i=ch-'A'+10;num[i]++;}/* ×Öĸ×Ö·û*/

for(i=0;i<10;i++) /* Êä³öÊý×Ö×Ö·ûµÄ¸öÊý*/ printf(\Êý×Ö£¥dµÄ¸öÊý£½£¥d\\n\for(i=10;i<36;i++)/* Çó³ö×Öĸ×Ö·ûµÄ¸öÊý*/

printf(\×Öĸ×Ö·û£¥cµÄ¸öÊý£½£¥d\\n\}/* Ëã·¨½áÊø*/

4£®ÈôSºÍTÊÇÓýáµã´óСΪ1µÄµ¥Á´±í´æ´¢µÄÁ½¸ö´®£¬ÊÔÉè¼ÆÒ»¸öËã·¨ÕÒ³öSÖеÚÒ»¸ö²»ÔÚTÖгöÏÖµÄ×Ö·û¡£ ¡¾Ëã·¨·ÖÎö¡¿

²éÕÒ¹ý³ÌÊÇÕâÑùµÄ£¬È¡SÖеÄÒ»¸ö×Ö·û(½áµã)£¬È»ºóºÍTÖÐËùÓеÄ×Ö·ûÒ»Ò»±È½Ï£¬Ö±µ½±ÈÍêÈÔûÓÐÏàͬµÄ×Ö·ûʱ£¬²éÕÒ¹ý³Ì½áÊø£¬·ñÔòÔÙÈ¡SÖÐÏÂÒ»¸ö×Ö·û£¬ÖØÐ½øÐÐÉÏÊö¹ý³Ì¡£ ¡¾Ëã·¨Ô´´úÂë¡¿

char SearchNo( LinkString S, LinkString T) /*²éÕÒ²»ÔÚTÖгöÏÖµÄ×Ö·û*/ { LinkString p,q; p=S; q=T; while (p)

{/*È¡SÖнáµã×Ö·û*/

while(q&&p->data!=q->data)/*½øÐÐ×Ö·û±È½Ï*/ q->next;

if(q==NULL)return p->data;/*ÕÒµ½²¢·µ»Ø×Ö·ûÖµ*/ q=T; /*Ö¸Õë»Ö¸´´®TµÄ¿ªÊ¼½áµã*/ p=p->next; }

printf(\ return NULL; }

5£®Èç¹ûÒ»¸ö×Ö·û´®µÄÒ»¸ö×Ó´®£¨Æä³¤¶È´óÓÚ1£©µÄ¸÷¸ö×Ö·û¾ùÏàͬ£¬Ôò³ÆÖ®ÎªµÈÖµ×Ó´®¡£ÊÔÉè¼ÆÒ»¸öËã·¨£¬ÊäÈë×Ö·û´®s£¬ÒÔ¡°£¡¡±×÷Ϊ½áÊø±êÖ¾¡£Èç¹û´®sÖв»´æÔÚµÈÖµ×Ó´®£¬ÔòÊä³öÐÅÏ¢¡°ÎÞµÈÖµ×Ó´®¡±£¬·ñÔòÇó³ö£¨Êä³ö£©Ò»¸ö³¤¶È×î´óµÄµÈÖµ×Ó´®¡£ ¡¾Ëã·¨·ÖÎö¡¿

ÓÃ×Ö·ûÊý×és½ÓÊÜÓû§ÊäÈëµÄ×Ö·û´®¡£ÉèheadÖ¸Ïòµ±Ç°·¢ÏÖµÄ×µÈÖµ×Ó´®µÄ´®Í·£¬max¼Ç¼´Ë×Ó´®µÄ³¤¶È¡£¶Ôs½øÐÐɨÃ裬Èô·¢ÏÖеĵÈÖµ×Ó´®£¬ÓÃcount±äÁ¿Í³¼ÆÆä³¤¶È£¬ÈôËûµÄ³¤¶È´óÓÚÔ­ÓеÄmax£¬Ôò¶ÔheadºÍmax½øÐиüС£Öظ´ÉÏÊö¹ý³ÌÖ±µ½sĩβ¡£ ¡¾Ëã·¨Ô´´úÂë¡¿

#define MAXSIZE 100 {int i,j,k,head,max,count; char s[MAXSIZE];

printf(\ÊäÈë×Ö·û´®£º\ k=0;

scanf(\ while(s[k]!='!')

22

scanf(\ i=0,j=1,head=0,max=1;

for(;s[i]!='!'&&s[j]!='!';i=j,j++) {count=1;

while(s[i]==s[j]) {j++; count++; }

if(count>max) {head=i; max=count; } }

if(max>1)

{printf(\×î´óµÈÖµ×Ó´®£º\for(k=head;k<(head+max);k++) printf(\}

else printf(\ÎÞµÈÖµ×Ó´®\printf(\}

6£®²ÉÓÃ˳Ðò´æ´¢½á¹¹´æ´¢µÄ´®£¬±àдһ¸ö³ÌÐò£¬½«Á½¸ö×Ö·û´®½øÐбȽϣ¬Èôs>tʱ·µ»Ø1£¬s=tʱ·µ»Ø0£¬s

´ÓÁ½¸ö×Ö·û´®µÄµÚÒ»¸ö×Ö·û¿ªÊ¼Öð¸ö½øÐбȽϣ¨°´×Ö·ûµÄASCIIÂë´óС±È½Ï£©£¬Ö±µ½³öÏÖ²»Í¬µÄ×Ö·û»òÓöµ½'\\0'Ϊֹ¡£Èç¹ûÈ«²¿×Ö·û¶¼Ïàͬ£¬¾ÍÈÏΪÁ½¸ö×Ö·û´®ÏàµÈ£¬·µ»Ø0¡£Èô³öÏÖÁ˲»ÏàͬµÄ×Ö·û£¬ÔòÒÔµÚÒ»¸ö²»ÏàͬµÄ×Ö·ûµÄ±È½Ï½á¹ûΪ׼¡£ÈôǰÕß×Ö·û´óÓÚºóÕß×Ö·û£¬Ôò·µ»Ø1£¬·ñÔò·µ»Ø-1¡£ ¡¾Ëã·¨Ô´´úÂë¡¿

int comp(SString *s1,SString *s2) {

int i=0,minlen;

minlen=s1->len>s2->len?s1->len:s2->len;

/*minlen´æ·Ås1Óës2ÖеĽ϶̵Ä×Ö·û´®µÄ³¤¶È*/ while(i<=minlen) {

if(s1->data[i]==s2->data[i]) /*Èç¹ûs1Óës2µÄµ±Ç°×Ö·ûÏàµÈ£¬Ôò±È½ÏÏÂÒ»¸ö*/ i++;

else if(s1->data[i]data[i]) /*s1µÄµ±Ç°ÖµÐ¡ÓÚs2µÄµ±Ç°Öµ£¬·µ»Ø-1*/ retrun -1;

else return 1; /*s1µÄµ±Ç°Öµ´óÓÚs2µÄµ±Ç°Öµ£¬·µ»Ø1*/ }

if(s1->len==s2->len)

return 0; /*s1Óës2ËùÓÐ×Ö·û¾ùÏàµÈ£¬ÇÒ³¤¶ÈÏàµÈ£¬Ôò·µ»Ø0*/ }

7£®ÊäÈëÒ»¸öÓÉÈô¸Éµ¥´Ê×é³ÉµÄÎı¾ÐУ¬Ã¿¸öµ¥´ÊÖ®¼äÓÃÈô¸É¸ö¿Õ¸ñ¸ô¿ª£¬Í³¼ÆÆäÖеĵ¥´ÊÊý¡£

¡¾Ëã·¨·ÖÎö¡¿

µ¥´ÊµÄÊýÄ¿¿ÉÒÔÓпոñ³öÏֵĴÎÊýÀ´¾ö¶¨£¨Á¬ÐøµÄ¶à¸ö¿Õ¸ñ×÷Ϊ³öÏÖÒ»´Î¿Õ¸ñ£»²»°üº¬Ò»ÐпªÍ·µÄ¿Õ¸ñ£©¡£Èç¹ûµ±Ç°×Ö·ûΪ·Ç¿Õ¸ñ£¬¶øËûÇ°ÃæµÄ×Ö·ûÊǿոñ£¬Ôò±íʾеĵ¥´Ê³öÏÖ£¬´ËʱÈÃnum£¨µ¥´ÊÊý£©ÀÛ¼Ó1¡£Èç¹ûµ±Ç°×Ö·ûΪ·Ç¿Õ¸ñ£¬¶øËûÇ°ÃæµÄ×Ö·ûÒ²ÊǷǿոñ£¬Ôò±íʾ´Ë×Ö·ûÈÔÈ»ÊÇÔ­µ¥´ÊµÄ¼ÌÐø£¬num²»Ó¦ÀÛ¼Ó¡£Ç°ÃæÒ»¸öµ¥´ÊÊÇ·ñΪ¿Õ¸ñ£¬¿ÉÒÔÉèÖÃÒ»¸ö±äÁ¿

23

word£¬Èôword=0£¬Ôò±íʾǰһ¸ö×Ö·ûʱ¿Õ¸ñ£¬Èç¹ûword=1£¬±íʾǰһ¸ö×Ö·ûΪ·Ç¿Õ¸ñ¡£ ¡¾Ëã·¨Ô´´úÂë¡¿ int count(s) char s[80]; {char c;

int i,num=0,word=0; for(i=0;s[i]!='\\0';i++) {if(s[i]==' ') word=0; else if(word==0) {word=1; num++; } }

return num; }

8£®Ò»¸ö½öÓÉ×Öĸ×é³ÉµÄ×Ö·û´®s£¬³¤¶ÈΪn£¬Æä½á¹¹Îªµ¥Á´±í£¬Ã¿¸ö½áµãµÄdata×Ö¶ÎÖ»´æ·ÅÒ»¸ö×Öĸ¡£ÊÔÉè¼ÆÒ»¸öº¯Êý£¬È¥µô×Ö·û´®ÖÐËùÓеÄX×Öĸ£¬²¢½«´®ÖеÄÒ»¸ö×îС×ÖĸÅÅÁе½´®Î²¡£

¡¾Ëã·¨·ÖÎö¡¿

´ÓÁ´±íµÄ±íÍ·¿ªÊ¼²éÕÒÿһ¸ö½áµã£¬Èç¹û¸Ã½áµãµÄÊý¾ÝֵΪX£¬Ôòɾ³ý¸Ã½áµã¡£Í¬Ê±ÔÚ²éÕҵĹý³ÌÖУ¬Ë³±ã±È½Ï¸Ã½áµãÓëǰÇý½áµãµÄ´óС£¬Èç¹û¸Ã½áµãµÄÖµ±ÕÆäǰÇý½áµãµÄÖµ´ó£¬Ôò˳±ã½»»»£¬Ö±µ½Õû¸öÁ´±í½áÊø¡£ ¡¾Ëã·¨Ô´´úÂë¡¿

search(LinkList s,char x)

/*ÔÚ´øÍ·½áµãµÄµ¥Á´±ísÖвéÕÒÊý¾ÝֵΪxµÄ½áµã*/ {

LinkList p,q,r; char temp; p=s->next;

q=s;/*p±íʾµ±Ç°²Ù×÷µÄ½áµã£¬q±íʾpµÄǰÇý½áµã*/ while(p!=NULL) {if(p->data==x) {r=p;

q-next=p->next; p=p->next; free(r);

} /*ÕÒµ½ÊͷŽáµã*/ else

{q=p; p=p->next; }

if(q!=s&&p->data>q->data) /*½«½áµãÖµ×îСµÄ½áµãÒÆµ½±íβ*/ {

temp=p->data; p->data=q->data; q->data=temp; } } }

9£®Éè¼ÆÒ»¸öËã·¨£¬½«×Ö·û´®sµÄÈ«²¿×Ö·û¸´ÖƵ½×Ö·û´®tÖУ¬²»ÄÜÀûÓÃstrcpyº¯Êý¡£ ¡¾Ëã·¨·ÖÎö¡¿

ҪʵÏÖÁ½¸ö×Ö·û´®µÄ¸´ÖÆ£¬ÊµÖÊΪÁ½¸ö×Ö·ûÊý×éÖ®¼äµÄ¸´ÖÆ£¬ÔÚ¸´ÖÆÊ±£¬Ò»¸ö×Ö·ûÒ»¸ö×Ö·ûµÄ¸´ÖÆ£¬Ö±µ½Óöµ½'\\0'£¬'\\0'һͬ¸´ÖƹýÈ¥£¬'\\0'Ö®ºóµÄ×Ö·û²»¸´ÖÆ¡£ ¡¾Ëã·¨Ô´´úÂë¡¿ copy(char s[],char t[])

24

{

int i;

for(i=0;s[i]!='\\0';i++) t[i]=s[i]; t[i]=s[i]; }

10£®±àдһ¸öʵÏÖ´®Í¨Åä·ûÆ¥ÅäµÄº¯Êý£¬ÆäÖеÄͨÅä·ûÖ»ÓÐ'?'£¬Ëü¿ÉÒÔºÍÈκÎÒ»¸ö×Ö·ûÆ¥Åä³É¹¦¡£

¡¾Ëã·¨·ÖÎö¡¿

±¾Ìâ»ù±¾Ë¼ÏëÓëģʽƥÅäµÄ»ù±¾Ë¼ÏëÏàËÆ£¬Ö»ÊÇÔö¼ÓÁË'?'µÄ´¦Àí¹¦ÄÜ¡£ÒòΪ'?'¿ÉÒÔÓëÈκÎ×Ö·ûÆ¥Åä³É¹¦£¬ËùÒÔµ±×Ö´®ÖÐÓöµ½'?'ʱ£¬¿ÉÒÔÖ±½ÓÈÃÖ÷´®ºÍ×Ó´®Í¬Ê±ºóÒÆ¡£ ¡¾Ëã·¨Ô´´úÂë¡¿

int pattern(SString s,SString t) {

int i=1,j=1;

while(i<=s[0]&&j<=t[0]) {if(s[i]==t[j]) {i++;j++; }

else if(t[j]=='?') /*Èô×Ö´®ÖÐÓöµ½'?'ʱ£¬Ö÷´®ºÍ×Ó´®Í¬Ê±ºóÒÆ*/ {i++;j++; } else

{i=i-j+2;j=1; }

if(j>t[0]) return(i-t[0]); else return 0; }

µÚ5Õ ¶àάÊý×éºÍ¹ãÒå±í

5.1 Ñ¡ÔñÌâ

1£®Êý×éAÖУ¬Ã¿¸öÔªËØµÄ³¤¶ÈΪ3¸ö×Ö½Ú£¬ÐÐϱêI´Ó1µ½8£¬ÁÐϱêJ´Ó1µ½10£¬´ÓÊ×µØÖ·SA¿ªÊ¼Á¬Ðø´æ·ÅÔÚ´æ´¢Æ÷ÄÚ£¬¸ÃÊý×éÕ¼ÓõÄ×Ö½ÚÊýΪ£¨ £© A£©80 B£©100 C£©240 D£©270 ¡¾´ð°¸¡¿C

2£®Êý×éAÖУ¬Ã¿¸öÔªËØµÄ³¤¶ÈΪ3¸ö×Ö½Ú£¬ÐÐϱêI´Ó1µ½8£¬ÁÐϱêJ´Ó1µ½10£¬´ÓÊ×µØÖ·SA¿ªÊ¼Á¬Ðø´æ·ÅÔÚ´æ´¢Æ÷ÄÚ£¬¸ÃÊý×é°´Ðдæ·Åʱ£¬ÔªËØA[8][5]µÄÆðʼµØÖ·Îª£¨ £© A£©SA£«141 B£©SA£«144 C£©SA£«222 D£©SA£«225 ¡¾´ð°¸¡¿C ¡¾½âÎö¡¿Êý×éAÓÐ8ÐÐ10ÁУ¬°´Ðдæ·Åʱ£¬LOC£¨A[8][5]£©=SA+£¨£¨8-1£©*10+£¨5-1£©£©*3=SA+222¡£

3£®Ò»¸ön*nµÄ¶Ô³Æ¾ØÕó£¬Èç¹ûÒÔÐлòÁÐΪÖ÷Ðò·ÅÈëÄڴ棬ÔòÆäÈÝÁ¿Îª£¨ £© A£©n*n B£©n*n£¯2 C£©£¨n+1£©*n£¯2 D£©£¨n+1£©*£¨n+1£©£¯2 ¡¾´ð°¸¡¿C

¡¾½âÎö¡¿¶Ô³Æ¾ØÕó¿ÉÓÃÉÏ£¨»òÏ£©Èý½Ç¾ØÕó´æ´¢£¬µÚÒ»Ðдæ1¸ö£¬µÚ¶þÐдæ2¸ö£¬?£¬µÚnÐдæn¸ö£¬¹²1+2+?+n=£¨n+1£©*n/2¡£

4£®Ï¡Êè¾ØÕóÒ»°ãµÄѹËõ´æ´¢·½·¨ÓÐÁ½ÖÖ£¬¼´£¨ £© A£©¶þάÊý×éºÍÈýάÊý×é B£©ÈýÔª×éºÍÉ¢ÁÐ

25

C£©ÈýÔª×éºÍÊ®×ÖÁ´±í D£©É¢ÁкÍÊ®×ÖÁ´±í ¡¾´ð°¸¡¿C

5£®ÉèÓйãÒå±íD=£¨a,b,D£©£¬ÔòÆä³¤¶ÈΪ£¨ £©£¬Éî¶ÈΪ£¨ £© A£©1 B£©3 C£©¡Þ D£©5 ¡¾´ð°¸¡¿B C

6£®¹ãÒå±íÔËËãʽ£¨Tail£¨£¨a£¬B£©£¬£¨c£¬d£©£©£©µÄ²Ù×÷½á¹ûÊÇ£¨ £© A£©£¨c£¬d£© B£©c,d C£©£¨£¨c£¬d£©£© D£©d ¡¾´ð°¸¡¿C

¡¾½âÎö¡¿ÓÉÓÚ±íÖй²2¸öÔªËØ£¬·Ö±ðÊÇÁ½¸ö¹ãÒå±í£¨a,b£©£¬£¨c,d£©£¬£¨a,B£©ÊDZíÍ·£¬Òò´ËTailÇóµÃ³ý±íÍ·ÍâµÄÔªËØ¹¹³ÉµÄ±í¼´£¨£¨c,d£©£©¡£

5.2 Ìî¿ÕÌâ

1£®Ò»Î¬Êý×éµÄÂß¼­½á¹¹ÊÇ_____________£¬´æ´¢½á¹¹ÊÇ_____________¡£ ¡¾´ð°¸¡¿£¨1£©ÏßÐԽṹ £¨2£©Ë³Ðò½á¹¹

2£®¶ÔÓÚ¶þάÊý×é»ò¶àάÊý×飬·ÖΪ°´_____________ºÍ°´_____________Á½ÖÖ²»Í¬µÄ´æ´¢·½Ê½´æ´¢¡£ ¡¾´ð°¸¡¿£¨1£©ÒÔÐÐΪÖ÷Ðò £¨2£©ÒÔÁÐΪÖ÷Ðò

3£®¶þάÊý×éA[c1..d1,c2..d2]¹²º¬ÓÐ_____________¸öÔªËØ¡£ ¡¾´ð°¸¡¿£¨d1-c1+1£©*£¨d2-c2+1£©

4£®¶þάÊý×éA[10][20]²ÉÓÃÁÐÐòΪÖ÷·½Ê½´æ´¢£¬Ã¿¸öÔªËØÕ¼Ò»¸ö´æ´¢µ¥Ôª£¬ÇÒA[0][0]µÄµØÖ·ÊÇ200£¬ÔòA[6][12]µÄµØÖ·ÊÇ ¡£ ¡¾´ð°¸¡¿326

¡¾½âÎö¡¿²ÉÓÃÁÐÖ÷Ðòʱ£¬LOC£¨A[6][12]£©=LOC£¨A[0][0]+£¨12*10+6£©*1=326

5£®ÓÐÒ»¸ö10½×¶Ô³Æ¾ØÕóA£¬²ÉÓÃÒÔÐÐΪÖ÷ÐòµÄѹËõ´æ´¢·½Ê½£¬A[0][0]µÄµØÖ·Îª1£¬ÔòA[8][5]µÄµØÖ·ÊÇ ¡£ ¡¾´ð°¸¡¿42

¡¾½âÎö¡¿A[8][5]ǰÓÐ8ÐУ¬µÚ0ÐÐ1¸öÔªËØ£¬µÚ1ÐÐ2¸öÔªËØ£¬?£¬µÚ7ÐÐ8¸öÔªËØ£¬¹²£¨1+8£©*8/2=36¸öÔªËØ£¬µÚ8ÐÐǰÓÐ5¸öÔªËØ£¬ËùÒÔA[8][5]µÄµØÖ·Îª36+5+1=42¡£

6£®¹ãÒå±íÔËËãʽHEAD£¨TAIL£¨£¨a£¬b£¬c£©£¬£¨x£¬y£¬z£©£©£©µÄ½á¹ûΪ_____________¡£ ¡¾´ð°¸¡¿£¨x,y,z£©

5.3 ÅжÏÌâ

1£®Êý×éÖд洢µÄÊý¿ÉÊÇÈÎÒâÀàÐ͵ÄÈκÎÊý¾Ý£¨ £© ¡¾´ð°¸¡¿¡Á

¡¾½âÎö¡¿Í¬Ò»Êý×éÖÐÊý¾ÝÔªËØµÄÀàÐÍÓ¦¸ÃÏàͬ£¨ £©

2£®N*N¶Ô³Æ¾ØÕóµÄ¾­¹ýѹËõ´æ´¢ºóÕ¼ÓõĴ洢µ¥ÔªÊÇÔ­ÏȵÄ1/2¡£ ¡¾´ð°¸¡¿¡Á

¡¾½âÎö¡¿Ó¦Îª£¨N£«1£©*N/2¸ö´æ´¢µ¥Ôª¡£

3£®Ï¡Êè¾ØÕóÔÚÓÃÈýÔª×é±íʾ·¨Ê±£¬¿É½ÚÊ¡¿Õ¼ä£¬µ«¶Ô¾ØÕóµÄ²Ù×÷»áÔö¼ÓËã·¨µÄÄѶȼ°ºÄ·Ñ¸ü¶àµÄʱ¼ä£¨ £© ¡¾´ð°¸¡¿¡Ì

4£®¹ãÒå±í²»ÊÇÏßÐÔ±í£¨ £©

26

¡¾´ð°¸¡¿¡Á

¡¾½âÎö¡¿¹ãÒå±íÊÇÌØÊâµÄÏßÐÔ±í£¬ÆäÌØÊâÐÔÔÚÓÚ±íÖеÄÊý¾ÝÔªËØ»¹¿ÉÒÔÊǹãÒå±í¡£

5£®tail£¨a,b,c,d£©µÃµ½µÄÊÇ£¨b,c,d£©£¨ £© ¡¾´ð°¸¡¿¡Ì

5.4 Ó¦ÓÃÌâ

1£®ÉèÓÐÒ»¸ö¶þάÊý×éA[m][n]£¬¼ÙÉèA[0][0]´æ·ÅλÖÃÔÚ644£¬A[2][2]´æ·ÅλÖÃÔÚ676£¬Ã¿¸öÔªËØÕ¼Ò»¸ö¿Õ¼ä£¬ÎÊA[3][3]´æ·ÅÔÚʲôλÖã¿

¡¾´ð°¸¡¿ÉèÊý×éÔªËØA[i][j]´æ·ÅÔÚÆðʼµØÖ·ÎªLoc £¨ i, j £© µÄ´æ´¢µ¥ÔªÖС£ ¡ß Loc £¨ 2, 2 £© = Loc £¨ 0, 0 £© + 2 * n + 2 = 644 + 2 * n + 2 = 676. ¡à n = £¨ 676 - 2 - 644 £© / 2 = 15

¡à Loc £¨ 3, 3 £© = Loc £¨ 0, 0 £© + 3 * 15 + 3 = 644 + 45 + 3 = 692.

2£®ÉèÓÐÒ»¸ön?nµÄ¶Ô³Æ¾ØÕóA£¬ÎªÁ˽ÚÔ¼´æ´¢£¬¿ÉÒÔÖ»´æ¶Ô½ÇÏß¼°¶Ô½ÇÏßÒÔÉϵÄÔªËØ£¬»òÕßÖ»´æ¶Ô½ÇÏß»ò¶Ô½ÇÏßÒÔϵÄÔªËØ¡£Ç°Õß³ÆÎªÉÏÈý½Ç¾ØÕ󣬺óÕß³ÆÎªÏÂÈý½Ç¾ØÕó¡£ÎÒÃǰÑËüÃǰ´Ðдæ·ÅÓÚÒ»¸öһάÊý×éBÖУ¬³ÆÖ®Îª¶Ô³Æ¾ØÕóAµÄѹËõ´æ´¢·½Ê½¡£ÊÔÎÊ£º

£¨1£© ´æ·Å¶Ô³Æ¾ØÕóAÉÏÈý½Ç²¿·Ö»òÏÂÈý½Ç²¿·ÖµÄһάÊý×éBÓжàÉÙÔªËØ£¿

£¨2£© ÈôÔÚһάÊý×éBÖдÓ0ºÅλÖÿªÊ¼´æ·Å£¬Ôò¶Ô³Æ¾ØÕóÖеÄÈÎÒ»ÔªËØaijÔÚÖ»´æÏÂÈý½Ç²¿·ÖµÄÇéÐÎÏÂÓ¦´æÓÚһάÊý×éµÄʲôϱêλÖ㿸ø³ö¼ÆË㹫ʽ¡£ ¡¾´ð°¸¡¿

£¨1£© Êý×éB¹²ÓÐ1£«2 + 3 +?????? + n= £¨ n+1 £©*n / 2¸öÔªËØ¡£

£¨2£© Ö»´æÏÂÈý½Ç²¿·Öʱ£¬Èôi ? j£¬ÔòÊý×éÔªËØA[i][j]Ç°ÃæÓÐi-1ÐУ¨1?i-1£¬µÚ0ÐеÚ0Áв»Ë㣩£¬µÚ1ÐÐÓÐ1¸öÔªËØ£¬µÚ2ÐÐÓÐ2¸öÔªËØ£¬??????£¬µÚi-1ÐÐÓÐi-1¸öÔªËØ¡£ÔÚµÚiÐÐÖУ¬µÚjºÅÔªËØÅÅÔÚµÚj¸öÔªËØÎ»Öã¬Òò´Ë£¬Êý×éÔªËØA[i][j]ÔÚÊý×éBÖеĴæ·ÅλÖÃΪ£º 1 + 2 + ?????? + £¨i-1£© + j = £¨ i-1£©*i / 2 + j

Èôi < j£¬Êý×éÔªËØA[i][j]ÔÚÊý×éBÖÐûÓдæ·Å£¬¿ÉÒÔÕÒËüµÄ¶Ô³ÆÔªËØA[j][i]¡£ÔÚÊý×éBµÄµÚ £¨j-1£©*j / 2 + iλÖÃÖÐÕÒµ½¡£

Èç¹ûµÚ0ÐеÚ0ÁÐÒ²¼ÆÈ룬Êý×éB´Ó0ºÅλÖÿªÊ¼´æ·Å£¬ÔòÊý×éÔªËØA[i][j]ÔÚÊý×éBÖеĴæ·ÅλÖÿÉÒÔ¸ÄΪ£º µ±i ? jʱ£¬= i*£¨i+1£© / 2 + j µ±i < jʱ£¬= j*£¨j+1£© / 2 + i

3£®ÀûÓùãÒå±íµÄheadºÍtail²Ù×÷д³öº¯Êý±í´ïʽ£¬°ÑÒÔϸ÷ÌâÖеĵ¥ÔªËØbanana´Ó¹ãÒå±íÖзÖÀë³öÀ´£º £¨1£© L1£¨apple, pear, banana, orange£© £¨2£© L2£¨£¨apple, pear£©, £¨banana, orange£©£© £¨3£© L3£¨£¨£¨apple£©, £¨pear£©, £¨bananA£©, £¨orange£©£©£© £¨4£© L4£¨£¨£¨£¨apple£©£©£©, £¨£¨pear£©£©, £¨bananA£©, orange£© £¨5£© L5£¨£¨£¨£¨apple£©, pear£©, bananA£©, orange£© £¨6£© L6£¨apple, £¨pear, £¨bananA£©, orange£©£© ¡¾´ð°¸¡¿ £¨1£© Head £¨Tail £¨Tail £¨L1£© £© £© £¨2£© Head £¨Head £¨Tail £¨L2£© £© £© £¨3£© Head £¨Head £¨Tail £¨Tail £¨Head £¨L3£© £© £© £© £© £¨4£© Head £¨Head £¨Tail £¨Tail £¨L4£© £© £© £© £¨5£© Head £¨Tail £¨Head£¨L5£© £© £© £¨6£© Head £¨Head £¨Tail £¨Head £¨Tail £¨L6£© £© £© £© £©

3£®Ò»¸öÏ¡Êè¾ØÕóΪ £¬Ôò¶ÔÓ¦µÄÈýÔª×éÏßÐÔ±íÊÇʲô£¿Æä¶ÔÓ¦µÄÊ®×ÖÁ´±íÊÇʲô£¿ ¡¾´ð°¸¡¿ÓÉÓÚÏßÐÔ±íÖеÄÿ¸ö½áµã¶ÔӦϡÊè¾ØÕóµÄÒ»¸ö·ÇÁãÔªËØ£¬ÆäÖаüÀ¨3¸ö×ֶΣ¬·Ö±ðΪ¸ÃÔªËØµÄÐÐϱꡢÁÐϱêºÍÖµ£¬½áµã¼äµÄ´ÎÐò°´¾ØÕóµÄÐÐÓÅÏÈ˳ÐòÅÅÁУ¬Õâ¸öÏßÐÔ±íÓÃ˳ÐòµÄ·½·¨´æ´¢ÔÚÁ¬ÐøµÄ´æ´¢Çø£¬Ôò¶ÔÓ¦µÄÈýÔª×éΪ

27

ÆäÊ®×ÖÁ´±íÐÎʽΪ£º

5.5 Ëã·¨Éè¼ÆÌâ

1£®¼Ù¶¨Êý×éA[n]µÄn¸öÔªËØÖÐÓжà¸öÁãÔªËØ£¬±àдËã·¨½«AÖÐËùÓеķÇÁãÔªËØÒÀ´ÎÒÆµ½AµÄǰ¶Ë¡£ ¡¾Ëã·¨·ÖÎö¡¿´ÓǰÏòºóÕÒÁãÔªËØA[i]£¬´ÓºóÏòǰÕÒ·ÇÁãÔªËØA[j]£¬½«A[i]ÓëA[j]½»»»¡£ ¡¾Ëã·¨Ô´´úÂë¡¿

void move(int A[],int n) {int i=0,j=n-1; int temp; while(i

while(A[i]!=0) i++; while(A[j]==0) j--; if(i

{temp=A[i];A[i]=A[j];A[j]=temp;} } }

2£®¸ø¶¨ÓÐm¸öÕûÊýµÄµÝÔöÓÐÐòÊý×éA[1..m]ºÍÓÐn¸öÕûÊýµÄµÝ¼õÓÐÐòÊý×éB[1..n]¡£ÊÔд³öËã·¨£º½«Êý×éAºÍB¹é²¢ÎªµÝÔöÓÐÐòÊý×éC[1..m+n]¡££¨ÒªÇó£ºËã·¨µÄʱ¼ä¸´ÔÓ¶ÈΪO£¨m+n£©¡££© ¡¾Ëã·¨·ÖÎö¡¿Îª±£Ö¤Ëã·¨µÄʱ¼ä¸´ÔÓ¶ÈΪO£¨m+n£©£¬¼´ÐèÒª¶ÔÊý×éAºÍBµÄÊý¾ÝÔªËØ½öɨÃèÒ»´Î¾ÍÄÜÉú³ÉCÊý×飬ÎÒÃǿɲÉÓÃÉèÈý¸öϱêÖ¸Õëi,j,k³õʼʱ·Ö±ðÖ¸ÏòAÊý×éµÄ×îºóÒ»¸öÔªËØ£¨AÊý×éµÄ×î´óÖµ£©¡¢BÊý×éµÄµÚÒ»¸öÔªËØ£¨BÊý×éµÄ×î´óÖµ£©¡¢CÊý×齫´æ·Å×î´óÖµµÄλÖã¬È»ºó±È½ÏAÓëBÊý×éµÄ×î´óÖµ´óÕß·ÅCÊý×ékËùÖ¸µ¥Ôª£»ÔÚÉÏÊö±È½ÏÖÐÈôAÊý×éiËùÖ¸µ¥ÔªÊý´ó£¬ÔòËÍÍêºóiÇ°ÒÆ£¬·ñÔòjËùÖ¸µ¥ÔªÊýËÍÍêºójºóÒÆ£¬Í¬Ê±kÇ°ÒÆ£¬Ö±µ½°ÑAÓëBÊý×éµÄËùÓÐÔªËØÉ¨ÃèÍê¡£ ¡¾Ëã·¨Ô´´úÂë¡¿ #define m 3 #define n 4

void Merge(int A[],int B[],int C[]) {int i,j,k;

i=m-1; j=0; k=m+n-1; while((i>=0)&&(j<=n-1)) {if(A[i]>B[j]) {C[k]=A[i]; i--;} else {C[k]=B[j]; j++; } k--; }

while(i>=0) {C[k]=A[i];i--;k--;}

while(j<=n-1) {C[k]=B[j];j++;k--; } }

3£®¼ÙÉèÏ¡Êè¾ØÕóA²ÉÓÃÈýÔª×é±íʾ£¬±àдһ¸öº¯Êý¼ÆËãÆäתÖþØÕóB£¬ÒªÇóBÒ²ÓÃÈýÔª×é±íʾ¡£

28

¡¾Ëã·¨·ÖÎö¡¿ÈýÔª×é±íʾÖÐÒªÇó°´ÐеÄ˳Ðò´æ·Å£¬ËùÓÐתÖùý³Ì²»ÄÜÖ±½Ó½«ÐÐϱêºÍÁÐϱêת»»£¬»¹±ØÐëʹµÃÁа´Ë³Ðò´æ·Å¡£Òò´ËÔÚAÖÐÊ×ÏÈÕÒ³öµÚÒ»ÁÐÖеÄËùÓÐÔªËØ£¬ËüÃÇÊÇתÖþØÕóÖеÚÒ»ÐзÇ0ÔªËØ£¬²¢°ÑËüÃÇÒÀ´Î·ÅÔÚתÖþØÕóÈýÔª×éÊý×éBÖУ»È»ºóÒÀ´ÎÕÒ³öµÚ¶þÁÐÖеÄËùÓÐÔªËØ£¬°ÑËüÃÇÒÀ´Î·ÅÔÚÊý×éBÖУ»°´ÕÕͬÑùµÄ·½·¨ÖðÁнøÐУ¬Ö±µ½ÕÒ³öµÚnÁеÄËùÓÐÔªËØ£¬²¢°ÑËüÃÇÒÀ´Î·ÅÔÚÊý×éBÖС£ ¡¾Ëã·¨Ô´´úÂë¡¿

void transpose(TSMatrix A,TSMatrix *B)

/*AÊÇÏ¡Êè¾ØÕóµÄÈýÔª×éÐÎʽ£¬BÊÇ´æ·ÅAµÄתÖþØÕóµÄÈýÔª×éÊý×é*/ {int i,j,k;

B->mu=A.nu; B->nu=A.mu; B->tu=A.tu; if(B->tu>0) {j=1;

for(k=1;k<=A.nu;k++) for(i=1;i<=A.tu;i++) if(A.data[i].col==k)

{B->data[j].row=A.data[i].col; B->data[j].col=A.data[i].row; B->data[j].e=A.data[i].e; j++; } } }

4£®Çó¹ãÒå±íÉî¶ÈµÄµÝ¹éËã·¨¡£

¡¾Ëã·¨·ÖÎö¡¿ÔÚÇó¹ãÒå±íÉî¶ÈµÄµÝ¹éËã·¨ÖУ¬Èô½áµãΪԭ×ÓÔòÉî¶ÈΪ0£¬ÈôÊǿձíÉî¶ÈΪ1£¬·ñÔò·µ»ØÍ·Ö¸ÕëÓëβָÕëËùÖ¸¹ãÒå±íµÄÉî¶È×î´óÖµ¡£ ¡¾Ëã·¨Ô´´úÂë¡¿

int Glist_Getdeph(Glist L) {int m,n;

if(!L->tag) return 0; else if(!L) return 1;

m=Glist_Getdeph(L->ptr.hp)+1; n=Glist_Getdeph(L->ptr.tp); return m>n?n:n; }

5£®°´²ãÐòÊä³ö¹ãÒå±íAÖеÄËùÓÐÔªËØ¡£

¡¾Ëã·¨·ÖÎö¡¿²ã´Î±éÀúµÄÎÊÌ⣬һ°ã¶¼ÊǽèÖú¶ÓÁÐÀ´Íê³ÉµÄ£¬Ã¿´Î´Ó¶ÓÍ·ÖÐÈ¡³öÒ»¸öÔªËØµÄͬʱ°ÑËüµÄÏÂÒ»²ãµÄº¢×Ó²åÈë¶Ó⣬Õâ¾ÍÊDzãÐò±éÀúµÄ»ù±¾Ë¼Ïë¡£ ¡¾Ëã·¨Ô´´úÂë¡¿

void Glist_printf(Glist L) {InitQueue(Q);

for(p=L;p;p=p->ptr.tp) EnQueue(Q,p); while(!QueueEmpty(Q)) {DeQueue(Q,r); if(!r->tag)

printf(\ else

for(r=r->ptr.hp;r;r=r->ptr.tp) EnQueue(Q,r); } }

µÚ6Õ Ê÷

6.1 Ñ¡ÔñÌâ

1£®Ò»¿Ã¾ßÓÐ n¸ö½áµãµÄÍêÈ«¶þ²æÊ÷µÄÊ÷¸ß¶È£¨Éî¶È£©ÊÇ£¨ £© A£©?log2n ?+1 B£©log2n +1 C£©? log2n ? D£©log2n-1 ¡¾´ð°¸¡¿A

2£®Óйضþ²æÊ÷ÏÂÁÐ˵·¨ÕýÈ·µÄÊÇ£¨ £©

29

A£©¶þ²æÊ÷µÄ¶ÈΪ2 B£©Ò»¿Ã¶þ²æÊ÷µÄ¶È¿ÉÒÔСÓÚ2

C£©¶þ²æÊ÷ÖÐÖÁÉÙÓÐÒ»¸ö½áµãµÄ¶ÈΪ2 D£©¶þ²æÊ÷ÖÐÈκÎÒ»¸ö½áµãµÄ¶È¶¼Îª2 ¡¾´ð°¸¡¿B

3£®¶þ²æÊ÷µÄµÚI²ãÉÏ×î¶àº¬ÓнáµãÊýΪ£¨ £©

I I-1I-1I

A£©2B£©2-1 C£©2 D£©2-1 ¡¾´ð°¸¡¿C

4£®¾ßÓÐ10¸öÒ¶½áµãµÄ¶þ²æÊ÷ÖÐÓУ¨ £©¸ö¶ÈΪ2µÄ½áµã

A£©8 B£©9 C£©10 D£©11 ¡¾´ð°¸¡¿B

5£®ÔÚÏÂÊö½áÂÛÖУ¬ÕýÈ·µÄÊÇ£¨ £© ¢ÙÖ»ÓÐÒ»¸ö½áµãµÄ¶þ²æÊ÷µÄ¶ÈΪ0£» ¢Ú¶þ²æÊ÷µÄ¶ÈΪ2£»

¢Û¶þ²æÊ÷µÄ×óÓÒ×ÓÊ÷¿ÉÈÎÒâ½»»»£»

¢ÜÉî¶ÈΪKµÄÍêÈ«¶þ²æÊ÷µÄ½áµã¸öÊýСÓÚ»òµÈÓÚÉî¶ÈÏàͬµÄÂú¶þ²æÊ÷¡£ A£©¢Ù¢Ú¢Û B£©¢Ú¢Û¢Ü C£©¢Ú¢Ü D£©¢Ù¢Ü ¡¾´ð°¸¡¿D

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

7£®ÒýÈë¶þ²æÏßË÷Ê÷µÄÄ¿µÄÊÇ£¨ £© A£©¼Ó¿ì²éÕÒ½áµãµÄǰÇý»òºó¼ÌµÄËÙ¶È

B£©ÎªÁËÄÜÔÚ¶þ²æÊ÷Öз½±ãµÄ½øÐвåÈëÓëɾ³ý C£©ÎªÁËÄÜ·½±ãµÄÕÒµ½Ë«Ç× D£©Ê¹¶þ²æÊ÷µÄ±éÀú½á¹ûΩһ ¡¾´ð°¸¡¿A

8£®ÓÐn¸öÒ¶×ӵĹþ·òÂüÊ÷µÄ½áµã×ÜÊýΪ£¨ £© A£©²»È·¶¨ B£©2n C£©2n+1 D£©2n-1 ¡¾´ð°¸¡¿D

9£®Ò»¿Ã·Ç¿ÕµÄ¶þ²æÊ÷µÄÏÈÐò±éÀúÐòÁÐÓëºóÐò±éÀúÐòÁÐÕýºÃÏà·´£¬Ôò¸Ã¶þ²æÊ÷Ò»¶¨Âú×㣨 £© A£©ËùÓеĽáµã¾ùÎÞ×óº¢×Ó B£©ËùÓеĽáµã¾ùÎÞÓÒº¢×Ó C£©Ö»ÓÐÒ»¸öÒ¶×Ó½áµã D£©ÊÇÈÎÒâÒ»¿Ã¶þ²æÊ÷ ¡¾´ð°¸¡¿C

¡¾½âÎö¡¿ÏÈÐòÐòÁÐÊÇ¡°¸ù×óÓÒ¡±£¬ºóÐòÐòÁÐÊÇ¡°×óÓÒ¸ù¡±£¬ÈôÒªÕâÁ½¸öÐòÁÐÏà·´£¬Ö»Óе¥Ö§Ê÷£¬µ¥Ö§Ê÷µÄÌØµãÊÇÖ»ÓÐÒ»¸öÒ¶×Ó½áµã»ò¸ß¶ÈµÈÓÚÆä½áµãÊý£¬¹ÊÑ¡C¡£

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

¡¾½âÎö¡¿Èôÿ¸ö½áµã¾ùÒѾ­±àºÅ£¬Ôò×î´óµÄ±àºÅΪ1001£¬Æä¸¸Ç×½áµãµÄ±àºÅΪ500£¬ÄÇô´Ó501µ½1001¾ùΪҶ×Ó½áµã¡£Òò´Ë£¬Ò¶×Ó½áµãÊýΪ1001-500=501¡£¹Ê´ð°¸ÎªD¡£

11£®ÒÑÖªÒ»¿Ã¶þ²æÊ÷µÄºóÐò±éÀúÐòÁÐΪDABEC£¬ÖÐÐò±éÀúÐòÁÐΪDEBAC£¬ÔòËüµÄÏÈÐò±éÀúÐòÁÐΪ£¨ £© A£©ACBED B£©DECAB C£©DEABC D£©CEDBA ¡¾´ð°¸¡¿D

¡¾½âÎö¡¿ÒÀ¾ÝºóÐò±éÀúÐòÁпÉÈ·¶¨¸ù½áµãΪC£»ÔÙÒÀ¾ÝÖÐÐò±éÀúÐòÁпÉÖªÆä×ó×ÓÊ÷ÓÉDEBA¹¹³É£¬ÓÒ×ÓÊ÷Ϊ¿Õ£»ÓÖÓÉ×ó×ÓÊ÷µÄºóÐò±éÀúÐòÁпÉÖªÆä¸ù½áµãΪE£¬ÓÉÖÐÐò±éÀúÐòÁпÉÖªEµÄ×ó×ÓÊ÷ΪD£¬ÓÒ×ÓÊ÷ÓÉBA¹¹³É£¬ËùÒÔÇóµÃ¸Ã¶þ²æÊ÷µÄÏÈÐò±éÀúÐòÁÐΪѡÏîD£©¡£

12£®ÈôÒ»¿Ã¶þ²æÊ÷¾ßÓÐ10¸ö¶ÈΪ2µÄ½áµã£¬5¸ö¶ÈΪ1µÄ½áµã£¬Ôò¶ÈΪ0µÄ½áµã¸öÊýÊÇ£¨ £© A£©9 B£©11 C£©15 D£©²»È·¶¨ ¡¾´ð°¸¡¿B

13£®ÀûÓöþ²æÁ´±í´æ´¢Ê÷ʱ£¬¸ù½áµãµÄÓÒÖ¸ÕëÊÇ£¨ £© A£©Ö¸Ïò×î×óº¢×Ó B£©Ö¸Ïò×îÓÒº¢×Ó C£©¿Õ D£©·Ç¿Õ

30

¡¾´ð°¸¡¿C

¡¾½âÎö¡¿ÀûÓöþ²æÁ´±í´æ´¢Ê÷ʱ£¬¼´Óú¢×ÓÐÖµÜÁ´±í´æ´¢Ê÷£¬¸ù½áµãµÄ×óÖ¸ÕëÖ¸ÏòÆäµÚÒ»×ÓÅ®£¬¸ù½áµãµÄÓÒÖ¸ÕëÖ¸ÏòÆäÏÂÒ»Ðֵܣ¬ËùÒÔΪ¿Õ¡£

14£®ÉèÉ­ÁÖFÖÐÓÐÈý¿ÃÊ÷£¬µÚÒ»£¬µÚ¶þ£¬µÚÈý¿ÃÊ÷µÄ½áµã¸öÊý·Ö±ðΪM1£¬M2ºÍM3¡£ÓëÉ­ÁÖF¶ÔÓ¦µÄ¶þ²æÊ÷¸ù½áµãµÄÓÒ×ÓÊ÷ÉϵĽáµã¸öÊýÊÇ£¨ £© A£©M1 B£©M1+M2 C£©M3 D£©M2+M3 ¡¾´ð°¸¡¿D

¡¾½âÎö¡¿µ±É­ÁÖת»¯Îª¶ÔÓ¦µÄ¶þ²æÊ÷ʱ£¬¶þ²æÊ÷µÄ¸ù½áµã¼°Æä×ó×ÓÊ÷ÊÇÓÉÉ­ÁֵĵÚÒ»¿ÃÊ÷ת»¯¶øÀ´£¬¶þ²æÊ÷µÄÓÒ×ÓÊ÷ÊÇÓÉÉ­ÁֵįäÓàÊ÷ת»¯¶øÀ´¡£

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

16£®n¸ö½áµãµÄÏßË÷¶þ²æÊ÷ÉϺ¬ÓеÄÏßË÷ÊýΪ£¨ £© A£©2n B£©n-l C£©n+l D£©n ¡¾´ð°¸¡¿C

¡¾½âÎö¡¿ÏßË÷¶þ²æÊ÷ÊÇÀûÓöþ²æÊ÷µÄ¿ÕÁ´Óò¼ÓÉÏÏßË÷£¬n¸ö½áµãµÄ¶þ²æÊ÷ÓÐn+1¸ö¿ÕÁ´Óò¡£

17£®ÔÚÒ»¿Ã¸ß¶ÈΪkµÄÂú¶þ²æÊ÷ÖУ¬½áµã×ÜÊýΪ£¨ £©

k-1 k kk

A£©2B£©2C£©2-1 D£©?log2?+1 ¡¾´ð°¸¡¿C

18£®Ò»¿ÃÊ÷¸ßΪKµÄÍêÈ«¶þ²æÊ÷ÖÁÉÙÓУ¨ £©¸ö½áµã

kk-1k-1 k

A£©2-1 B£©2-1 C£©2D£©2 ¡¾´ð°¸¡¿C

6.2 Ìî¿ÕÌâ

1£®ÔÚ¶þ²æÊ÷ÖУ¬Ö¸ÕëpËùÖ¸½áµãΪҶ×Ó½áµãµÄÌõ¼þÊÇ_____________¡£ ¡¾´ð°¸¡¿p->lchild==NULL && p->rchlid==NULL

2£®Éî¶ÈΪH µÄÍêÈ«¶þ²æÊ÷ÖÁÉÙÓÐ_____________¸ö½áµã£»ÖÁ¶àÓÐ_____________¸ö½áµã£»HºÍ½áµã×ÜÊýNÖ®¼äµÄ¹ØÏµÊÇ_____________¡£

H-1H

¡¾´ð°¸¡¿£¨1£©2 £¨2£©2-1 £¨3£©H=?log2N?+1

3£®Ò»¿ÃÓÐn¸ö½áµãµÄÂú¶þ²æÊ÷ÓÐ_____________¸ö¶ÈΪ1µÄ½áµã£¬ÓÐ_____________¸ö·ÖÖ§£¨·ÇÖÕ¶Ë£©½áµãºÍ_____________¸öÒ¶×Ó£¬¸ÃÂú¶þ²æÊ÷µÄÉî¶ÈΪ_____________¡£ ¡¾´ð°¸¡¿£¨1£©0 £¨2£©(n-1£©/2 £¨3£©(n+1£©/2 £¨4£©?log2n? +1

4£®¶ÔÓÚÒ»¸ö¾ßÓÐn¸ö½áµãµÄ¶þ²æÊ÷£¬µ±ËüΪһ¿Ã_____________ʱ£¬¾ßÓÐ×îС¸ß¶È£¬µ±ËüΪһ¿Ã_____________ʱ£¬¾ßÓÐ×î´ó¸ß¶È¡£ ¡¾´ð°¸¡¿£¨1£©ÍêÈ«¶þ²æÊ÷ £¨2£©µ¥Ö§Ê÷£¬Ê÷ÖÐÈÎÒ»½áµã£¨³ý×îºóÒ»¸ö½áµãÊÇÒ¶×ÓÍ⣩£¬Ö»ÓÐ×ó×ÓÅ®»òÖ»ÓÐÓÒ×ÓÅ®¡£

5£®ÔÚÒ»¿Ã¶þ²æÊ÷ÖУ¬¶ÈΪ0µÄ½áµãµÄ¸öÊýΪN0£¬¶ÈΪ2µÄ½áµãµÄ¸öÊýΪN2£¬ÔòÓÐN0 =_____________ ¡¾´ð°¸¡¿N2+1

6£®ÒÑÖª¶þ²æÊ÷ÓÐ50¸öÒ¶×Ó½áµã£¬Ôò¸Ã¶þ²æÊ÷µÄ×ܽáµãÊýÖÁÉÙÊÇ_____________¡£ ¡¾´ð°¸¡¿99

¡¾½âÎö¡¿ÔÚ¶þ²æÊ÷ÖУ¬N0 = N2+1£¬ËùÒÔ£¬ÓÐ50¸öÒ¶×Ó½áµãµÄ¶þ²æÊ÷£¬ÓÐ49¸ö¶ÈΪ2µÄ½áµã¡£ÈôҪʹ¸Ã¶þ²æÊ÷µÄ½áµãÊý×îÉÙ£¬¶ÈΪ1µÄ½áµãӦΪ0¸ö£¬¼´×ܽáµãÊýN= N0 +N1+ N2 =99¡£

7£®¾ßÓÐn¸ö½áµãµÄÂú¶þ²æÊ÷£¬ÆäÒ¶½áµãµÄ¸öÊýÊÇ_____________¡£ ¡¾´ð°¸¡¿(n+1£©/2

8£® ÿһ¿ÃÊ÷¶¼ÄÜΩһµÄת»»ÎªËüËù¶ÔÓ¦µÄ¶þ²æÊ÷¡£ÈôÒÑÖªÒ»¿Ã¶þ²æÊ÷µÄÏÈÐòÐòÁÐÊÇBEFCGDH£¬ÖÐÐòÐòÁÐÊÇFEBGCHD£¬ÔòËüµÄºóÐòÐòÁÐÊÇ_____________¡£ÉèÉÏÊö¶þ²æÊ÷ÊÇÓÉijɭÁÖת»»¶ø³É£¬ÔòÆäµÚÒ»¿ÃµÄ

31

Ïȸù´ÎÐòÐòÁÐÊÇ_____________¡£ ¡¾´ð°¸¡¿

£¨1£©FEGHDCB

£¨2£©BEF£¨¸Ã¶þ²æÊ÷ת»»³ÉÉ­ÁÖ£¬º¬Èý¿ÃÊ÷£¬ÆäµÚÒ»¿ÃÊ÷µÄÏȸù´ÎÐòÊÇBEF£©

9£®ÒÑÖªÒ»¿Ã¶þ²æÊ÷µÄÏÈÐòÐòÁÐΪABDECFHG£¬ÖÐÐòÐòÁÐΪDBEAHFCG£¬Ôò¸Ã¶þ²æÊ÷µÄ¸ùΪ_____________£¬×ó×ÓÊ÷ÖÐÓÐ_____________£¬ ÓÒ×ÓÊ÷ÖÐÓÐ_____________¡£ ¡¾´ð°¸¡¿£¨1£©A £¨2£©DBE £¨3£©HFCG

10£®Ïȸù´ÎÐòÖÜÓÎÊ÷ÁÖÕýºÃµÈͬÓÚ°´_____________ÖÜÓζÔÓ¦µÄ¶þ²æÊ÷£»ºó¸ù´ÎÐòÖÜÓÎÊ÷ÁÖÕýºÃµÈͬÓÚ_____________ÖÜÓζÔÓ¦µÄ¶þ²æÊ÷¡£ ¡¾´ð°¸¡¿£¨1£©Ïȸù´ÎÐò £¨2£©Öиù´ÎÐò

11£®Ò»¸öÉî¶ÈΪkµÄ£¬¾ßÓÐ×îÉÙ½áµãÊýµÄÍêÈ«¶þ²æÊ÷°´²ã´Î£¬£¨Í¬²ã´Î´Ó×óµ½ÓÒ£©ÓÃ×ÔÈ»ÊýÒÀ´Ë¶Ô½áµã±àºÅ£¬Ôò±àºÅ×îСµÄÒ¶×ÓµÄÐòºÅÊÇ_____________£»±àºÅÊÇiµÄ½áµãËùÔڵIJã´ÎºÅÊÇ_____________£¨¸ùËùÔڵIJã´ÎºÅ¹æ¶¨Îª1²ã£©¡£

k-2

¡¾´ð°¸¡¿£¨1£©2+1 £¨2£©?log2i?+1

k-1k-1k2

¡¾½âÎö¡¿µÚk²ã1¸ö½áµã£¬×ܽáµã¸öÊýÊÇ2£¬ÆäË«Ç×ÊÇ2/2=2-¡£

12£®Ä³¶þ²æÊ÷ÓÐ20¸öÒ¶×Ó½áµã£¬ÓÐ30¸ö½áµã½öÓÐÒ»¸öº¢×Ó£¬Ôò¸Ã¶þ²æÊ÷µÄ×ܽáµãÊýΪ_____________¡£ ¡¾´ð°¸¡¿69

¡¾½âÎö¡¿ÔÚ¶þ²æÊ÷ÖУ¬N0 = N2+1£¬ËùÒÔ£¬ÓÐ20¸öÒ¶×Ó½áµãµÄ¶þ²æÊ÷£¬ÓÐ19¸ö¶ÈΪ2µÄ½áµã¡£ÓÖÒÑÖª¸Ã¶þ²æÊ÷ÖжÈΪ1µÄ½áµãÓÐ30¸ö£¬Ôò×ܽáµãÊýN= N0 +N1+ N2 =69¡£

13£®ÓÐÊý¾ÝWG={7£¬19£¬2£¬6£¬32£¬3£¬21£¬10}£¬ÔòËù½¨HuffmanÊ÷µÄÊ÷¸ßÊÇ_____________£¬´øÈ¨Â·¾¶³¤¶ÈWPLΪ_____________¡£ ¡¾´ð°¸¡¿£¨1£©6 £¨2£©261

14£®ÓÐÒ»·ÝµçÎÄÖй²Ê¹Óà 6¸ö×Ö·û£ºa£¬b£¬c£¬d£¬e£¬f£¬ËüÃǵijöÏÖÆµÂÊÒÀ´ÎΪ2£¬3£¬4£¬7£¬8£¬9£¬ÊÔ¹¹ÔìÒ»¿Ã¹þ·òÂüÊ÷£¬ÔòÆä¼ÓȨ·¾¶³¤¶ÈWPLΪ_____________£¬×Ö·ûcµÄ±àÂëÊÇ_____________¡£ ¡¾´ð°¸¡¿£¨1£©80 £¨2£©001£¨²»Î©Ò»£©

15£®¾ßÓÐN¸ö½áµãµÄ¶þ²æÊ÷£¬²ÉÓöþ²æÁ´±í´æ´¢£¬¹²ÓÐ_____________¸ö¿ÕÁ´Óò¡£ ¡¾´ð°¸¡¿N+1

¡¾½âÎö¡¿ÔÚ¶þ²æÊ÷ÖУ¬ N= N0 +N1+ N2 £¬N0 = N2+1£¬¿Õ·ÖÖ§ÊýΪ2 N0+N1= N0 +N1+ £¨N2+1£©= N+1¡£

16£®8²ãÍêÈ«¶þ²æÊ÷ÖÁÉÙÓÐ_____________¸ö½áµã£¬ÓµÓÐ100¸ö½áµãµÄÍêÈ«¶þ²æÊ÷µÄ×î´ó²ãÊýΪ_____________¡£ ¡¾´ð°¸¡¿£¨1£©128£¨µÚ7²ãÂú£¬¼ÓµÚ8²ã£±¸ö£© £¨2£©7

17£®Ò»¿ÃÊ÷TÖУ¬°üÀ¨Ò»¸ö¶ÈΪ1µÄ½áµã£¬Á½¸ö¶ÈΪ2µÄ½áµã£¬Èý¸ö¶ÈΪ3µÄ½áµã£¬Ëĸö¶ÈΪ4µÄ½áµãºÍÈô¸ÉÒ¶×Ó½áµã£¬ÔòTµÄÒ¶½áµãÊýΪ_____________¡£ ¡¾´ð°¸¡¿21

¡¾½âÎö¡¿ÒÑÖª¸ÃÊ÷ÖнáµãÊýºÍ·ÖÖ§ÊýµÄ¹ØÏµ·Ö±ðÈçÏ£º N= N0 +N1+ N2+N3+ N4 £¨1£© N-1= N1+ 2N2+3N3+ 4N4 £¨2£©

ÓÉ£¨2£©Ê½ÇóµÃN=£¨1+2*2+3*3+4*4£©+1=31£¬ÔÙÓÉ£¨1£©Ê½ÇóµÃN0=21¡£

18£® n£¨n´óÓÚ1£©¸ö½áµãµÄ¸÷¿ÃÊ÷ÖУ¬ÆäÉî¶È×îСµÄÄÇ¿ÃÊ÷µÄÉî¶ÈÊÇ_____________¡£Ëü¹²ÓÐ_____________¸öÒ¶×Ó½áµãºÍ_____________¸ö·ÇÒ¶×Ó½áµã£¬ÆäÖÐÉî¶È×î´óµÄÄÇ¿ÃÊ÷µÄÉî¶ÈÊÇ_____________£¬Ëü¹²ÓÐ_____________¸öÒ¶×Ó½áµãºÍ_____________¸ö·ÇÒ¶×Ó½áµã¡£ ¡¾´ð°¸¡¿£¨1£©2 £¨2£©n-1 £¨3£©1 £¨4£©n £¨5£©1 £¨6£©n-1

19£®ÉèyÖ¸ÏòÖÐÐò¶þ²æÏßË÷Ê÷µÄÒ»Ò¶×Ó£¬xÖ¸ÏòÒ»´ý²åÈë½áµã£¬ÏÖx×÷ΪyµÄ×óº¢×Ó²åÈ룬Ê÷ÖбêÖ¾ÓòΪltagºÍrtag£¬²¢¹æ¶¨±ê־Ϊ1ÊÇÏßË÷£¬ÔòÏÂÃæµÄÒ»¶ÎËã·¨½«x²åÈë²¢ÐÞ¸ÄÏàÓ¦µÄÏßË÷£¬ÊÔ²¹³äÍêÕû£º(lchild£¬rchild·Ö±ð´ú±í×ó£¬ÓÒº¢×Ó)

x->ltag= _____________; x->lchild= _____________; y->ltag= _____________; y->lchild= _____________; x->rtag= _____________;

32

x->rchild= _____________; if (x->lchild!=NULL) && (x->lchild->rtag==1) x->lchild->rchild=_____________; ¡¾´ð°¸¡¿£¨1£©1 £¨2£©y->lchild £¨3£©0 £¨4£©x £¨5£©1 £¨6£©y £¨7£©x

6.3 ÅжÏÌâ

1£®¶þ²æÊ÷ÊǶÈΪ2µÄÓÐÐòÊ÷£¨ £© ¡¾´ð°¸¡¿¡Á

2£®ÍêÈ«¶þ²æÊ÷Ò»¶¨´æÔÚ¶ÈΪ1µÄ½áµã£¨ £© ¡¾´ð°¸¡¿¡Á

3£®Éî¶ÈΪKµÄ¶þ²æÊ÷Öнáµã×ÜÊý¡Ü2k-1£¨ £© ¡¾´ð°¸¡¿¡Ì

4£®ÓÉÒ»¿Ã¶þ²æÊ÷µÄÏÈÐòÐòÁкͺóÐòÐòÁпÉÒÔΩһȷ¶¨Ëü£¨ £© ¡¾´ð°¸¡¿¡Á

5£®ÍêÈ«¶þ²æÊ÷ÖУ¬ÈôÒ»¸ö½áµãûÓÐ×óº¢×Ó£¬ÔòËü±ØÊÇÊ÷Ò¶£¨ £© ¡¾´ð°¸¡¿¡Ì

6£®Óöþ²æÁ´±í´æ´¢n¸ö½áµãµÄ¶þ²æÊ÷ʱ£¬½áµãµÄ2n¸öÖ¸ÕëÖÐÓÐn+1¸ö¿ÕÖ¸Õ루 £© ¡¾´ð°¸¡¿¡Ì

7£®ÍêÈ«¶þ²æÊ÷µÄ´æ´¢½á¹¹Í¨³£²ÉÓÃ˳Ðò´æ´¢½á¹¹£¨ £© ¡¾´ð°¸¡¿¡Ì

8£®¹þ·òÂüÊ÷ÊÇ´øÈ¨Â·¾¶³¤¶È×î¶ÌµÄÊ÷£¬Â·¾¶ÉÏȨֵ½Ï´óµÄ½áµãÀë¸ù½Ï½ü£¨ £© ¡¾´ð°¸¡¿¡Ì

9£®ÔÚÖÐÐòÏßË÷¶þ²æÊ÷ÖУ¬Ã¿Ò»·Ç¿ÕµÄÏßË÷¾ùÖ¸ÏòÆä׿ÏȽáµã£¨ £© ¡¾´ð°¸¡¿¡Ì

¡¾½âÎö¡¿ÔÚ¶þ²æÊ÷ÉÏ£¬¶ÔÓÐ×óÓÒ×ÓÅ®µÄ½áµã£¬ÆäÖÐÐòǰÇýÊÇÆä×ó×ÓÊ÷Éϰ´ÖÐÐò±éÀúµÄ×îÓұߵĽáµã£¨¸Ã½áµãµÄºó¼ÌÖ¸ÕëÖ¸Ïò׿ÏÈ£©£¬ÖÐÐòºó¼ÌÊÇÆäÓÒ×ÓÊ÷Éϰ´ÖÐÐò±éÀúµÄ×î×ó±ßµÄ½áµã£¨¸Ã½áµãµÄǰÇýÖ¸ÕëÖ¸Ïò׿ÏÈ£©¡£

10£®¶þ²æÊ÷ÖÐÐòÏßË÷»¯ºó£¬²»´æÔÚ¿ÕÖ¸ÕëÓò£¨ £© ¡¾´ð°¸¡¿¡Á

¡¾½âÎö¡¿·Ç¿Õ¶þ²æÊ÷ÖÐÐò±éÀúµÚÒ»¸ö½áµãÎÞǰÇý£¬×îºóÒ»¸ö½áµãÎÞºó¼Ì£¬ÕâÁ½¸ö½áµãµÄǰÇýÏßË÷ºÍºó¼ÌÏßË÷Ϊ¿ÕÖ¸Õë¡£

6.4 Ó¦ÓÃÌâ

1£®´Ó¸ÅÄîÉϽ²£¬Ê÷£¬É­ÁֺͶþ²æÊ÷ÊÇÈýÖÖ²»Í¬µÄÊý¾Ý½á¹¹£¬½«Ê÷£¬É­ÁÖת»¯Îª¶þ²æÊ÷µÄ»ù±¾Ä¿µÄÊÇʲô£¬²¢Ö¸³öÊ÷ºÍ¶þ²æÊ÷µÄÖ÷񻂿±ð¡£

¡¾´ð°¸¡¿Ê÷µÄº¢×ÓÐÖµÜÁ´±í±íʾ·¨ºÍ¶þ²æÊ÷¶þ²æÁ´±í±íʾ·¨£¬±¾ÖÊÊÇÒ»ÑùµÄ£¬Ö»ÊǽâÊͲ»Í¬£¬Ò²¾ÍÊÇ˵Ê÷£¨Ê÷ÊÇÉ­ÁÖµÄÌØÀý£¬¼´É­ÁÖÖÐÖ»ÓÐÒ»¿ÃÊ÷µÄÌØÊâÇé¿ö£©¿ÉÓöþ²æÊ÷Ωһ±íʾ£¬²¢¿ÉʹÓöþ²æÊ÷µÄһЩË㷨ȥ½â¾öÊ÷ºÍÉ­ÁÖÖеÄÎÊÌâ¡£

Ê÷ºÍ¶þ²æÊ÷µÄÇø±ðÓÐ3£ºÒ»ÊǶþ²æÊ÷µÄ¶ÈÖÁ¶àΪ2£¬Ê÷ÎÞ´ËÏÞÖÆ£»¶þÊǶþ²æÊ÷ÓÐ×óÓÒ×ÓÊ÷Ö®·Ö£¬¼´Ê¹ÔÚÖ»ÓÐÒ»¸ö·ÖÖ§µÄÇé¿öÏ£¬ Ò²±ØÐëÖ¸³öÊÇ×ó×ÓÊ÷»¹ÊÇÓÒ×ÓÊ÷£¬Ê÷ÎÞ´ËÏÞÖÆ£»ÈýÊǶþ²æÊ÷ÔÊÐíΪ¿Õ£¬Ê÷Ò»°ã²»ÔÊÐíΪ¿Õ£¨¸ö±ðÊéÉÏÔÊÐíΪ¿Õ£©¡£

2£®ÈôÔÚÄÚ´æÖдæ·ÅÒ»¸öÍêÈ«¶þ²æÊ÷£¬ÔÚ¶þ²æÊ÷ÉÏÖ»½øÐÐÏÂÃæÁ½¸ö²Ù×÷£º £¨1£©Ñ°ÕÒij¸ö½áµãË«Ç× £» £¨2£©Ñ°ÕÒij¸ö½áµãµÄ×ÓÅ®£» ÇëÎÊÓ¦¸ÃÓúÎÖֽṹÀ´´æ´¢¸Ã¶þ²æÊ÷£¿

¡¾´ð°¸¡¿ÓÃ˳Ðò´æ´¢½á¹¹´æ´¢n¸ö½áµãµÄÍêÈ«¶þ²æÊ÷¡£±àºÅΪiµÄ½áµã£¬ÆäË«Ç×±àºÅÊÇ?i/2?(i=1ʱÎÞË«Ç×)£¬Æä×ó×ÓÅ®ÊÇ2i(Èô2i¡Ün£¬·ñÔòiÎÞ×ó×ÓÅ®)£¬ÓÒ×ÓÅ®ÊÇ2i+1(Èô2i+1¡Ün£¬·ñÔòÎÞÓÒ×ÓÅ®)¡£

3£®Çóº¬ÓÐn¸ö½áµã¡¢²ÉÓÃ˳Ðò´æ´¢½á¹¹µÄÍêÈ«¶þ²æÊ÷ÖеÄÐòºÅ×îСµÄÒ¶×Ó½áµãµÄϱꡣҪÇóд³ö¼òÒª²½Öè¡£

33

¡¾´ð°¸¡¿¸ù¾ÝÍêÈ«¶þ²æÊ÷µÄÐÔÖÊ£¬×îºóÒ»¸ö½áµã£¨±àºÅΪn£©µÄË«Ç×½áµãµÄ±àºÅÊÇ?n/2?£¬ÕâÊÇ×îºóÒ»¸ö·ÖÖ§½áµã£¬ÔÚËüÖ®ºóÊǵÚÒ»¸öÖÕ¶Ë£¨Ò¶×Ó£©½áµã£¬¹ÊÐòºÅ×îСµÄÒ¶×Ó½áµãµÄϱêÊÇ?n/2?+1¡£

4£®ÊÔÖ¤Ã÷£¬Í¬Ò»¿Ã¶þ²æÊ÷µÄËùÓÐÒ¶×Ó½áµã£¬ÔÚÏÈÐòÐòÁС¢ÖÐÐòÐòÁÐÒÔ¼°ºóÐòÐòÁÐÖж¼°´ÏàͬµÄÏà¶ÔλÖóöÏÖ£¨¼´ÏȺó˳ÐòÏàͬ£©£¬ÀýÈçÏÈÐòabc£¬ºóÐòbca£¬ÖÐÐòbac¡£

¡¾´ð°¸¡¿ÏÈÐò±éÀúÊÇ¡°¸ù×óÓÒ¡±£¬ÖÐÐò±éÀúÊÇ¡°×ó¸ùÓÒ¡±£¬ºóÐò±éÀúÊÇ¡°×óÓÒ¸ù¡±¡£ÈýÖÖ±éÀúÖÐÖ»ÊÇ·ÃÎÊ¡°¸ù¡±½áµãµÄʱ»ú²»Í¬£¬¶Ô×óÓÒ×ÓÊ÷¾ùÊǰ´×óÓÒ˳ÐòÀ´±éÀúµÄ£¬Òò´ËËùÓÐÒ¶×Ó¶¼°´ÏàͬµÄÏà¶ÔλÖóöÏÖ¡£

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

1£©ÏÈÐòÐòÁÐÓëºóÐòÐòÁÐÏàͬ£» 2£©ÖÐÐòÐòÁÐÓëºóÐòÐòÁÐÏàͬ£» 3£©ÏÈÐòÐòÁÐÓëÖÐÐòÐòÁÐÏàͬ£» 4£©ÖÐÐòÐòÁÐÓë²ã´ÎÐòÁÐÏàͬ£»

¡¾´ð°¸¡¿ÏÈÐò±éÀú¶þ²æÊ÷µÄ˳ÐòÊÇ¡°¸ù¡ª×ó×ÓÊ÷¡ªÓÒ×ÓÊ÷¡±£¬ÖÐÐò±éÀú¡°×ó×ÓÊ÷¡ª¸ù¡ªÓÒ×ÓÊ÷¡±£¬ºóÐò±éÀú˳ÐòÊÇ£º¡°×ó×ÓÊ÷¡ªÓÒ×ÓÊ÷¨D¸ù¡±£¬¸ù¾ÝÒÔÉÏÔ­Ôò£¬½â´ðÈçÏ£º

1£©ÈôÏÈÐòÐòÁÐÓëºóÐòÐòÁÐÏàͬ£¬Ôò»òΪ¿ÕÊ÷£¬»òΪֻÓиù½áµãµÄ¶þ²æÊ÷¡£

2£©ÈôÖÐÐòÐòÁÐÓëºóÐòÐòÁÐÏàͬ£¬Ôò»òΪ¿ÕÊ÷£¬»òΪÈÎÒ»½áµãÖÁ¶àÖ»ÓÐ×ó×ÓÊ÷µÄ¶þ²æÊ÷¡£ £¨3£©ÈôÏÈÐòÐòÁÐÓëÖÐÐòÐòÁÐÏàͬ£¬Ôò»òΪ¿ÕÊ÷£¬»òΪÈÎÒ»½áµãÖÁ¶àÖ»ÓÐÓÒ×ÓÊ÷µÄ¶þ²æÊ÷¡£ £¨4£©ÈôÖÐÐòÐòÁÐÓë²ã´Î±éÀúÐòÁÐÏàͬ£¬Ôò»òΪ¿ÕÊ÷£¬»òΪÈÎÒ»½áµãÖÁ¶àÖ»ÓÐÓÒ×ÓÊ÷µÄ¶þ²æÊ÷

6£®ÒÑÖªÒ»¿Ã¶þ²æÊ÷µÄÖÐÐòÐòÁкͺóÐòÐòÁзֱðΪGLDHBEIACJFKºÍLGHDIEBJKFCA £¨1£©¸ø³öÕâ¿Ã¶þ²æÊ÷£»£¨2£©×ª»»Îª¶ÔÓ¦µÄÉ­ÁÖ¡£

7£®Ò»¿Ã·Ç¿Õ¶þ²æÊ÷ÆäÏÈÐòÐòÁкͺóÐòÐòÁÐÕýºÃÏà·´£¬»­³ö¶þ²æÊ÷µÄÐÎ×´¡£

¡¾´ð°¸¡¿ÏÈÐòÐòÁÐÊÇ¡°¸ù×óÓÒ¡± ºóÐòÐòÁÐÊÇ¡°×óÓÒ¸ù¡±£¬¿É¼û¶ÔÈÎÒâ½áµã£¬ÈôÖÁ¶àÖ»ÓÐ×ó×ÓÅ®»òÖÁ¶àÖ»ÓÐÓÒ×ÓÅ®£¬¾ù¿ÉʹÏÈÐòÐòÁÐÓëºóÐòÐòÁÐÏà·´£¬Í¼Ê¾ÈçÏ£º

8£®¼ÙÉèÒ»¿Ã¶þ²æÊ÷µÄ²ã´Î´ÎÐò£¨°´²ã´ÎµÝÔö˳ÐòÅÅÁУ¬Í¬Ò»²ã´Î×Ô×óÏòÓÒ£©ÎªABECFGDHI,ÖÐÐòÐòÁÐΪBCDAFEHIG¡£Çë»­³ö¸Ã¶þ²æÊ÷£¬²¢½«Æäת»»Îª¶ÔÓ¦µÄÉ­ÁÖ¡£

¡¾´ð°¸¡¿°´²ã´Î±éÀú£¬µÚÒ»¸ö½áµã£¨ÈôÊ÷²»¿Õ£©Îª¸ù£¬¸Ã½áµãÔÚÖÐÐòÐòÁÐÖаÑÐòÁзֳÉ×óÓÒÁ½²¿·Ö£º×ó×ÓÊ÷ºÍÓÒ×ÓÊ÷¡£Èô×ó×ÓÊ÷²»¿Õ£¬²ã´ÎÐòÁÐÖеڶþ¸ö½áµãΪ×ó×ÓÊ÷µÄ¸ù£»ÈôÓÒ×ÓÊ÷Ϊ¿Õ£¬Ôò²ã´ÎÐòÁÐÖеÚÈý¸ö½áµãΪÓÒ×ÓÊ÷µÄ¸ù¡£¶ÔÓÒ×ÓÊ÷Ò²×÷ÀàËÆµÄ·ÖÎö¡£²ã´ÎÐòÁеÄÌØµãÊÇ£¬´Ó×óµ½ÓÒÿ¸ö½áµã»òÊǵ±Ç°Çé¿öÏÂ×ÓÊ÷µÄ¸ù»òÊÇÒ¶×Ó¡£

9£®ÒÑÖªÒ»¸öÉ­ÁÖµÄÏÈÐòÐòÁкͺóÐòÐòÁÐÈçÏ£¬Çë¹¹Ôì³ö¸ÃÉ­ÁÖ¡£ ÏÈÐòÐòÁУºABCDEFGHIJKLMNO ºóÐòÐòÁУºCDEBFHIJGAMLONK

¡¾´ð°¸¡¿É­ÁÖµÄÏÈÐòÐòÁкͺóÐòÐòÁжÔÓ¦Æäת»»µÄ¶þ²æÊ÷µÄÏÈÐòÐòÁкÍÖÐÐòÐòÁУ¬Ó¦ÏȾݴ˹¹Ôì¶þ²æÊ÷£¬

34

ÔÙ¹¹Ôì³öÉ­ÁÖ¡£

10£®Ò»¿Ã¶þ²æÊ÷µÄÏÈÐò¡¢ÖÐÐò¡¢ºóÐòÐòÁÐÈçÏ£¬ÆäÖÐÒ»²¿·Öδ±ê³ö£¬Çë¹¹Ôì³ö¸Ã¶þ²æÊ÷¡£ ÏÈÐòÐòÁÐ £º_ _ C D E _ G H I _ K ÖÐÐòÐòÁÐ £ºC B _ _ F A _ J K I G ºóÐòÐòÁÐ £º_ E F D B _ J I H _ A ¡¾´ð°¸¡¿

11£®ÉèÓÐÕýÎÄAADBAACACCDACACAAD£¬×Ö·û¼¯ÎªA£¬B£¬C£¬D£¬Éè¼ÆÒ»Ì×¶þ½øÖƱàÂ룬ʹµÃÉÏÊöÕýÎĵıàÂë×î¶Ì¡£¡¾´ð°¸¡¿×Ö·ûA£¬B£¬C£¬D³öÏֵĴÎÊýΪ9£¬1£¬5£¬3¡£Æä¹þ·òÂü±àÂëÈçÏ£ºA:1£¬B:000£¬C:01£¬D:001 ¡£

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

6.5 Ëã·¨Éè¼ÆÌâ

35

1£®ÒÑÖªÒ»¿Ã¶þ²æÊ÷°´Ë³Ðò·½Ê½´æ´¢ÔÚÊý×éA[1..n]ÖС£Éè¼ÆËã·¨£¬Çó³öϱê·Ö±ðΪiºÍjµÄÁ½¸ö½áµãµÄ×î½üµÄ¹«¹²×æÏȽáµãµÄÖµ¡£ ¡¾Ëã·¨·ÖÎö¡¿

¶þ²æÊ÷˳Ðò´æ´¢£¬Êǰ´ÍêÈ«¶þ²æÊ÷µÄ¸ñʽ´æ´¢£¬ÀûÓÃÍêÈ«¶þ²æÊ÷Ë«Ç×½áµãÓë×ÓÅ®½áµã±àºÅ¼äµÄ¹ØÏµ£¬ÇóϱêΪiºÍjµÄÁ½½áµãµÄË«Ç×£¬Ë«Ç×µÄË«Çס­µÈµÈ£¬Ö±ÖÁÕÒµ½×î½üµÄ¹«¹²×æÏÈ¡£ ¡¾Ëã·¨Ô´´úÂë¡¿

typedef int ElemType;

void Ancestor(ElemType A[],int n,int i,int j) {while(i!=j)

if(i>j) i=i/2; /*ϱêΪiµÄ½áµãµÄË«Ç×½áµãµÄϱê*/ else j=j/2; /*ϱêΪjµÄ½áµãµÄË«Ç×½áµãµÄϱê*/ printf(\Ëù²é½áµãµÄ×î½ü¹«¹²×æÏȵÄϱêÊÇ%d,ÖµÊÇ%d\ }/* Ancestor*/

2£®±à³ÌÇóÒÔº¢×ÓÐֵܱíʾ·¨´æ´¢µÄÉ­ÁÖµÄÒ¶×Ó½áµãÊý£¬ÒªÇóÃèÊö½á¹¹¡£ ¡¾Ëã·¨·ÖÎö¡¿

µ±É­ÁÖ£¨Ê÷£©ÒÔº¢×ÓÐֵܱíʾ·¨´æ´¢Ê±£¬Èô½áµãûÓÐ×ó×ÓÊ÷£¨fch=NULL£©£¬ÔòËü±ØÊÇÒ¶×Ó£¬·ñÔò£¬×ܵÄÒ¶×Ó½áµã¸öÊýÊÇ×ó×ÓÊ÷£¨fch£©ÉϵÄÒ¶×ÓÊýºÍÓÒ×ÓÊ÷£¨nsib£©ÉÏÒ¶½áµã¸öÊýÖ®ºÍ¡£ ¡¾Ëã·¨Ô´´úÂë¡¿

typedef struct node{ ElemType data; /*Êý¾ÝÓò*/ struct node *fch, *nsib; /*º¢×ÓÓëÐÖµÜÓò */ }*Tree;

int Leaves (Tree t){/*¼ÆËãÒÔº¢×Ó-Ðֵܱíʾ·¨´æ´¢µÄÉ­ÁÖµÄÒ¶×ÓÊý*/ if(t)

if(t->fch==NULL) /*Èô½áµãÎÞº¢×Ó£¬Ôò¸Ã½áµã±ØÊÇÒ¶×Ó*/ return(1+Leaves(t->nsib)); else

return (Leaves(t->fch)+Leaves(t->nsib)); }/*½áÊøLeaves*/

3£®¼Ù¶¨ÓÃÁ½¸öһάÊý×éL[N]ºÍR[N]×÷ΪÓÐN¸ö½áµã1£¬2,¡­£¬ NµÄ¶þ²æÊ÷µÄ´æ´¢½á¹¹¡£L[i]ºÍR[i]·Ö±ðָʾ½áµã iµÄ×ó×ÓÅ®ºÍÓÒ×ÓÅ®£»L[i]=0£¨R[i]=0£©±íʾiµÄ×ó£¨ÓÒ£©×ÓŮΪ¿Õ¡£Éè¼ÆÒ»¸öËã·¨£¬ÓÉLºÍR½¨Á¢Ò»¸öһάÊý×éT[n]£¬Ê¹T[i]´æ·Å½áµãiµÄ¸¸Ç×£»È»ºóÔÙдһ¸öÅбð½áµãUÊÇ·ñΪ½áµãVµÄºó´úµÄËã·¨¡£ ¡¾Ëã·¨·ÖÎö¡¿

ÓÉָʾ½áµãi ×ó×ÓÅ®ºÍÓÒ×ÓÅ®µÄÁ½¸öһάÊý×éL[i]ºÍR[i]£¬ºÜÈÝÒ×½¨Á¢Ö¸Ê¾½áµãi µÄË«Ç×µÄһάÊý×éT[i]£¬¸ù¾ÝTÊý×飬ÅжϽáµãUÊÇ·ñÊǽáµãVºó´úµÄËã·¨£¬×ªÎªÅжϽáµãVÊÇ·ñÊǽáµãUµÄ׿ÏȵÄÎÊÌâ¡£ ¡¾Ëã·¨Ô´´úÂë¡¿

int generation (int u, int v, int n, int l[],int r[],int t[]){

/*l[]ºÍr[]ÊǺ¬ÓÐn¸öÔªËØÇÒָʾ¶þ²æÊ÷½áµãi×ó×ÓÅ®ºÍÓÒ×ÓÅ®µÄһάÊý×é±¾Ëã·¨¾Ý´Ë½¨Á¢½áµãiµÄË«Ç×Êý×ét£¬²¢ÅжϽáµãuÊÇ·ñÊǽáµãvµÄºó´ú*/ int parent,i;

for(i=1;i<=n;i++) t[i]=0; /*tÊý×é³õʼ»¯*/ for (i=1;i<=n;i++){ /*¸ù¾ÝlºÍrÌîдt*/

if(l[i]!=0) t[l[i]]=i; /*Èô½áµãiµÄ×ó×ÓÅ®ÊÇl£¬Ôò½áµãlµÄË«Ç×Êǽáµãi*/ if (r[i]!=0) t[r[i]]=i; /*iµÄÓÒ×ÓÅ®ÊÇr£¬ÔòrµÄË«Ç×ÊÇi*/ parent=u; /*ÅжÏuÊÇ·ñÊÇvµÄºó´ú*/ while (parent!=v && parent!=0) parent=t[parent]; if (parent==v)

{printf(\½áµãuÊǽáµãvµÄºó´ú\ else

{ printf(\½áµãu²»Êǽáµãv µÄºó´ú\ }

}/*½áÊøgeneration*/

4£®ÒªÇó¶þ²æÊ÷°´¶þ²æÁ´±íÐÎʽ´æ´¢£º £¨1£©Ð´Ò»¸ö½¨Á¢¶þ²æÊ÷µÄËã·¨¡£

£¨2£©Ð´Ò»¸öÅÐ±ð¸ø¶¨µÄ¶þ²æÊ÷ÊÇ·ñÊÇÍêÈ«¶þ²æÊ÷µÄËã·¨¡£ ¡¾Ëã·¨·ÖÎö¡¿

¶þ²æÊ÷Êǵݹ鶨ÒåµÄ£¬ÒԵݹ鷽ʽ½¨Á¢×î¼òµ¥¡£Åж¨ÊÇ·ñÊÇÍêÈ«¶þ²æÊ÷£¬¿ÉÒÔʹÓöÓÁУ¬ÔÚ±éÀúÖÐÀûÓÃÍê

36

È«¶þ²æÊ÷¡°Èôij½áµãÎÞ×ó×ÓÅ®¾Í²»Ó¦ÓÐÓÒ×ÓÅ®¡±µÄÔ­Ôò½øÐÐÅжϡ£ ¡¾Ëã·¨Ô´´úÂë¡¿

BiTree Creat() { /*½¨Á¢¶þ²æÊ÷µÄ¶þ²æÁ´±íÐÎʽµÄ´æ´¢½á¹¹*/ ElemType x; BiTree bt;

scanf(\ if(x==0) bt=NULL; else if(x>0) {bt=(BiTNode *)malloc(sizeof(BiTNode));

bt->data=x; bt->lchild=creat(); bt->rchild=creat(); } return(bt); }/*½áÊø creat*/

int JudgeComplete(BiTree bt){

/*Åж϶þ²æÊ÷ÊÇ·ñÊÇÍêÈ«¶þ²æÊ÷£¬ÈçÊÇ£¬·µ»Ø1£¬·ñÔò£¬·µ»Ø0*/ int tag=0;

BiTree p=bt, Q[50]; /* QÊǶÓÁУ¬ÔªËØÊǶþ²æÊ÷½áµãÖ¸Õ룬ÈÝÁ¿×ã¹»´ó*/ if(p==NULL) return 1; QueueInit(Q);

QueueIn(Q,p); /*³õʼ»¯¶ÓÁУ¬¸ù½áµãÖ¸ÕëÈë¶Ó*/ while(!QueueEmpty(Q)){ p=QueueOut(Q);

if (p->lchild && !tag) QueueIn(Q,p->lchild); /*×ó×ÓÅ®Èë¶Ó*/

else if (p->lchild) return 0; /*ǰ±ßÒÑÓнáµãΪ¿Õ£¬±¾½áµã²»¿Õ*/ else tag=1; /*Ê״γöÏÖ½áµãΪ¿Õ*/ if (p->rchild && !tag) QueueIn(Q,p->rchild); /*ÓÒ×ÓÅ®Èë¶Ó*/ else if (p->rchild) return 0; else tag=1; }/*while*/ return 1;

} /*JudgeComplete*/

5£®ÓÐn¸ö½áµãµÄÍêÈ«¶þ²æÊ÷´æ·ÅÔÚһάÊý×éA[1..n]ÖУ¬ÊԾݴ˽¨Á¢Ò»¿ÃÓöþ²æÁ´±í±íʾµÄ¶þ²æÊ÷£¬¸ùÓÉtreeÖ¸Ïò¡£

¡¾Ëã·¨Ô´´úÂë¡¿

typedef int ElemType;

BiTree Creat(ElemType A[],int i){ BiTree tree; if (i<=n) {

tree=(BiTree)malloc(sizeof(BiNode)); tree->data=A[i];

if(2*i>n) tree->lchild=NULL;

else tree->lchild=Creat(A,2*i); if(2*i+1>n) tree->rchild=NULL;

else tree->rchild=Creat(A,2*i+1); }

return (tree); }/*Creat*/

6£®±àдµÝ¹éËã·¨£¬ÔÚ¶þ²æÊ÷ÖÐÇóλÓÚÏÈÐòÐòÁÐÖеÚk¸öλÖõĽáµãµÄÖµ¡£ ¡¾Ëã·¨Ô´´úÂë¡¿

int c,k; /*ÕâÀï°ÑkºÍ¼ÆÊýÆ÷c×÷Ϊȫ¾Ö±äÁ¿´¦Àí */

void Get_PreSeq(BiTree T) /*ÇóÏÈÐòÐòÁÐΪkµÄ½áµãµÄÖµ */ { if(T)

{ c++; /*ÿ·ÃÎÊÒ»¸ö×ÓÊ÷µÄ¸ù¶¼»áʹǰÐòÐòºÅ¼ÆÊýÆ÷¼Ó1 */

if(c==k) { printf(\ return; } else

{ Get_PreSeq(T->lchild); /*ÔÚ×ó×ÓÊ÷ÖвéÕÒ */ Get_PreSeq(T->rchild); /*ÔÚÓÒ×ÓÊ÷ÖвéÕÒ */ } }/*if */

}/*Get_PreSeq */

7£®¼ÙÉèÒÔË«Ç×±íʾ·¨×÷Ê÷µÄ´æ´¢½á¹¹£¬Ð´³öË«Ç×±íʾµÄÀàÐÍ˵Ã÷£¬²¢±àдÇó¸ø¶¨µÄÊ÷µÄÉî¶ÈµÄËã·¨¡££¨×¢

37

£ºÒÑÖªÊ÷ÖнáµãÊý£© ¡¾Ëã·¨·ÖÎö¡¿

ÓÉÓÚÒÔË«Ç×±íʾ·¨×÷Ê÷µÄ´æ´¢½á¹¹£¬ÕÒ½áµãµÄË«Ç×ÈÝÒס£Òò´ËÎÒÃÇ¿ÉÇó³öÿһ½áµãµÄ²ã´Î£¬È¡Æä×î´ó²ã´Î¾ÍÊÇÊ÷µÄÉî¶È¡£¶Ôÿһ½áµã£¬ÕÒÆäË«Ç×£¬Ë«Ç×µÄË«Ç×£¬Ö±ÖÁ£¨¸ù£©½áµãË«Ç×Ϊ0Ϊֹ¡£ ¡¾Ëã·¨Ô´´úÂë¡¿ int Depth(PTree t){

int maxdepth=0; int i,f,temp; for(i=1;i<=t.n;i++){ temp=0; f=i;

while(f>0) {temp++; f=t.nodes[f].parent; } /* Éî¶È¼Ó1£¬²¢È¡ÐµÄË«Ç×*/ if(temp>maxdepth) maxdepth=temp; } /*×î´óÉî¶È¸üÐÂ*/ }

return(maxdepth);/*·µ»ØÊ÷µÄÉî¶È*/ } /*½áÊøDepth*/

8£®¶þ²æÊ÷²ÉÓöþ²æÁ´±í´æ´¢

£¨1£©±àд¼ÆËãÕû¸ö¶þ²æÊ÷¸ß¶ÈµÄËã·¨£¨¶þ²æÊ÷µÄ¸ß¶ÈÒ²½Ð¶þ²æÊ÷µÄÉî¶È£©¡£

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

¶þ²æÊ÷Êǵݹ鶨ÒåµÄ£¬ÆäÔËËã×îºÃ²ÉÈ¡µÝ¹é·½Ê½¡£Çó×î´ó¿í¶È¿É²ÉÓòã´Î±éÀúµÄ·½·¨£¬¼Çϸ÷²ã½áµãÊý£¬Ã¿²ã±éÀúÍê±Ï£¬Èô½áµãÊý´óÓÚÔ­ÏÈ×î´ó¿í¶È£¬ÔòÐÞ¸Ä×î´ó¿í¶È¡£ ¡¾Ëã·¨Ô´´úÂë¡¿

int Height(BiTree bt) /*Çó¶þ²æÊ÷btµÄÉî¶È*/ {int hl,hr;

if (bt==NULL) return(0); else {

hl=Height(bt->lchild); hr=Height(bt->rchild); if(hl>hr) return (hl+1); else return(hr+1);} }

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

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

int temp=0, maxw=0; /*temp¼Ç¾Ö²¿¿í¶È, maxw¼Ç×î´ó¿í¶È*/ Q[rear]=bt; /*¸ù½áµãÈë¶ÓÁÐ*/ while(front<=last)

{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; /*lastÖ¸Ïòϲã×îÓÒÔªËØ, ¸üе±Ç°×î´ó¿í¶È*/ if(temp>maxw) maxw=temp; temp=0;}/*if*/ }/*while*/

return (maxw); }

}/*½áÊøwidth*/

9£®ÉèÒ»¿Ã¶þ²æÊ÷ÒÔ¶þ²æÁ´±íΪ´æÖü½á¹¹£¬Éè¼ÆÒ»¸öËã·¨½«¶þ²æÊ÷ÖÐËùÓнáµãµÄ×ó£¬ÓÒ×ÓÊ÷Ï໥½»»»¡£ ¡¾Ëã·¨Ô´´úÂë¡¿

void exchange(BiTree bt)/*½«¶þ²æÊ÷btËùÓнáµãµÄ×óÓÒ×ÓÊ÷½»»» { BiTree p; if(bt){

p=bt->lchild; bt->lchild=bt->rchild; bt->rchild=p; /*×óÓÒ×ÓÅ®½»»» exchange(bt->lchild); /*½»»»×ó×ÓÊ÷ÉÏËùÓнáµãµÄ×óÓÒ×ÓÊ÷ exchange(bt->rchild); /*½»»»ÓÒ×ÓÊ÷ÉÏËùÓнáµãµÄ×óÓÒ×ÓÊ÷ } }

¡¾Ëã·¨ÌÖÂÛ¡¿

38

½«ÉÏÊöËã·¨ÖÐÁ½¸öµÝ¹éµ÷ÓÃÓï¾ä·ÅÔÚÇ°Ãæ£¬½«½»»»Óï¾ä·ÅÔÚ×îºó£¬ÔòÊÇÒÔºóÐò±éÀú·½Ê½½»»»ËùÓнáµãµÄ×óÓÒ×ÓÊ÷¡£ÖÐÐò±éÀú²»Êʺϱ¾Ìâ¡£

10£®ÒÑÖªÒ»¿Ã¸ß¶ÈΪ£Ë¾ßÓУî¸ö½áµãµÄ¶þ²æÊ÷£¬°´Ë³Ðò·½Ê½´æ´¢¡£ £¨1£©±àдÓÃÏȸù±éÀú¶þ²æÊ÷ÖÐÿ¸ö½áµãµÄµÝ¹éËã·¨£»

£¨2£©±àд½«Ê÷ÖÐ×î´óÐòºÅÒ¶×Ó½áµãµÄ׿ÏȽáµãÈ«²¿´òÓ¡Êä³öµÄËã·¨¡£ ¡¾Ëã·¨·ÖÎö¡¿

K

¸ß¶ÈΪKµÄ¶þ²æÊ÷£¬°´Ë³Ðò·½Ê½´æ´¢£¬ÒªÕ¼ÓÃ2-1¸ö´æ´¢µ¥Ôª£¬Óëʵ¼Ê½áµã¸öÊýn¹ØÏµ²»´ó£¬¶Ô²»ÊÇÍêÈ«¶þ²æÊ÷µÄ¶þ²æÊ÷£¬ÒªÔö¼Ó¡°Ðé½áµã¡±£¬Ê¹ÆäÔÚÐÎ̬ÉϳÉΪÍêÈ«¶þ²æÊ÷¡£×¢Ò⣺¶þ²æÊ÷ÖÐ×î´óÐòºÅµÄÒ¶×Ó½áµã£¬ÊÇÔÚ˳Ðò´æ´¢·½Ê½Ï±àºÅ×î´óµÄ½áµã¡£ ¡¾Ëã·¨Ô´´úÂë¡¿

K

int m=2-1; /*È«¾Ö±äÁ¿*/

void PreOrder(ElemType bt[], int i ) {if (i<=m) /*ÉèÐé½áµãÒÔ0±íʾ*/ {printf(\ /*·ÃÎʸù½áµã*/

if(2*i<=m && bt[2*i]!=0) PreOrder(bt,2*i); /*ÏÈÐò±éÀú×ó×ÓÊ÷*/ if(2*i+1<=m && bt[2*i+1]!=0) PreOrder(bt,2*i+1);/*ÏÈÐò±éÀúÓÒ×ÓÊ÷*/ }

}/*½áÊøPreOrder*/

void Ancesstor(ElemType bt[]){ /*´òÓ¡×î´óÐòºÅÒ¶×Ó½áµãµÄÈ«²¿×æÏÈ*/ c=m;

while(bt[c]==0) c--; /*ÕÒ×î´óÐòºÅÒ¶×Ó½áµã£¬¸Ã½áµã´æ´¢Ê±ÔÚ×îºó*/ f=c/2; /*cµÄË«Ç×½áµãf*/ while(f!=0){

/*´Ó½áµãcµÄË«Ç×½áµãÖ±µ½¸ù½áµã£¬Â·¾¶ÉÏËùÓнáµã¾ùÎª×æÏȽáµã*/ printf(\ f=f/2;

}/*ÄæÐòÊä³ö£¬×îÀϵÄ׿ÏÈ×îºóÊä³ö*/ }/*½áÊø*/

11£®±àдµÝ¹éËã·¨£¬¶ÔÓÚ¶þ²æÊ÷ÖÐÿһ¸öÔªËØÖµÎªXµÄ½áµã£¬É¾È¥ÒÔËüΪ¸ùµÄ×ÓÊ÷£¬²¢ÊÍ·ÅÏàÓ¦µÄ¿Õ¼ä¡£ ¡¾Ëã·¨Ô´´úÂë¡¿

void Del_Sub(BiTree T)/*ɾ³ý×ÓÊ÷T */ { if(T->lchild) Del_Sub(T->lchild); if(T->rchild) Del_Sub(T->rchild); free(T); }/*Del_Sub */

void Del_Sub_x(BiTree T,int x)/*ɾ³ýËùÓÐÒÔÔªËØxΪ¸ùµÄ×ÓÊ÷*/ { if(T->data==x) Del_Sub(T); /*ɾ³ý¸Ã×ÓÊ÷ */ else

{if(T->lchild) Del_Sub_x(T->lchild,x);

if(T->rchild) Del_Sub_x(T->rchild,x); /*ÔÚ×óÓÒ×ÓÊ÷ÖмÌÐø²éÕÒ */ }/*else */ }/*Del_Sub_x */

12£®Éè¼ÆÒ»¸öËã·¨£¬ÔÚÖÐÐòÈ«ÏßË÷¶þ²æÊ÷ÖУ¬²éÕÒ¸ø¶¨½áµã* pÔÚÖÐÐòÐòÁÐÖеĺó¼Ì£¨¶þ²æÊ÷µÄ¸ù½áµãÖ¸Õ벢δ¸ø³ö£©£¬²¢ÖÐÐò±éÀú¸ÃÏßË÷¶þ²æÊ÷¡£ ¡¾Ëã·¨Ô´´úÂë¡¿

BiThrTree insucc(BiThrTree p)/*ÕÒp½áµãµÄºó¼Ì*/ { if(p->rtag==1) /*ºó¼ÌÏßË÷*/ return p->rchild;

else /*ÓÒ×ÓÊ÷µÄ×î×óϽáµã*/ { p=p->rchild; while(p->ltag==0) p=p->lchild; return p; } }

void inorder_thr(BiThrTree T) { BiThrTree p=T; if(p)

{ while(p->ltag==0) p=p->lchild;/*ÕÒÖÐÐò±éÀúµÄµÚ1¸ö½áµã*/ do{ printf(\

39

p=insucc(p);/*ÕÒµ±Ç°½áµãµÄºó¼Ì½áµã*/ }while(p); } }

7.5 Ëã·¨Éè¼ÆÌâ

1£®Éè¼ÆÒ»¸öËã·¨£¬É¾³ýÎÞÏòͼµÄÁÚ½Ó¾ØÕóÖиø¶¨¶¥µã¡£ ¡¾Ëã·¨·ÖÎö¡¿

ÒªÔÚÁÚ½Ó¾ØÕóÖÐɾ³ýij¶¥µãiÖ÷Òª²Ù×÷ÓÐÒÔÏÂÈý²½£º£¨1£©Í¼µÄ±ßÊýÒª¼õÈ¥Óë¶¥µãiÏà¹ØÁªµÄ±ßµÄÊýÄ¿£»£¨2£©ÔÚÁÚ½Ó¾ØÕóÖÐɾ³ýµÚiÐÐÓëiÁÐ,¼´°ÑµÚi+£±Ðе½µÚnÐÐÒÀ´ÎÇ°ÒÆ£¬µÚi+£±Áе½µÚnÁÐÒÀ´ÎÇ°ÒÆ¡££¨3£©Í¼Öж¥µãµÄ¸öÊý-1¡£

¡¾Ëã·¨Ô´´úÂë¡¿

void Delvi(MGraph *G,int i)/*ÔÚͼ GÖÐɾ³ý¶¥µãI*/ {int num,j,k;

if(i<1||i>G->vexnum)

{printf(\ exit(0);} else {num=0;

for(j=1;j<=G->vexnum;j++)

{if(G->arcs[i][j]) num++; if(G->arcs[j][i]) num++; } G->arcnum-=num;

for(j=i+1;j<=G->vexnum;j++) for(k=1;k<=G->vexnum;k++)

G->arcs[j-1][k]=G->arcs[j][k]; for(j=i+1;j<=G->vexnum;j++) for(k=1;k<=G->vexnum-1;k++) G->arcs[k][j-1]=G->arcs[k][j]; G->vexnum--; } }

2£®Éè¼ÆÒ»¸öËã·¨£¬Çó³ö·Ö±ðÓÃÁÚ½Ó¾ØÕóºÍÁÚ½Ó±í±íʾµÄÓÐÏòͼÖж¥µãµÄ×î´ó³ö¶ÈÖµ¡£ ¡¾Ëã·¨·ÖÎö¡¿

ÓÃÁÚ½Ó¾ØÕó±íʾµÄÓÐÏòͼÖж¥µãµÄ×î´ó³ö¶ÈÊǸö¥µãËùÔÚÐÐÉÏ·ÇÁãÔªµÄ¸öÊý¡£ÁÚ½Ó±í±íʾµÄÓÐÏòͼÖж¥µãµÄ×î´ó³ö¶ÈÖµÊǸö¥µãËùÁ¬½ÓµÄµ¥Á´±íÖнáµãµÄ¸öÊý¡£ ¡¾Ëã·¨Ô´´úÂë1¡¿

void Max_du(MGraph *G) {int num,i,j; int max=0;

for(i=1;i<=G->vexnum;i++) {num=0;

for(j=1;j<=G->vexnum;j++) if(G->arcs[i][j]) num++; if(max

printf(\ }

¡¾Ëã·¨Ô´´úÂë2¡¿ÓÃÁÚ½Ó±í±íʾ void Max_du(ALGraph *G)

{ArcPtr p; int num,i,j; int max=0; for(i=1;i<=G->vexnum;i++) {num=0;

p=G->ag[i].firstarc;

while(p) {p=p->nextarc; num++; } if (max

printf(\ }

3£®ÒÑ֪ijÓÐÏòͼÓÃÁÚ½Ó±í±íʾ£¬Éè¼ÆÒ»¸öËã·¨£¬Çó³ö¸ø¶¨Á½¶¥µã¼äµÄ¼òµ¥Â·¾¶¡£ ¡¾Ëã·¨·ÖÎö¡¿

ÒòΪÔÚ±éÀúµÄ¹ý³ÌÖÐÿ¸ö¶¥µã½ö±»·ÃÎÊÒ»´Î£¬ËùÒÔ´Ó¶¥µãuµ½¶¥µãv±éÀúµÄ¹ý³ÌÖÐ×ß¹ýµÄ·¾¶¾ÍÊÇÒ»Ìõ¼òµ¥Â·¾¶¡£ÎÒÃÇÖ»ÐèÔÚ±éÀúËã·¨ÖÐÉÔ×÷Ð޸ģ¬¾Í¿ÉʵÏÖ¸ÃËã·¨¡£ÎªÁ˼Ǽ·¾¶ÖзÃÎʹýµÄ¶¥µã£¬Ö»ÐèÉèÒ»Êý×é´æ´¢×ß¹ýµÄ¶¥µã¼´¿É¡£ ¡¾Ëã·¨Ô´´úÂë¡¿

40

int visited[MAX_VERTEX_NUM]; int found;

void DFSpath(ALGraph *G,int u,int v){ int i;

for(i=1;i<=G->vexnum;i++)visited[i]=0; found=0; DFS(G,u,v); }

int path[MAX_VERTEX_NUM]; void DFS(ALGraph *G,int u,int v)

{ /*ÓÃÉî¶ÈÓÅÏȱéÀúË㷨ʵÏÖ¼òµ¥Â·¾¶µÄÇó½â*/ ArcPtr p;

if(found) return;

if(G->ag[u].firstarc==NULL){printf(¡°no path\\n¡±);return;} visited[u]=1;

for(p=G->ag[u].firstarc;p;p=p->nextarc) {

if (v==p->adjvex)

{path[u]=v; found=1; Print(u,v); return;} else if(!visited[p->adjvex])

{path[u]=p->adjvex; DFS(G,p->adjvex,v);} }

}/*DFS*/

void Print(int u,int v){ int m;

printf(\

for(m=path[u];m!=v;m=path[m]) printf(\ printf(\ }

4£®Éè¼ÆÒ»¸öÉî¶ÈÓÅÏȱéÀúͼµÄ·ÇµÝ¹éËã·¨¡££¨Í¼ÓÃÁÚ½Ó¾ØÕó´æ´¢£© ¡¾Ëã·¨·ÖÎö¡¿

ÔÚÏàÓ¦µÄÉî¶ÈÓÅÏȱéÀúµÄ·ÇµÝ¹éËã·¨ÖУ¬Ê¹ÓÃÒ»¸ö¸¨ÖúÊý×évisited[ ]£¬ÔÚvisited[i]ÖмÇÒäµÚi¸ö¶¥µãÊÇ·ñ·ÃÎʹý¡£Ê¹ÓÃÁËÒ»¸öÕ»s£¬´æ´¢»ØÍ˵Ä·¾¶¡£ ¡¾Ëã·¨Ô´´úÂë¡¿

void DFS ( int v ,Mgraph *G) {/*´Ó¶¥µãv¿ªÊ¼½øÐÐÉî¶ÈÓÅÏÈËÑË÷*/ int visited[MAX_VERTEX_NUM]; int s[MAX_VERTEX_NUM]; int i, j, k,top; top=0;s[++top]=v;

for ( i = 0; i < G->vexnum; i++ ) visited[i] = 0; while (!top ) { k = s[top]; top--; /*Õ»ÖÐÍ˳öÒ»¸ö¶¥µã*/ if (!visited[k] ) { printf(¡°%d¡±,k); visited[k] = 1; /*·ÃÎÊ£¬²¢×÷·ÃÎʱê¼Ç*/ for ( j =Vertex_num-1; j >= 0; j-- ) /*¼ì²ékµÄËùÓÐÁÚ½Ó¶¥µã*/ if ( k!= j &&!G->arcs[k][j]) s[++top]=j;/*ËùÓÐÁÚ½Ó¶¥µã½øÕ»*/ } } }

5£®Éè¼ÆÒ»¸öËã·¨£¬Êä³ö¾àÀë¶¥µãv0µÄ×î¶Ì·¾¶³¤¶ÈΪkµÄËùÓж¥µã£¬ÆäÖз¾¶³¤¶ÈÖ¸µÄÊÇ»¡»ò±ßµÄÊýÄ¿¡£ ¡¾Ëã·¨·ÖÎö¡¿

±¾ÌâÓùã¶ÈÓÅÏȱéÀúµÄ²ã´Î±éÀú·¨Çó½â±È½Ï¼òµ¥£¬ÒªÊä³öµ½v0µÄ·¾¶³¤¶ÈΪkµÄËùÓж¥µã£¬Ò²¾ÍÊÇÓÉv0¿ªÊ¼×÷ΪµÚÒ»²ã£¬ËüµÄÁÚ½Óµã×÷ΪµÚ¶þ²ã£¬ÒÀ´Î?£¬Êä³öµÚk+1²ãÉϵÄËùÓÐÔªËØ¡£¹ÊÔÚ·ÃÎÊÿһ¸ö¶¥µãµÄͬʱ£¬¼Ç¼ÏÂËüËùÔڵIJã´ÎÊý¡£Îª´ËÐèÉèÖÃÁ½¸ö¶ÓÁÐ·Ö±ð´æ·Å±»·ÃÎʵĶ¥µã¼°²ã´Î£¬ÇÒÁ½¸ö¶ÓÁÐҪͬ²½²Ù×÷¡£ ¡¾Ëã·¨Ô´´úÂë¡¿

#define MAX_VERTEX_NUM 20 int visited[MAX_VERTEX_NUM];

/*visited[i]=0±íʾiδ±»·ÃÎÊ, visited[i]=1±íʾiÒѱ»·ÃÎÊ*/ /**************************************/

41

void Init(SqQueue *q){ q->front=q->rear=0; }

/**************************************/ int Empty(SqQueue *q){ if (q->rear==q->front) return 1; return 0; }

/**************************************/ void Inqueue(SqQueue *q,int x){

if((q->rear+1) % MAX_VERTEX_NUM==q->front) {printf(\ return; } else{ q->rear=(q->rear+1) %MAX_VERTEX_NUM; q->data[q->rear]=x; } }

/**************************************/ int Outqueue(SqQueue *q){ if(Empty(q)){

printf(\ return -1; } else{ q->front=(q->front+1) % MAX_VERTEX_NUM; return(q->data[q->front]); } }

/**************************************/ void bfsk(int v0,int k,ALGraph *G){

/*ÔÚͼGÖвéÕÒ¾àÀëv0µÄ·¾¶³¤¶ÈΪkµÄËùÓж¥µã*/

int i,level,v,visited[MAX_VERTEX_NUM]; /*¶¨Òå·ÃÎÊÊý×é*/ ArcPtr w;

SqQueue Q1,Q2;/*¶¨ÒåÁ½¸ö¶ÓÁÐ*/ Init(&Q1);

Init(&Q2);/*Á½¸ö¶ÓÁгõʼ»¯*/ for(i=1;i<=G->vexnum;i++) visited[i]=0; visited[v0]=1; level=1;

Inqueue(&Q1,v0);

Inqueue(&Q2,level); /*v0¼°²ã´ÎÈë¶ÓÁÐ*/ while(!Empty(&Q1)&&(level

w=G->ag[v].firstarc;/*È¡vµÄµÚÒ»¸öÁÚ½Óµã*/ while(w){ if(!visited[w->adjvex]){ if(level==k) printf(\Êä³öÂú×ãÌõ¼þµÄÁÚ½Óµã*/ visited[w->adjvex]=1; Inqueue(&Q1,w->adjvex); Inqueue(&Q2,level+1); } w=w->nextarc; /*È¡vµÄÏÂÒ»¸öÁÚ½Óµã*/ } } }

6£®Éè¼ÆÒ»¸öËã·¨£¬ÓÃÉî¶ÈÓÅÏȱéÀú·¨¶ÔAOVÍø½øÐÐÍØÆËÅÅÐò£¬¼ì²âÆäÖÐÊÇ·ñ´æÔÚ»·¡£ ¡¾Ëã·¨·ÖÎö¡¿

Èç¹û´ÓÓÐÏòͼÖеÄij¸ö¶¥µãv³ö·¢¿ªÊ¼±éÀú£¬ÔÚdfs(v)½áÊøÖ®Ç°³öÏÖÒ»Ìõ´Ó¶¥µãuµ½¶¥µãvµÄ»Ø±ß£¬ÓÉÓÚuÔÚÉú

42

³ÉÊ÷ÉÏÊÇvµÄ×ÓËÔòÓÐÏòͼÖбض¨´æÔÚ°üº¬¶¥µãvºÍuµÄ»·¡£±¾Ëã·¨ÒÔÁÚ½Ó±í×÷Ϊ´æ´¢½á¹¹£¬º¯Êý·µ»Ø£±±íʾÎÞ»·£¬·µ»Ø£°±íʾÓл·£® ¡¾Ëã·¨Ô´´úÂë¡¿

#define MAX_VERTEX_NUM 20 int visited[MAX_VERTEX_NUM];

/*visited[i]=0±íʾiδ±»·ÃÎÊ, visited[i]=1±íʾiÒѱ»·ÃÎÊ*/ int finished[MAX_VERTEX_NUM];

/*finished[i]=1±íʾiÒѱ»·ÃÎÊ£¬finished[i]=£°±íʾiδ±»·ÃÎÊ*/ int flag=1;

void dfs(ALGraph *G,VertexType v){

/*±éÀúʱÈô²»´æÔÚ»·£¬Êä³öµÄÈ«²¿¶¥µãÐòÁм´ÎªÍØÆËÐòÁУ¬*/ /*·ñÔòflagÖÃΪ0,±íʾ´æÔÚ»·*/ ArcPtr p;

finished[v]=0; visited[v]=1;

p=G->ag[v].firstarc; while(p){

if(visited[p->adjvex]&&(!finished[p->adjvex])) flag=0;

else if(!finished[p->adjvex]){ dfs(G,p->adjvex);

finished[p->adjvex]=1; }

p=p->nextarc; } }

void dfs_sort(ALGraph *G){ int i;

for(i=0;ivexnum;i++) visited[i]=0;

for(i=0;ivexnum;i++) finished[i]=0; i=1;

while(flag&&ivexnum){ if(!visited[i]) dfs(G,i); finished[i]=1; } }

µÚ7Õ ͼ

7.1 Ñ¡ÔñÌâ

1£®¶ÔÓÚÒ»¸ö¾ßÓÐn¸ö¶¥µãºÍeÌõ±ßµÄÓÐÏòͼ£¬ÔÚÓÃÁÚ½Ó±í±íʾͼʱ£¬ÍØÆËÅÅÐòË㷨ʱ¼ä¸´ÔÓ¶ÈΪ£¨A£© O(n) B£© O(n+e) C£© O(n*n) D£© O(n*n*n) ¡¾´ð°¸¡¿B

2£®ÉèÎÞÏòͼµÄ¶¥µã¸öÊýΪn£¬Ôò¸Ãͼ×î¶àÓУ¨ £©Ìõ±ß¡£

A£©n-1 B£©n(n-1)/2 C£© n(n+1)/2 D£©n2

¡¾´ð°¸¡¿B

3£®Á¬Í¨·ÖÁ¿Ö¸µÄÊÇ£¨ £© A£© ÎÞÏòͼÖеļ«Ð¡Á¬Í¨×Óͼ B£© ÎÞÏòͼÖеļ«´óÁ¬Í¨×Óͼ C£© ÓÐÏòͼÖеļ«Ð¡Á¬Í¨×Óͼ D£© ÓÐÏòͼÖеļ«´óÁ¬Í¨×Óͼ ¡¾´ð°¸¡¿B

4£®n¸ö½áµãµÄÍêÈ«ÓÐÏòͼº¬ÓбߵÄÊýÄ¿£¨ £© A£©n*n B£©n£¨n+1£© C£©n/2 D£©n*£¨n-1£©

43

£©¡¾´ð°¸¡¿D

5£®¹Ø¼ü·¾¶ÊÇ£¨ £©

A£© AOEÍøÖдÓÔ´µãµ½»ãµãµÄ×·¾¶ B£© AOEÍøÖдÓÔ´µãµ½»ãµãµÄ×î¶Ì·¾¶ C£© AOVÍøÖдÓÔ´µãµ½»ãµãµÄ×·¾¶ D£© AOVÍøÖдÓÔ´µãµ½»ãµãµÄ×î¶Ì·¾¶ ¡¾´ð°¸¡¿A

6£®ÓÐÏòͼÖÐÒ»¸ö¶¥µãµÄ¶ÈÊǸö¥µãµÄ£¨ £©

A£©Èë¶È B£© ³ö¶È C£© Èë¶ÈÓë³ö¶ÈÖ®ºÍ D£© £¨Èë¶È+³ö¶È£©/2 ¡¾´ð°¸¡¿C

7£®ÓÐeÌõ±ßµÄÎÞÏòͼ£¬ÈôÓÃÁÚ½Ó±í´æ´¢£¬±íÖÐÓУ¨ £©±ß½áµã¡£ A£© e B£© 2e C£© e-1 D£© 2(e-1) ¡¾´ð°¸¡¿B

8£®ÊµÏÖͼµÄ¹ã¶ÈÓÅÏÈËÑË÷Ëã·¨ÐèʹÓõĸ¨ÖúÊý¾Ý½á¹¹Îª£¨ £© A£© Õ» B£© ¶ÓÁÐ C£© ¶þ²æÊ÷ D£© Ê÷ ¡¾´ð°¸¡¿B

9£®ÊµÏÖͼµÄ·ÇµÝ¹éÉî¶ÈÓÅÏÈËÑË÷Ëã·¨ÐèʹÓõĸ¨ÖúÊý¾Ý½á¹¹Îª£¨ £© A£© Õ» B£© ¶ÓÁÐ C£© ¶þ²æÊ÷ D£© Ê÷ ¡¾´ð°¸¡¿A

10£®´æ´¢ÎÞÏòͼµÄÁÚ½Ó¾ØÕóÒ»¶¨ÊÇÒ»¸ö£¨ £©

A£© ÉÏÈý½Ç¾ØÕó B£©Ï¡Êè¾ØÕó C£© ¶Ô³Æ¾ØÕó D£© ¶Ô½Ç¾ØÕó ¡¾´ð°¸¡¿C

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

12£®ÔÚͼ²ÉÓÃÁÚ½Ó±í´æ´¢Ê±£¬Çó×îСÉú³ÉÊ÷µÄ Prim Ëã·¨µÄʱ¼ä¸´ÔÓ¶ÈΪ£¨ £©

23

A£© O(n) B£© O(n+e) C£© O(n) D£© O(n) ¡¾´ð°¸¡¿B

13£®ÏÂÁйØÓÚAOEÍøµÄÐðÊöÖУ¬²»ÕýÈ·µÄÊÇ£¨ £© A£©¹Ø¼ü»î¶¯²»°´ÆÚÍê³É¾Í»áÓ°ÏìÕû¸ö¹¤³ÌµÄÍê³Éʱ¼ä

B£©ÈκÎÒ»¸ö¹Ø¼ü»î¶¯ÌáǰÍê³É£¬ÄÇôÕû¸ö¹¤³Ì½«»áÌáǰÍê³É C£©ËùÓеĹؼü»î¶¯ÌáǰÍê³É£¬ÄÇôÕû¸ö¹¤³Ì½«»áÌáǰÍê³É D£©Ä³Ð©¹Ø¼ü»î¶¯ÌáǰÍê³É£¬ÄÇôÕû¸ö¹¤³Ì½«»áÌáǰÍê³É ¡¾´ð°¸¡¿B

14£®¾ßÓÐ10¸ö¶¥µãµÄÎÞÏòͼÖÁÉÙÓжàÉÙÌõ±ß²ÅÄܱ£Ö¤Á¬Í¨£¨ £© A£© 9 B£©10 C£© 11 D£© 12 ¡¾´ð°¸¡¿A

15£®ÔÚº¬n¸ö¶¥µãºÍeÌõ±ßµÄÎÞÏòͼµÄÁÚ½Ó¾ØÕóÖУ¬ÁãÔªËØµÄ¸öÊýΪ£¨ £©

22

A£© e B£©2e C£© n-e D£©n-2e ¡¾´ð°¸¡¿D

7.2 Ìî¿ÕÌâ

1£®ÎÞÏòͼÖÐËùÓж¥µãµÄ¶ÈÊýÖ®ºÍµÈÓÚËùÓбßÊýµÄ_____________±¶¡£ ¡¾´ð°¸¡¿2

2£®¾ßÓÐn¸ö¶¥µãµÄÎÞÏòÍêȫͼÖаüº¬ÓÐ_____________Ìõ±ß£¬¾ßÓÐn¸ö¶¥µãµÄÓÐÏòÍêȫͼÖаüº¬ÓÐ_____________Ìõ±ß¡£ ¡¾´ð°¸¡¿£¨1£©n(n-1)/2 £¨2£© n(n-1)

44

3£®Ò»¸ö¾ßÓÐn¸ö¶¥µãµÄÎÞÏòͼÖУ¬ÒªÁ¬Í¨ËùÓж¥µãÔòÖÁÉÙÐèÒª_____________Ìõ±ß¡£ ¡¾´ð°¸¡¿n-1

4£®¼Ù¶¨Ò»¸öͼ¾ßÓÐn¸ö¶¥µãºÍeÌõ±ß£¬Ôò²ÉÓÃÁÚ½Ó¾ØÕó¡¢ÁÚ½Ó±í±íʾʱ£¬ÆäÏàÓ¦µÄ¿Õ¼ä¸´ÔÓ¶È·Ö±ðΪ_____________ºÍ_____________¡£

2

¡¾´ð°¸¡¿£¨1£©O(n) £¨2£© O(n+e)

5£®¶ÔÓÃÁÚ½Ó¾ØÕó±íʾµÄͼ½øÐÐÈÎÒ»ÖÖ±éÀúʱ£¬Æäʱ¼ä¸´ÔÓ¶ÈΪ_____________£¬¶ÔÓÃÁÚ½Ó±í±íʾµÄͼ½øÐÐÈÎÒ»ÖÖ±éÀúʱ£¬Æäʱ¼ä¸´ÔÓ¶ÈΪ_____________¡£

2

¡¾´ð°¸¡¿£¨1£©O(n) £¨2£© O(e)

6£®¶ÔÓÚÒ»¸ö¾ßÓÐn¸ö¶¥µãºÍeÌõ±ßµÄÓÐÏòͼºÍÎÞÏòͼ£¬ÔÚÆä¶ÔÓ¦µÄÁÚ½Ó±íÖУ¬Ëùº¬±ß½áµã·Ö±ðΪ_____________ºÍ_____________Ìõ¡£ ¡¾´ð°¸¡¿£¨1£©e £¨2£©2e

7£® ÔÚÓÐÏòͼµÄÁÚ½Ó±íºÍÄæÁÚ½Ó±í±íʾÖУ¬Ã¿¸ö¶¥µãµÄ±ßÁ´±íÖзֱðÁ´½Óןö¥µãµÄËùÓÐ_____________ºÍ_____________½áµã¡£ ¡¾´ð°¸¡¿£¨1£©³ö±ß £¨2£© Èë±ß

8£® ¶ÔÓÚÒ»¸ö¾ßÓÐn¸ö¶¥µãºÍeÌõ±ßµÄÎÞÏòͼ£¬µ±·Ö±ð²ÉÓÃÁÚ½Ó¾ØÕó¡¢ÁÚ½Ó±í±íʾʱ£¬ÇóÈÎÒ»¶¥µã¶ÈÊýµÄʱ¼ä¸´ÔÓ¶ÈÒÀ´ÎΪ_____________ºÍ_____________¡£ ¡¾´ð°¸¡¿£¨1£©O(n) £¨2£©O(e+n)

9£®¶ÔÓÚÒ»¸ö¾ßÓÐn¸ö¶¥µãºÍeÌõ±ßµÄÁ¬Í¨Í¼£¬ÆäÉú³ÉÊ÷ÖеĶ¥µãÊýºÍ±ßÊý·Ö±ðΪ_____________ºÍ_____________¡£ ¡¾´ð°¸¡¿£¨1£©n £¨2£© n-1

10£®PrimËã·¨ºÍKruscalËã·¨µÄʱ¼ä¸´ÔÓ¶È·Ö±ðΪ_____________ºÍ_____________¡£

2

¡¾´ð°¸¡¿£¨1£©O(n) £¨2£©O(eloge)

11£®Õë¶ÔÏÂͼËùʾµÄÁ¬Í¨ÍøÂ磬ÊÔ°´Èçϸñʽ¸ø³öÔÚKruscalËã·¨¹¹Ôì×îСÉú³ÉÊ÷¹ý³ÌÖÐ˳ÐòÑ¡³öµÄ¸÷Ìõ±ß

¡£

¡¾´ð°¸¡¿Éè±ßµÄÐÅÏ¢±íʾΪ£¨Ê¼µã£¬Öյ㣬Ȩֵ£©£¬ÔòÔÚKruscalËã·¨¹¹Ôì×îСÉú³ÉÊ÷¹ý³ÌÖÐ˳ÐòÑ¡³öµÄ¸÷Ìõ±ßΪ£º£¨3 £¬5£¬1£©£¬£¨2£¬4£¬2£©£¬£¨1£¬5£¬3£©£¬£¨1£¬2£¬3£©¡£

7.3 ÅжÏÌâ

1£®Í¼ÊÇÒ»ÖÖ·ÇÏßÐԽṹ£¬ËùÒÔÖ»ÄÜÓÃÁ´Ê½´æ´¢¡££¨ £© ¡¾´ð°¸¡¿¡Á

2£®Í¼µÄ×îСÉú³ÉÊ÷ÊÇΨһµÄ¡££¨ £© ¡¾´ð°¸¡¿¡Á

3£®Èç¹ûÒ»¸öͼÓÐn¸ö¶¥µãºÍСÓÚn-1 Ìõ±ß£¬ÔòÒ»¶¨ÊÇ·ÇÁ¬Í¨Í¼¡££¨ £© ¡¾´ð°¸¡¿¡Ì

4£®ÓÐn-1 Ìõ±ßµÄͼһ¶¨ÊÇÉú³ÉÊ÷¡££¨ £© ¡¾´ð°¸¡¿¡Á

5£®ÓÃÁÚ½Ó¾ØÕó±íʾͼʱ£¬¾ØÕóÔªËØµÄ¸öÊýÓë¶¥µã¸öÊýÏà¹Ø£¬Óë±ßÊýÎ޹ء££¨ £© ¡¾´ð°¸¡¿¡Ì

6£®ÓÃÁÚ½Ó±í±íʾͼʱ£¬¶¥µã¸öÊýÉèΪn£¬±ßµÄÌõÊýÉèΪe£¬ÔÚÁÚ½Ó±íÉÏÖ´ÐÐÓйØÍ¼µÄ±éÀú²Ù×÷ʱ£¬Ê±¼ä´ú¼ÛΪO(n+e)¡££¨ £© ¡¾´ð°¸¡¿¡Ì

45

7£®ÄæÁÚ½Ó±íÖ»ÄÜÓÃÓÚÓÐÏòͼ£¬ÁÚ½Ó±í¶ÔÓÚÓÐÏòͼºÍÎÞÏòͼµÄ´æ´¢¶¼ÊÊÓᣣ¨ £© ¡¾´ð°¸¡¿¡Ì

8£®ÈκÎÒ»¸ö¹Ø¼ü»î¶¯ÌáǰÍê³É, ÄÇôÕû¸ö¹¤³Ì½«»áÌáǰÍê³É¡££¨ £© ¡¾´ð°¸¡¿¡Á

9£®ÔÚAOEÍøÂçÖйؼü·¾¶Ö»ÓÐÒ»Ìõ¡££¨ £© ¡¾´ð°¸¡¿¡Á

10£®ÔÚAOVÍøÂçÖÐÈç¹û´æÔÚ»·£¬ÔòÍØÆËÅÅÐò²»ÄÜÍê³É¡££¨ £© ¡¾´ð°¸¡¿¡Ì

11£®Í¼µÄÁÚ½Ó¾ØÕó´æ´¢ÊÇΨһµÄ£¬ÁÚ½Ó±í´æ´¢Ò²ÊÇΨһµÄ¡££¨ £© ¡¾´ð°¸¡¿¡Á

12£®¼ÙÉèÒ»¸öÓÐn¸ö¶¥µãºÍeÌõ»¡µÄÓÐÏòͼÓÃÁÚ½Ó±í±íʾ£¬Ôòɾ³ýÓëij¸ö¶¥µãviÏà¹ØµÄËùÓл¡µÄʱ¼ä¸´ÔÓ¶ÈÊÇO(n*e) ¡££¨ £© ¡¾´ð°¸¡¿¡Á

13£®ÈÎÒâÒ»¸öͼ¶¼ÊÇÆä×ÔÉíµÄ×Óͼ¡££¨ £© ¡¾´ð°¸¡¿¡Ì

14£®Ò»¸öÎÞÏòÁ¬Í¨Í¼µÄÉú³ÉÊ÷ÊǺ¬ÓиÃÁ¬Í¨Í¼µÄÈ«²¿¶¥µãµÄ¼«´óÁ¬Í¨×Óͼ¡££¨ £© ¡¾´ð°¸¡¿¡Á

7.4 Ó¦ÓÃÌâ

1£®ÉèÓÐÒ»ÓÐÏòͼΪG=(V£¬E)¡£ÆäÖУ¬V={ v1, v2, v3, v4, v5}£¬E={, , , , , , }£¬Çë»­³ö¸ÃÓÐÏòͼ²¢ÅжÏÊÇ·ñÊÇÇ¿Á¬Í¨Í¼¡£ ·ÖÎö£º×÷¸ÃÌâµÄ¹Ø¼üÊÇŪÇå³þÒÔÏÂÁ½µã

£¨1£©±ß¼¯EÖбíʾһÌõÒÔviΪ»¡Î²£¬vjΪ»¡Í·µÄÓÐÏò»¡¡£ £¨2£©Ç¿Á¬Í¨Í¼ÊÇÈÎÒâÁ½¶¥µã¼ä¶¼´æÔÚ·¾¶µÄÓÐÏòͼ¡£ ¡¾´ð°¸¡¿¸ÃÓÐÏòͼÊÇÇ¿Á¬Í¨Í¼£¬±íʾÈçÏ£º

2£®»­³ö1¸ö¶¥µã¡¢2¸ö¶¥µã¡¢3¸ö¶¥µã¡¢4¸ö¶¥µãºÍ5¸ö¶¥µãµÄÎÞÏòÍêȫͼ¡£²¢ËµÃ÷ÔÚn¸ö¶¥µãµÄÎÞÏòÍêȫͼÖУ¬±ßµÄÌõÊýΪn(n-1)/2¡£ ¡¾´ð°¸¡¿

¡¾½âÎö¡¿ÒòΪÔÚÓÐn¸ö¶¥µãµÄÎÞÏòÍêȫͼÖУ¬Ã¿Ò»¸ö¶¥µãÓëÆäËüÈÎÒ»¶¥µã¶¼ÓÐÒ»Ìõ±ßÏàÁ¬£¬ËùÒÔÿһ¸ö¶¥µãÓÐn-1Ìõ±ßÓëÆäËû¶¥µãÏàÁ¬£¬Ôò n¸ö¶¥µãÓÐn(n-1)Ìõ±ß¡£µ«ÔÚÎÞÏòͼÖУ¬¶¥µãiµ½¶¥µãjÓë¶¥µãjµ½¶¥µãiÊÇͬһÌõ±ß£¬ËùÒÔ×ܹ²ÓÐn(n-1)/2Ìõ±ß¡£

3£®¶Ôn¸ö¶¥µãµÄÎÞÏòͼG£¬²ÉÓÃÁÚ½Ó¾ØÕó±íʾ£¬ÈçºÎÅбðÏÂÁÐÓйØÎÊÌ⣺ £¨1£©Í¼ÖÐÓжàÉÙÌõ±ß?

£¨2£©ÈÎÒâÁ½¸ö¶¥µãiºÍjÊÇ·ñÓбßÏàÁ¬?

46

£¨3£©ÈÎÒâÒ»¸ö¶¥µãµÄ¶ÈÊǶàÉÙ? ¡¾´ð°¸¡¿

£¨1£©ÎÞÏòͼµÄÁÚ½Ó¾ØÕóÊǶԳƵ쬹ÊËüµÄ±ßÊýÓ¦ÊÇÉÏÈý½Ç»òÏÂÈý½ÇµÄ·Ç0Ôª¸öÊý¡£ £¨2£©ÁÚ½Ó¾ØÕóÖÐÈç¹ûµÚiÐеÚjÁеÄÔªËØ·Ç0Ôò±íʾ¶¥µãiÓë¶¥µãjÏàÁ¬¡£ £¨3£©ÈÎÒâÒ»¸ö¶¥µãviµÄ¶ÈÊǵÚiÐлòµÚiÁÐÉÏ·Ç0ÔªµÄ¸öÊý¡£

4£®ÊìϤͼµÄ´æ´¢½á¹¹£¬»­³öÏÂÃæÓÐÏòͼµÄÁÚ½Ó¾ØÕó¡¢ÁÚ½Ó±í¡¢ÄæÁÚ½Ó±í¡¢Ê®×ÖÁ´±í¡£Ð´³öÁÚ½Ó±í±íʾµÄͼ´Ó¶¥µãA³ö·¢µÄÉî¶ÈÓÅÏȱéÀúÐòÁк͹ã¶ÈÓÅÏȱéÀúÐòÁС£

¡¾´ð°¸¡¿

ÁÚ½Ó¾ØÕóÈçÏ£º ÁÚ½Ó±íÈçÏ£º

ÄæÁÚ½Ó±íÈçÏ£º

Ê®×ÖÁ´±íÈçÏ£º

47

Éî¶ÈÓÅÏȱéÀúÐòÁÐΪABCFED£¬¹ã¶ÈÓÅÏȱéÀúÐòÁÐΪABDCEF

5£®ÒÑÖªÏÂÃæÊÇijÎÞÏòͼµÄÁÚ½Ó±í£¬»­³ö¸ÃÎÞÏòͼ£¬²¢·Ö±ð¸ø³ö´ÓA³ö·¢µÄÉî¶ÈÓÅÏÈËÑË÷Éú³ÉÊ÷ºÍ¹ã¶ÈÓÅÏÈËÑË÷Éú³ÉÊ÷¡£

¡¾½âÎö¡¿×÷¸ÃÌâµÄ¹Ø¼üÊÇŪÇå³þÁÚ½Ó±íµÄ¸ÅÄÀí½âÉî¶ÈÓÅÏÈËÑË÷ºÍ¹ã¶ÈÓÅÏÈËÑË÷µÄÈ«¹ý³ÌÒÔ¼°¶þÕßµÄÇø±ð¡£

¡¾´ð°¸¡¿¸ÃÎÞÏòͼÈçÏÂËùʾ£º

Éî¶ÈÓÅÏÈËÑË÷Éú³ÉÊ÷Ϊ£º ¹ã¶ÈÓÅÏÈËÑË÷Éú³ÉÊ÷Ϊ£º

6£®Çë·Ö±ðÓÃPrimËã·¨ºÍKruskalËã·¨¹¹ÔìÒÔÏÂÍøÂçµÄ×îСÉú³ÉÊ÷£¬²¢Çó³ö¸ÃÊ÷µÄ´ú¼Û¡£

48

¡¾½âÎö¡¿PrimËã·¨µÄ²Ù×÷²½Ö裺Ê×ÏÈ´ÓÒ»¸öÖ»ÓÐÒ»¸ö¶¥µãµÄ¼¯ºÏ¿ªÊ¼£¬Í¨¹ý¼ÓÈëÓëÆäÖж¥µãÏà¹ØÁªµÄ×îС´ú¼ÛµÄ±ßÀ´À©³ä¶¥µã¼¯£¬Ö±µ½ËùÓж¥µã¶¼ÔÚÒ»¸ö¼¯ºÏÖС£ ¡¾´ð°¸¡¿

¡¾½âÎö¡¿KruscalËã·¨µÄ²Ù×÷²½Ö裺 Ê×ÏȽ«n¸ö¶¥µã¿´³Én¸ö»¥²»Á¬Í¨µÄ·ÖÁ¿£¬´Ó±ß¼¯ÖÐÕÒ×îС´ú¼ÛµÄ±ß£¬Èç¹ûÂäÔÚ²»Í¬Á¬Í¨·ÖÁ¿ÉÏ£¬Ôò½«Æä¼ÓÈë×îСÉú³ÉÊ÷£¬Ö±µ½ËùÓж¥µã¶¼ÔÚͬһÁ¬Í¨·ÖÁ¿ÉÏ¡£ ¡¾´ð°¸¡¿

7£® д³öÇóÒÔÏÂAOEÍøµÄ¹Ø¼ü·¾¶µÄ¹ý³Ì¡£ÒªÇ󣺸ø³öÿһ¸öʼþºÍÿһ¸ö»î¶¯µÄ×îÔ翪ʼʱ¼äºÍ×îÍí¿ªÊ¼Ê±¼ä¡£

49

¡¾½âÎö¡¿Ç󹨼ü·¾¶Ê×ÏÈÇ󹨼ü»î¶¯£¬¹Ø¼ü»î¶¯aiµÄÇó½â¹ý³ÌÈçÏ £¨1£©ÇóʼþµÄ×îÔç·¢Éúʱ¼äve(j), ×îÍí·¢Éúʱ¼ävl(j);

£¨2£©×îÔç·¢Éúʱ¼ä´Óve(0)¿ªÊ¼°´ÍØÆËÅÅÐòÏòǰµÝÍÆµ½ve(6), ×îÍí·¢Éúʱ¼ä´Óvl(6)°´ÄæÍØÆËÅÅÐòÏòºóµÝÍÆµ½ vl(0);

£¨3£©¼ÆËãe(i),l(i)£ºÉèaiÓÉ»¡±íʾ£¬³ÖÐøÊ±¼ä¼ÇΪdut£¬ÔòÓÐÏÂʽ³ÉÁ¢ e(i)=ve(j)

l(i)=vl(k)-dut()

£¨4£©ÕÒ³öe(i)-l(i)=0µÄ»î¶¯¼ÈÊǹؼü»î¶¯¡£ ¡¾´ð°¸¡¿

¹Ø¼ü·¾¶Îª£ºa0->a4->a6->a9

8£® ÍØÆËÅÅÐòµÄ½á¹û²»ÊÇΨһµÄ£¬ÊÔд³öÏÂͼÈÎÒâ2¸ö²»Í¬µÄÍØÆËÐòÁС£

¡¾½âÎö¡¿½âÌâ¹Ø¼üÊÇŪÇåÍØÆËÅÅÐòµÄ²½Öè

£¨1£©ÔÚAOVÍøÖУ¬Ñ¡Ò»¸öûÓÐǰÇýµÄ½áµãÇÒÊä³ö£»£¨2£©É¾³ý¸Ã¶¥µãºÍÒÔËüΪβµÄ»¡£»£¨3£©Öظ´ÉÏÊö²½ÖèÖ±ÖÁÈ«²¿¶¥µã¾ùÊä³ö»ò²»ÔÙÓÐÎÞǰÇýµÄ¶¥µã¡£ ¡¾´ð°¸¡¿£¨1£©0132465 £¨2£©0123465

9£®¸ø¶¨´øÈ¨ÓÐÏòͼGºÍÔ´µãv1,ÀûÓõϽÜË¹ÌØÀ­£¨Dijkstra£©Ëã·¨Çó´Óv1µ½ÆäÓà¸÷¶¥µãµÄ×î¶Ì·¾¶¡£

50

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