数�结构课程课�习题集答案解�- 百度文库

ÄÚÈÝ·¢²¼¸üÐÂʱ¼ä : 2026/9/30 16:16:46ÐÇÆÚÒ» ÏÂÃæÊÇÎÄÕµÄÈ«²¿ÄÚÈÝÇëÈÏÕæÔĶÁ¡£

4. Ëã·¨Éè¼ÆÌâ

£¨1£©Éè¼ÆÒ»¸öËã·¨RepChar(s,x,y)£¬½«Ë³Ðò´®sÖÐËùÓÐ×Ö·ûxÌæ»»³É×Ö·ûy¡£ÒªÇó¿Õ¼ä¸´ÔÓ¶ÈΪO(1)¡£

½â£ºÒòÒªÇóËã·¨¿Õ¼ä¸´ÔÓ¶ÈΪO(1)£¬ËùÒÔÖ»ÄܶԴ®sÖ±½ÓÌæ»»¡£´ÓÍ·¿ªÊ¼±éÀú´®s£¬Ò»µ©ÕÒµ½×Ö·ûx±ã½«ÆäÌæ»»³Éy¡£¶ÔÓ¦Ëã·¨ÈçÏ£º

void RepStr(SqString &s,char x,char y) { }

int i;

for (i=0;i

if (s.data[i]==x)

s.data[i]=y;

£¨2£©Éè¼ÆÒ»¸öËã·¨£¬ÅжÏÁ´´®sÖÐËùÓÐÔªËØÊÇ·ñΪµÝÔöÅÅÁеġ£ ½â£ºÓÃpºÍqÖ¸ÏòÁ´´®sµÄÁ½¸öÁ¬Ðø½áµã£¬pÏÈÖ¸Ïò¿ªÊ¼½áµã£¬µ±q->data¡Ýp->dataʱ£¬pºÍqͬ²½ºóÒÆÒ»¸ö½áµã£»·ñÔò·µ»Ø0¡£µ±ËùÓÐÔªËØÊǵÝÔöÅÅÁÐʱ·µ»Ø1¡£¶ÔÓ¦Ëã·¨ÈçÏ£º

int increase(LinkString *s) { }

LinkString *p=s->next,*q; if (p!=NULL) { } return 1;

while (p->next!=NULL) { }

q=p->next;

p=q;

//ÄæÐòʱ·µ»Ø0

return 0;

//qÖ¸Ïò*pµÄºóÐø½áµã

if (q->data>=p->data) else

£¨3£©¼ÙÉèÒÔÁ´Ê½½á¹¹´æ´¢Ò»¸ö´®s£¬Éè¼ÆÒ»¸öËã·¨Çó´®sÖÐ×µÈÖµ×Ó´®¡£

½â£º¼ÙÉè´®ÓôøÍ·½áµãµÄµ¥Á´±í´æ´¢´®s¡£ÓÃmax´æ·Å×î´óƽ̨³¤¶È£¬É¨Ãè´®s£¬¼ÆËãÒ»¸öƽ̨µÄ³¤¶Èn£¬Èôn´óÓÚmax£¬ÔòÖÃmaxΪn¡£¶ÔÓ¦µÄËã·¨ÈçÏ£º

int maxlength(LinkString *s) {

int n,max=0;

LinkString *p=s->next,*q; while (p!=NULL) {

n=1;

q=p;p=p->next;

while (p!=NULL && p->data==q->data) { }

if (n>max) max=n;

n++; p=p->next;

Êý¾Ý½á¹¹¼òÃ÷½Ì³Ì

}

} return max;

ÉÏ»úʵÑéÌâ4

Á½¸ö·Ç¿Õ´®sºÍt²ÉÓÃ˳Ðò´æ´¢½á¹¹´æ´¢£¬Éè¼ÆÒ»¸öËã·¨ÇóÕâÁ½¸ö´®×î´ó¹«¹²×Ó´®£¬²¢ÓÃÏà¹ØÊý¾Ý½øÐвâÊÔ¡£

½â£º²ÉÓÃIndexË㷨˼·Éè¼ÆÓÉ˳Ðò´®s¡¢t²úÉú×î´ó¹«¹²×Ó´®str¡£¶ÔÓ¦µÄ³ÌÐòÈçÏ£º

#include #include \ { } void main() {

SqString s,t,str;

Assign(s,\Assign(t,\printf(\SqString str;

int midx=0,mlen=0,tlen,i=0,j,k; while (i

for (i=0;i

str.length=mlen; return str;

//·µ»Ø×î´ó¹«¹²×Ó´®

//½«×î´ó¹«¹²×Ó´®¸´ÖƵ½strÖÐ

str.data[i]=s.data[midx+i]; j=0; { } i++;

//¼ÌÐøÉ¨ÃèsÖеÚi×Ö·ûÖ®ºóµÄ×Ö·û

while (j

if (s.data[i]==t.data[j]) //ÕÒÒ»×Ó´®,ÔÚsÖÐϱêΪi,³¤¶ÈΪtlen { } else j++;

tlen=1;

for (k=1;i+k

//¼ÌÐøÉ¨ÃètÖеÚj+tlen×Ö·ûÖ®ºóµÄ×Ö·û

&& s.data[i+k]==t.data[j+k];k++)

//½«½Ï´ó³¤¶ÈÕ߸³¸ømidxÓëmlen

tlen++; midx=i; mlen=tlen;

//ÓÃ(midx,mlen)±£´æ×î´ó¹«¹²×Ó´® //ÓÃiɨÃè´®s

//ÓÃjɨÃè´®t

//°üº¬Ë³Ðò´®µÄ»ù±¾ÔËË㺯Êý

SqString maxcomstr(SqString s,SqString t)

if (tlen>mlen)

}

printf(\

printf(\Çós¡¢tµÄ×î´ó¹«¹²×Ó´®str\\n\str=maxcomstr(s,t); printf(\

Á·Ï°Ìâ5

1. µ¥ÏîÑ¡ÔñÌâ

£¨1£©¼ÙÉèÓÐ60ÐÐ70ÁеĶþάÊý×éa[1..60,1..70]£¨Êý×éϱê´Ó1¿ªÊ¼£©ÒÔÁÐÐòΪÖ÷Ðò˳Ðò´æ´¢£¬Æä»ùµØÖ·Îª10000£¬Ã¿¸öÔªËØÕ¼2¸ö´æ´¢µ¥Ôª£¬ÄÇôµÚ32ÐеÚ58ÁеÄÔªËØa[32,58]µÄ´æ´¢µØÖ·Îª£¨ £©¡£

A.16902 B.16904 C.14454 D.ÒÔÉ϶¼²»¶Ô ´ð£ºA

£¨2£©¶ÔÌØÊâ¾ØÕó²ÉÓÃѹËõ´æ´¢µÄÄ¿µÄÖ÷ÒªÊÇΪÁË£¨ £©¡£ A.±í´ï±äµÃ¼òµ¥ B.¶Ô¾ØÕóÔªËØµÄ´æÈ¡±äµÃ¼òµ¥ C.È¥µô¾ØÕóÖеĶàÓàÔªËØ D.¼õÉÙ²»±ØÒªµÄ´æ´¢¿Õ¼ä ´ð£ºD

£¨3£©Ò»¸ön¡ÁnµÄ¶Ô³Æ¾ØÕó£¬Èç¹û²ÉÓÃѹËõ´æ´¢ÒÔÐлòÁÐΪÖ÷Ðò·ÅÈëÄڴ棬ÔòѹËõ´æ´¢µÄÈÝÁ¿ÊÇ£¨ £©¡£

A. n2 B. n2/2 C. n(n+1)/2 D. (n+1)2/2 ´ð£ºC

£¨4£©Éè¾ØÕóaÊÇÒ»¸ö¶Ô³Æ¾ØÕó£¬ÎªÁ˽ÚÊ¡´æ´¢£¬½«ÆäÏÂÈý½Ç²¿·Ö°´ÐÐÐò´æ·ÅÔÚһάÊý×éb[1..n(n-1)/2]ÖУ¨Êý×éϱê¾ù´Ó1¿ªÊ¼£©£¬¶ÔÏÂÈý½Ç²¿·ÖÖÐÈÎÒ»ÔªËØai,j£¨i¡Üj£©ÔÚһάÊý×ébÖÐϱêkµÄÖµÊÇ£¨ £©¡£

A.i(i-1)/2+j-1 B.i(i-1)/2+j C.i(i+1)/2+j-1 D.i(i+1)/2+j ´ð£ºB

£¨5£©ÓÐÒ»¸ö¶þάÊý×éA£¬ÐÐϱêµÄ·¶Î§ÊÇ0¡«8£¬ÁÐϱêµÄ·¶Î§ÊÇ1¡«5£¬Ã¿¸öÊý×éÔªËØÓÃÏàÁÚµÄ4¸ö×Ö½Ú´æ´¢¡£´æ´¢Æ÷°´×Ö½Ú±àÖ·¡£¼ÙÉè´æ´¢Êý×éÔªËØA[0,1]µÄµÚÒ»¸ö×ֽڵĵØÖ·ÊÇ0¡£´æ´¢Êý×éAµÄ×îºóÒ»¸öÔªËØµÄµÚÒ»¸ö×ֽڵĵØÖ·ÊÇ£¨ ¢Ù £©¡£Èô°´Ðд洢£¬ÔòA[3,5]ºÍA[5,3]µÄµÚÒ»¸ö×ֽڵĵØÖ··Ö±ðÊÇ£¨ ¢Ú £©ºÍ£¨ ¢Û £©¡£Èô°´Áд洢£¬ÔòA[7,1]ºÍA[2,4]µÄµÚÒ»¸ö×ֽڵĵØÖ··Ö±ðÊÇ£¨ ¢Ü £©ºÍ£¨ ¢Ý £©¡£

A.28 B.44 C.76 D.92 E.108 F.116 G.132 H.176 I.184 J.188 ´ð£º¢ÙH ¢ÚC ¢ÛE ¢ÜA ¢ÝF

£¨6£©ÓÐÒ»¸ö¶þάÊý×éA£¬ÐÐϱêµÄ·¶Î§ÊÇ1¡«6£¬ÁÐϱêµÄ·¶Î§ÊÇ0¡«7£¬Ã¿¸öÊý×éÔªËØÓÃÏàÁÚµÄ6¸ö×Ö½Ú´æ´¢£¬´æ´¢Æ÷°´×Ö½Ú±àÖ·¡£ÄÇô£¬Õâ¸öÊý×éµÄÌå»ýÊÇ£¨ ¢Ù £©¸ö×Ö½Ú¡£¼ÙÉè´æ´¢Êý×éÔªËØA[1,0]µÄµÚÒ»¸ö×ֽڵĵØÖ·ÊÇ0£¬Ôò´æ´¢Êý×éAµÄ×îºóÒ»¸öÔªËØµÄµÚÒ»¸ö

Êý¾Ý½á¹¹¼òÃ÷½Ì³Ì

×ֽڵĵØÖ·ÊÇ£¨ ¢Ú £©¡£Èô°´Ðд洢£¬ÔòA[2,4]µÄµÚÒ»¸ö×ֽڵĵØÖ·ÊÇ£¨ ¢Û £©¡£Èô°´Áд洢£¬ÔòA[5,7]µÄµÚÒ»¸ö×ֽڵĵØÖ·ÊÇ£¨ ¢Ü £©¡£

A.12 B.66 C.72 D.96 E.114 F.120 G.156 H.234 I.276 J.282 K.283 L.288 ´ð£º¢ÙL ¢ÚJ ¢ÛC ¢ÜI

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

2. Ìî¿ÕÌâ

£¨1£©ÈýάÊý×éA[c1..d1,c2..d2,c3..d3]£¨c1¡Üd1£¬c2¡Üd2£¬c3¡Üd3£©¹²º¬ÓУ¨ £©¸öÔªËØ¡£ ´ð£º(d1-c1+1)¡Á(d2-c2+1)¡Á(d3-c3+1)¡£

£¨2£©ÒÑÖª¶þάÊý×éA[m][n]²ÉÓÃÐÐÐòΪÖ÷·½Ê½´æ´¢£¬Ã¿¸öÔªËØÕ¼k¸ö´æ´¢µ¥Ôª£¬²¢ÇÒµÚÒ»¸öÔªËØµÄ´æ´¢µØÖ·ÊÇLOC(A[0][0])£¬ÔòA[i][j]µÄµØÖ·ÊÇ£¨ £©¡£

´ð£ºLOC(A[0][0])+(n¡Ái+j)¡Ák¡£ £¨3£©¶þάÊý×éA[10][20]²ÉÓÃÁÐÐòΪÖ÷·½Ê½´æ´¢£¬Ã¿¸öÔªËØÕ¼Ò»¸ö´æ´¢µ¥Ôª£¬²¢ÇÒA[0][0]µÄ´æ´¢µØÖ·ÊÇ200£¬ÔòA[6][12]µÄµØÖ·ÊÇ£¨ £©¡£

´ð£º326

£¨4£©¶þάÊý×éA[10..20][5..10]²ÉÓÃÐÐÐòΪÖ÷·½Ê½´æ´¢£¬Ã¿¸öÔªËØÕ¼4¸ö´æ´¢µ¥Ôª£¬²¢ÇÒA[10][5]µÄ´æ´¢µØÖ·ÊÇ1000£¬ÔòA[18][9]µÄµØÖ·ÊÇ£¨ £©¡£

´ð£º1208

£¨5£©ÓÐÒ»¸ö10½×¶Ô³Æ¾ØÕóA£¬²ÉÓÃѹËõ´æ´¢·½Ê½£¨ÒÔÐÐÐòΪÖ÷´æ´¢ÏÂÈý½Ç²¿·Ö£¬ÇÒA[0][0]´æ·ÅÔÚB[1]ÖУ©£¬ÔòA[8][5]ÔÚBÖеĵØÖ·ÊÇ£¨ £©¡£

´ð£º42

£¨6£©Éèn½×ÏÂÈý½Ç¾ØÕóA[1..n][1..n]ÒÑѹËõµ½Ò»Î¬Êý×éS[1..n(n+1)/2]ÖУ¬Èô°´ÐÐÐòΪÖ÷´æ´¢£¬ÔòA[i][j]¶ÔÓ¦µÄSÖеĴ洢λÖÃÊÇ£¨ £©¡£

´ð£ºi(i-1)/2+j¡£

£¨7£©Ï¡Êè¾ØÕóµÄÈýÔª×é±íʾÖУ¬Ã¿¸ö½áµã¶ÔÓ¦ÓÚÏ¡Êè¾ØÕóµÄÒ»¸ö·ÇÁãÔªËØ£¬Ëü°üº¬ÓÐÈý¸öÊý¾ÝÏ·Ö±ð±íʾ¸ÃÔªËØµÄ£¨ £©¡£

´ð£ºÐÐϱꡢÁÐϱêºÍÔªËØÖµ

3. Ëã·¨Éè¼ÆÌâ

£¨1£©¼Ù¶¨Êý×éA[0..n-1]µÄn¸öÔªËØÖÐÓжà¸öÁãÔªËØ£¬Éè¼ÆÒ»¸öËã·¨½«AÖÐËùÓеķÇÁãÔªËØÒÀ´ÎÒÆµ½AµÄǰ¶Ë¡£

½â£º´ÓǰÏòºóÕÒΪÁãµÄÔªËØA[i]£¬´ÓºóÏòǰÕÒ·ÇÁãµÄÔªËØA[j]£¬½«A[i]ºÍA[j]½øÐн»»»¡£¶ÔÓ¦µÄËã·¨ÈçÏ£º

void move(ElemType A[],int n) {

int i=0,j=n-1;

ÁªÏµ¿Í·þ£º779662525#qq.com(#Ìæ»»Îª@) ËÕICP±¸20003344ºÅ-4 ceshi