数据结构第4—5章数组广义表自测卷空题.doc

上传人:苏美尔 文档编号:8845773 上传时间:2021-01-19 格式:DOC 页数:5 大小:44KB
返回 下载 相关 举报
数据结构第4—5章数组广义表自测卷空题.doc_第1页
第1页 / 共5页
数据结构第4—5章数组广义表自测卷空题.doc_第2页
第2页 / 共5页
数据结构第4—5章数组广义表自测卷空题.doc_第3页
第3页 / 共5页
数据结构第4—5章数组广义表自测卷空题.doc_第4页
第4页 / 共5页
数据结构第4—5章数组广义表自测卷空题.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《数据结构第4—5章数组广义表自测卷空题.doc》由会员分享,可在线阅读,更多相关《数据结构第4—5章数组广义表自测卷空题.doc(5页珍藏版)》请在三一文库上搜索。

1、第45章 串和数组 自测卷 姓名 班级 题号一二三四五总分题分2015201530100得分一、填空题(每空1分,共20分)1. 称为空串; 称为空白串。2. 设S=“A;/document/Mary.doc”,则strlen(s)= , “/”的字符定位的位置为 。4. 子串的定位运算称为串的模式匹配; 称为目标串, 称为模式。5. 设目标T=”abccdcdccbaa”,模式P=“cdcc”,则第 次匹配成功。6. 若n为主串长,m为子串长,则串的古典匹配算法最坏的情况下需要比较字符的总次数为 。7. 假设有二维数组A68,每个元素用相邻的6个字节存储,存储器按字节编址。已知A的起始存储位

2、置(基地址)为1000,则数组A的体积(存储量)为 ;末尾元素A57的第一个字节地址为 ;若按行存储时,元素A14的第一个字节地址为 ;若按列存储时,元素A47的第一个字节地址为 。8. 设数组a160, 170的基地址为2048,每个元素占2个存储单元,若以列序为主序顺序存储,则元素a32,58的存储地址为 。9. 三元素组表中的每个结点对应于稀疏矩阵的一个非零元素,它包含有三个数据项,分别表示该元素的 、 和 。10.求下列广义表操作的结果:(1) GetHead【(a,b),(c,d)】= ; (2) GetHead【GetTail【(a,b),(c,d)】= ;(3) GetHead【

3、GetTail【GetHead【(a,b),(c,d)】= ;(4) GetTail【GetHead【GetTail【(a,b),(c,d)】= ;二、单选题(每小题1分,共15分)( )1. 串是一种特殊的线性表,其特殊性体现在: 可以顺序存储 数据元素是一个字符 可以链式存储 数据元素可以是多个字符( )2. 设有两个串p和q,求q在p中首次出现的位置的运算称作: 连接 模式匹配 求子串 求串长( )3. 设串s1=ABCDEFG,s2=PQRST,函数con(x,y)返回x和y串的连接串,subs(s, i, j)返回串s的从序号i开始的j个字符组成的子串,len(s)返回串s的长度,则

4、con(subs(s1, 2, len(s2), subs(s1, len(s2), 2)的结果串是: BCDEF BCDEFG BCPQRST BCDEFEF( )4. 假设有60行70列的二维数组a160, 170以列序为主序顺序存储,其基地址为10000,每个元素占2个存储单元,那么第32行第58列的元素a32,58的存储地址为 。(无第0行第0列元素) 16902 16904 14454 答案A, B, C均不对( ) 5. 设矩阵A是一个对称矩阵,为了节省存储,将其下三角部分(如右图所示)按行序存放在一维数组B 1, n(n-1)/2 中,对下三角部分中任一元素ai,j(ij), 在

5、一维数组B中下标k的值是:i(i-1)/2+j-1 i(i-1)/2+j i(i+1)/2+j-1 i(i+1)/2+j6. 从供选择的答案中,选出应填入下面叙述 ? 内的最确切的解答,把相应编号写在答卷的对应栏内。有一个二维数组A,行下标的范围是0到8,列下标的范围是1到5,每个数组元素用相邻的4个字节存储。存储器按字节编址。假设存储数组元素A0,1的第一个字节的地址是0。存储数组A的最后一个元素的第一个字节的地址是 A 。若按行存储,则A3,5和A5,3的第一个字节的地址分别是 B 和 C 。若按列存储,则A7,1和A2,4的第一个字节的地址分别是 D 和 E 。供选择的答案AE:28 4

6、4 76 92 108 116 132 176 184 188答案:A B C D E= 7. 从供选择的答案中,选出应填入下面叙述 ? 内的最确切的解答,把相应编号写在答卷的对应栏内。有一个二维数组A,行下标的范围是1到6,列下标的范围是0到7,每个数组元素用相邻的6个字节存储,存储器按字节编址。那么,这个数组的体积是 A 个字节。假设存储数组元素A1,0的第一个字节的地址是0,则存储数组A的最后一个元素的第一个字节的地址是 B 。若按行存储,则A2,4的第一个字节的地址是 C 。若按列存储,则A5,7的第一个字节的地址是 D 。供选择的答案AD:12 66 72 96 114 120 15

7、6 234 276 282 (11)283 (12)288答案:A B C D E= 三、简答题(每小题5分,共15分)1. KMP算法的设计思想是什么?它有什么优点?2. 已知二维数组Am,m采用按行优先顺序存放,每个元素占K个存储单元,并且第一个元素的存储地址为Loc(a11),请写出求Loc(aij)的计算公式。如果采用列优先顺序存放呢? 3. 递归算法比非递归算法花费更多的时间,对吗?为什么?四、计算题(每题5分,共20分)1. 【严题集4.3】设s=I AM A STUDENT, t=GOOD, q=WORKER, 求Replace(s,STUDENT,q) 和Concat(SubS

8、tring(s,6,2), Concat(t,SubString(s,7,8)。2. 【严题集4.8】 已知主串s=ADBADABBAABADABBADADA,模式串pat=ADABBADADA。写出模式串的nextval函数值,并由此画出KMP算法匹配的全过程。3. 用三元组表表示下列稀疏矩阵: 4. 下列各三元组表分别表示一个稀疏矩阵,试写出它们的稀疏矩阵。 五、算法设计题(每题10分,共30分)1. 【严题集4.12】 编写一个实现串的置换操作Replace(&S, T, V)的算法。2. 【严题集4.10】写出将字符串反序的递归算法,例字符串为“abcsxw”,反序为“wxscba”3

9、. 【严题集5.18】试设计一个算法,将数组An 中的元素A0至An-1循环右移k位,并要求只用一个元素大小的附加存储,元素移动或交换次数为O(n)附加题: 利用C的库函数strlen, strcpy(或strncpy)写一个算法void StrDelete(char *S,int t,int m) ,删除串S中从位置i开始的连续的m个字符。若istrlen(S),则没有字符被删除;若i+mstrlen(S),则将S中从位置i开始直至末尾的字符均被删去。提示:strlen是求串长(length)函数:int strlen(char s); /求串的长度strcpy是串复制(copy)函数:char *strcpy(char to,char from); /该函数将串from复制到串to中,并且返回一个指向串to的开始处的指针。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1