您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 能源与动力工程 > 数据结构串和数组的习题答案
第5章串和数组习题补充习题:1.串是一种特殊的线性表,其特殊性体现在()。A)可以顺序存储B)可以用链表存储C)数据元素是一个字符D)数据元素可以是多个字符2.串是()。A)少于一个字母的序列B)任意个字母的序列C)不少于一个字符的序列D)有限个字符的序列3.串的长度是()。A)串中不同字母的个数B)串中不同字符的个数C)串中所含字符的个数,且大于0D)串中所含字符的个数1.C2.D3.D补充习题:4.设有两个串p和q,求q在p中首次出现的位置的运算().A)连接B)模式匹配C)求子串D)求串长5.若某串的长度小于一个常数,则采用()存储方式最为节省空间。A)链式B)堆结构C)顺序6.串中任意多个连续字符组成的子序列称为该串的子串().A)正确B)不正确7.如果两个串含有相同的字符集,则说两者相等().A)正确B)不正确4.B5.C6.A7.B补充习题:8.存取数组中任一元素的时间都是相等的,这种存取方式为()存取方式。A)顺序B)随机C)线性D)非线性9.设一个一维数组第一个元素的存储单元的地址是100,每个元素的长度是6,则它的第5个元素的地址是()。A)130B)105C)106D)12410.设n阶方阵是一个上三角矩阵,则需要存储的元素个数是()。A)n2/2B)n(n+1)/2C)nD)n211.对一些特殊矩阵采用压缩存储的目的主要是为()。A)表达变得简单B)减少不必要的存储空间的开销C)去掉矩阵中的多余元素D)对矩阵元素的存取变得简单8.B9.D10.B11.B补充习题:12.三元组表不包括()。A)行数B)列数C)元素值D)元素总数13.设已知一个稀疏矩阵的三元组如下:(1,2,3),(1,6,1),(3,1,5),(3,2,-1),(4,5,4),(5,1,-3),则其转置矩阵的三元组表中第3个三元组为()。A)(2,1,3)B)(3,1,5)C)(3,2,-1)D)(2,3,-1)14.若采用三元组压缩技术存储稀疏矩阵,只要把每个元素的行下标和列下标互换,就完成了对该矩阵的转置运算,这种观点()A)正确B)不正确12.D13.A14.B补充习题:15.两维数组是一种非线性结构。()A)正确B)不正确16.数组A三维的长度分别为b3,b2,b1;每个数组元素占一个存储单元;LOC[0,0,0]为基址。若以行序为主序,则元素A[i][j][k]的地址为()(其中0=ib3,0=jb2,0=kb1)A)LOC[0,0,0]+i*b2*b1+j*b1+kB)LOC[0,0,0]+i*b3*b2+j*b1+kC)LOC[0,0,0]+b3*i+b2*j+kD)LOC[0,0,0]+b3*i*j+b2*j+k15.B16.A习题5.4:voidDelete_SubString(char*&s,char*t)//从串s中删除所有与t相同的子串{temp=strstr(s,t);//返回t在s中第一次出现的指针while(temp){n=strlen(s)-strlen(temp);strncpy(head,s,n);tail=temp+strlen(t);strcat(head,tail);//把head,tail连接为新串s=head;temp=strstr(s,t);}}习题5.4:voidDelete_SubString(char*&s,char*t)//从串s中删除所有与t相同的子串{inti,pos=0,len=strlen(t);while(Index(s,t,pos)!=-1){i=Index(s,t,pos);StrDelete(s,i,len);pos=i;}}习题5.6:解:(1)6*8*6(2)1000+(5*8+7)*6(3)1000+(1*8+4)*6(4)1000+(7*6+4)*6习题5.9:解:u=i-j+1v=j-1习题5.10:解:当i为奇数时:k=i+j-2当i为偶数时:k=i+j-1合并可写成:k=i+j-(i%2)-1ork=2(i/2)+j-1本章要点回顾:1.熟悉串的相关概念及串的五种基本操作的定义,并能利用这些基本操作来实现串的其它各种操作的方法;2.熟练掌握在串的定长顺序存储结构上实现串的各种操作的方法;3.了解串的堆存储结构以及在其上实现串操作的基本方法;4.理解串的模式匹配算法;5.了解数组的两种存储表示方法,并掌握数组在以行为主的存储结构中的地址计算方法;6.掌握对特殊矩阵进行压缩存储时的下标变换公式;7.了解稀疏矩阵的压缩存储方法的特点和适用范围,领会以三元组表示稀疏矩阵时进行矩阵运算采用的处理方法。
本文标题:数据结构串和数组的习题答案
链接地址:https://www.777doc.com/doc-5076750 .html