新浪博客

串和数组题目及答案

2011-12-09 14:50阅读:
一、填空题(每空1分,共20分)
1. 不包含任何字符(长度为0的串 称为空串; 由一个或多个空格(仅由空格符)组成的串 称为空白串。
(对应严题集4.1①,简答题:简述空串和空格串的区别)

2. S=A;/document/Mary.doc”,则strlen(s)= 20
, “/”的字符定位的位置为 3

4. 子串的定位运算称为串的模式匹配; 被匹配的主串 称为目标串, 子串 称为模式。

5. 设目标T=”abccdcdccbaa”,模式P=cdcc”,则第 6 次匹配成功。

6. n为主串长,m为子串长,则串的古典(朴素)匹配算法最坏的情况下需要比较字符的总次数为 (n-m+1)*m

7. 假设有二维数组A6×8,每个元素用相邻的6个字节存储,存储器按字节编址。已知A的起始存储位置(基地址)为1000,则数组A的体积(存储量)为 288 B ;末尾元素A57的第一个字节地址为 1282 ;若按行存储时,元素A14的第一个字节地址为 (8+4)×6+1000=1072 ;若按列存储时,元素A47的第一个字节地址为 (6×74)×61000)=1276
(注:数组是从00列还是从11列计算起呢?由末单元为A57可知,是从00列开始!)

8. 00年计算机系考研题〗设数组a[160, 170]的基地址为2048,每个元素占2个存储单元,若以列序为主序顺序存储,则元素a[32,58]的存储地址为 8950

答:不考虑00列,利用列优先公式: LOC(aij)=LOC(ac1c2)+[(j-c2)*(d1-c1+1)+i-c1)]*L
得:LOC(a32,58)=2048+[(58-1)*(60-1+1)+32-1]]*28950



9. 三元素组表中的每个结点对应于稀疏矩阵的一个非零元素,它包含有三个数据项,分别表示该元素
行下标 列下标 元素值

10.求下列广义表操作的结果:
1GetHead((a,b),(c,d))=== (a, b) ; //头元素不必加括号
2GetHeadGetTail((a,b),(c,d))】】=== (c,d) ;
3GetHeadGetTailGetHead((a,b),(c,d))】】】=== b ;
4GetTailGetHeadGetTail((a,b),(c,d))】】】=== d ;

二、单选题(每小题1分,共15分)
B 1. 〖李〗串是一种特殊的线性表,其特殊性体现在:
A.可以顺序存储 B.数据元素是一个字符
C.可以链式存储 D.数据元素可以是多个字符

B 2. 〖李〗设有两个串pq,求qp中首次出现的位置的运算称作:
A.连接 B.模式匹配 C.求子串 D.求串长

D 3. 〖李〗设串s1=’ABCDEFG’s2=’PQRST’,函数con(x,y)返回xy串的连接串,subs(s, i, j)返回串s的从序号i开始的j个字符组成的子串,len(s)返回串s的长度,则con(subs(s1, 2, len(s2)), subs(s1, len(s2), 2))的结果串是:
A.BCDEF B.BCDEFG C.BCPQRST D.BCDEFEF
解:con(x,y)返回xy串的连接串,即 con(x,y)=‘ABCDEFGPQRST’;
subs(s, i, j)返回串s的从序号i开始的j个字符组成的子串,则
subs(s1, 2, len(s2))subs(s1, 2, 5)=BCDEF’; subs(s1, len(s2), 2)subs(s1, 5, 2)=EF’;
所以con(subs(s1, 2, len(s2)), subs(s1, len(s2), 2))con(’ BCDEF’, EF’)之连接,

我的更多文章

下载客户端阅读体验更佳

APP专享