《数据结构》第04章在线测试
数据结构第四章考试题库(含答案)
![数据结构第四章考试题库(含答案)](https://img.taocdn.com/s3/m/2b8cd62971fe910ef02df895.png)
第四章串一、选择题1.下面关于串的的叙述中,哪一个是不正确的()【北方交通大学 2001 一、5(2分)】A.串是字符的有限序列 B.空串是由空格构成的串C.模式匹配是串的一种重要运算 D.串既可以采用顺序存储,也可以采用链式存储2 若串S1=‘ABCDEFG’, S2=‘9898’ ,S3=‘###’,S4=‘012345’,执行concat(replace(S1,substr(S1,length(S2),length(S3)),S3),substr(S4,index (S2,‘8’),length(S2)))其结果为()【北方交通大学 1999 一、5 (25/7分)】A.ABC###G0123 B.ABCD###2345 C.ABC###G2345 D.ABC###2345E.ABC###G1234 F.ABCD###1234 G.ABC###012343.设有两个串p和q,其中q是p的子串,求q在p中首次出现的位置的算法称为()A.求子串 B.联接 C.匹配 D.求串长【北京邮电大学 2000 二、4(20/8分)】【西安电子科技大学 1996 一、1 (2分)】4.已知串S=‘aaab’,其Next数组值为()。
【西安电子科技大学 1996 一、7 (2分)】A.0123 B.1123 C.1231 D.12115.串‘ababaaababaa’的next数组为()。
【中山大学 1999 一、7】A.0 B.012121111212 C.0 D.06.字符串‘ababaabab’的nextval 为()A.(0,1,0,1,04,1,0,1) B.(0,1,0,1,0,2,1,0,1)C.(0,1,0,1,0,0,0,1,1) D.(0,1,0,1,0,1,0,1,1 )【北京邮电大学 1999 一、1(2分)】7.模式串t=‘abcaabbcabcaabdab’,该模式串的next数组的值为(),nextval 数组的值为()。
数据结构ch4习题
![数据结构ch4习题](https://img.taocdn.com/s3/m/d19a90630b1c59eef8c7b4bd.png)
2.串是一种特殊的线性表,其特殊性体现在()。
A.可以顺序存储B.数据元素是一个字符C.可以链接存储D.数据元素可以是个字符D3.为查找某一特定单词在文本中出现的位置,可应用的串运算是( ) 。
A.插入B.删除C.串联接D.子串定位 D4.函数Sub(s,I,j)的功能是返回串s中从第I个字符起长度为j的子串,函数Scopy(s,t)的功能为复制串t到s。
若字符串S=″SCIENCESTUDY″,则调用函数Scopy(P,Sub(S,1,7))后得到( )。
A.P=″SCIENCE″B.P=″STUDY″C.S=″SCIENCE″D.S=″STUDY″ A5.如下陈述正确的是()。
A.串是一种特殊的线性表B.串的长度必须大于0C.串中元素只能是字母D.空串就是空白串 A利用C的库函数strlen,strcpy和strcat写一算法void StrInsert(char *S, char *T, int I),将串T插入到串S的第I个位置上。
若I大于S的长度,则插入不执行。
解:算法如下:void StrInsert(char *S, char *T, int I){//将串T插入到串S的第I个位置上char *Temp;Temp=(char *)malloc(sizeof(char[Maxsize]));// 设置一个临时串if(I<=strlen(S)){strcpy(Temp,&S[I]);//将第I位起以后的字符拷贝到临时串中strcpy(&S[I], T);//将串T拷贝到串S的第I个位置处,覆盖后面的字符strcat(S,Temp);//把临时串中的字符联接到串S后面free( Temp );}}//以下提供验证程序#include "string.h"#include "stdio.h"#include "malloc.h"#define Maxsize 50 //假设静态顺序串的空间长度为100void StrInsert(char *S, char *T, int I);void main(){char A[Maxsize]="I am a boy.";char B[Maxsize]="very cool ";StrInsert( A,B,7);printf("%s",A);}void StrInsert(char *S, char *T, int I){//将串T插入到串S的第I个位置上char *Temp;Temp=(char *)malloc(sizeof(char[Maxsize]));// 设置一个临时串if(I<=strlen(S)){strcpy(Temp,&S[I]);//将第I位起以后的字符拷贝到临时串中strcpy(&S[I], T);//将串T拷贝到串S的第I个位置处,覆盖后面的字符strcat(S,Temp);//把临时串中的字符联接到串S后面}free( Temp );}//程序结束。
数据结构第4章
![数据结构第4章](https://img.taocdn.com/s3/m/7f67a1fc49649b6649d7470b.png)
《数据结构》第04章在线测试《数据结构》第04章在线测试剩余时间:50:51答题须知:1、本卷满分20分。
2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。
3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。
第一题、单项选择题(每题1分,5道题共5分)1、设有两个串s1和s2,求s2在s1中首次出现的位置的操作是________。
A、连接B、模式匹配C、求子串D、求串长2、若串S="abcdef",则其非空子串数目为________。
A、6B、12C、21D、223、设有三个串,s1="How", s2=" are", s3=" you",则这三个串连接后得到的结果串是________________________。
A、"Howareyou"B、"How are you"C、"How are you."D、" How are you"4、串是________。
A、不少于一个字母的序列B、任意个字母的序列C、不少于一个字符的序列D、有限个字符的序列5、空格串的长度为________。
A、0B、1C、串中空格的个数D、第二题、多项选择题(每题2分,5道题共10分)1、在定长顺序存储表示中,对串长的表示方法有__________。
A、用域变量表示B、用下标为0的数组分量表示C、在串值后加结束标记字符D、无法明确表示2、以下关于串的存储方式的说法中正确的是__________。
A、定长顺序表示和堆分配表示都是串的顺序存储表示B、定长顺序表示的串的存储空间是编译时预先分配的一个比较大的连续空间C、堆分配表示的串的存储空间是在程序执行过程中动态分配的D、堆分配存储表示时的空串不占用连续的存储区3、串用定长顺序存储方式表示时,有可能发生“截断”的操作有__________。
数据结构第4章习题.docx
![数据结构第4章习题.docx](https://img.taocdn.com/s3/m/42da1964dd36a32d737581ae.png)
第4章习题解答一、填空1.字符串是一种特殊的线性表,特殊在于它的数据元素只能是一字符,特殊在于串可以作为一个__________ 参与所需要的处理。
2.空格串是由___ 组成的串,空串是_________ 的串,因此空格串和空串不是一个概念。
3.字符串中任意多个_______ 字符所组成的子序列,被称作是这个串的“子串”,这个字符串木身则称为“主串”。
4.我们说两个字符串相等,在计算机内部实际上是通过对相应位置上字符__________ 码的比较而得到的结论。
5.设有串s=<t I am a teacher"。
该串的长度是_________ 。
6.设有三个串:sl=“Good", s2=9', s3=“bye!''。
则si、s2、s3连接后的结果串应该是7.所谓“数组”,是指〃(H>1)个具有」业L类型的数据的有序集合。
8.矩阵与通常所说的[维数组冇关。
9.所谓“特殊矩阵”,是指那些元素在矩阵小的分布具有一定规律性的矩阵;而矩阵小的零元素个数远远多于非零元素的个数,但非零元素的分布却没有规律,这样的矩阵被称为“稀疏矩阵”。
10.在一个阶方阵A中,若所有元素都有性质:= n),就称其为对称矩阵。
二、选择1 •设有两个串si和s20求s2在si中首次出现的位置的操作称为__________ oA.连接B.模式匹配C.求了串D.求串长2・有串:“①",那么它的长度是____ oA. 0B. 1C. 2D. 33.设有串sl=“ABCDEFG'和s2=“PQRSF'。
已知:算法con(x, y)返回串x和y的连接串;subs(s, i, j)返回串s的第i个字符开始往后j个字符组成的子串;len(s)返回串s的长度。
那么,con(subs(sl, 2, len(s2)), subs(sl, len(s2), 2))的操作结果是串__________ 。
(完整word版)数据结构 第四章(串) 考试题目(word文档良心出品)
![(完整word版)数据结构 第四章(串) 考试题目(word文档良心出品)](https://img.taocdn.com/s3/m/9e8f66194b35eefdc8d3339e.png)
第四章串一单项选择题:1.下列那些为空串()A)S=“ ” B)S=“”C)S=“φ” D)S=“θ”2.S1=“ABCD”,S2=“CD”则S2在S3中的位置是()A)1 B)2 C)3D)43.假设S=“abcaabcaaabca”,T=“bca”,Index (S,T,3) 的结果是()A)2 B)6 C)11 D)04.在串中,对于SubString(&Sub,S,pos,len)基本操作,pos和len的约束条件是()A)0<pos<StrLength(S)+1且1<=len<=StrLength(S)-pos+1B)0<pos<StrLength(S)+1且0<=len<=StrLength(S)-pos-1C)1<=pos<=StrLength(S) 且0<=len<=StrLength(S)-pos+1D)1<=pos<=StrLength(S) 且1<=len<=StrLength(S)-pos-15. 串是一种特殊的线性表,其特殊性体现在( )。
A.可以顺序存储B. 数据元素是一个字符C.可以链接存储D. 数据元素可以是多个字符6. 串是( )。
A.少于一个字母的序列B. 任意个字母的序列C.不少于一个字符的序列D. 有限个字符的序列7. 串的长度是( )。
A.串中不同字母的个数B. 串中不同字符的个数C.串中所含的字符的个数D. 串中所含字符的个数,且大于08. 设有S1=‘ABCDEFG’,S2=‘PQRST’,函数con(x,y)返回x和y串的连接串,subs(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. BCDEFEF9. 若某串的长度小于一个常数,则采用( )存储方式最为节省空间。
数据结构 第四章测验 测验答案 慕课答案 UOOC优课 课后练习 深圳大学
![数据结构 第四章测验 测验答案 慕课答案 UOOC优课 课后练习 深圳大学](https://img.taocdn.com/s3/m/dfe25a25e97101f69e3143323968011ca300f79b.png)
数据结构第四章测验一、单选题 (共100.00分)1. 以下结构中,哪一个是属于逻辑结构()A. 顺序表B. 链栈C. 循环队列D. 串正确答案:D2. 以下哪一种是串在计算机中的常见表示方式()A. 定长顺序B. 堆分配C. 块链D. 前三种都是正确答案:D3. 在数据结构中,串可以等同于()的处理A. 整数串B. 浮点数串C. 字符串D. 多种类型的数组正确答案:C4. 以下哪一种是串匹配的常用算法()A. 普里姆算法B. 克鲁斯卡尔算法C. KMP算法D. 关键路径算法正确答案:C5. 已知主串为abcbcaddabc,模式串为cad,假设串位置从1开始,则串匹配位置是()A. 3B. 5C. 7D. 不存在正确答案:B6. 已知模式串为abaab,则next数组为()A. 1122B. 22312C. 1212D. 1112正确答案:A7. 已知串S的内容为1+2+3,以下描述哪一个是正确的()A. 串S的长度是6B. 串S的运算结果是6C. 整数1是串S的子串D. 符号+是串S的子串正确答案:D8. 以下描述哪一个是正确的()A. 串是字符有限序列B. 串是整数、浮点数、字符等多种数据的有限序列C. 只包含空格的串称为空串D. 串只能使用顺序表存储正确答案:A9. 串的长度是指()A. 串中包含不同字母的个数B. 串中所含字符的个数C. 串中包含不同字符的个数D. 串中包含非空格的字符的个数正确答案:B10. 串函数Sub(S, x, y)表示在串S中,从x位置开始,取出y个字符,串位置从1开始计算。
已知串S内容为Shenzh en,则Sub(S, 2, 3)是()A. SheB. zhenC. ShenD. hen正确答案:D。
数据结构第四章串习题及答案
![数据结构第四章串习题及答案](https://img.taocdn.com/s3/m/0c9b103e4a73f242336c1eb91a37f111f1850dad.png)
习题四串一、单项选择题1.下面关于串的的叙述中,哪一个是不正确的?()A.串是字符的有限序列 B.空串是由空格构成的串C.模式匹配是串的一种重要运算 D.串既可以采用顺序存储,也可以采用链式存储2.串是一种特殊的线性表,其特殊性体现在()。
A.可以顺序存储 B.数据元素是一个字符C.可以链接存储 D.数据元素可以是多个字符3.串的长度是指()A.串中所含不同字母的个数 B.串中所含字符的个数C.串中所含不同字符的个数 D.串中所含非空格字符的个数4.设有两个串p和q,其中q是p的子串,求q在p中首次出现的位置的算法称为()A.求子串 B.联接 C.匹配 D.求串长5.若串S=“softwa re”,其子串的个数是()。
A.8 B.37 C.36 D.9二、填空题1.含零个字符的串称为______串。
任何串中所含______的个数称为该串的长度。
2.空格串是指__ __,其长度等于__ __。
3.当且仅当两个串的______相等并且各个对应位置上的字符都______时,这两个串相等。
一个串中任意个连续字符组成的序列称为该串的______串,该串称为它所有子串的______串。
4.INDEX(‘DATAST RUCTU RE’,‘STR’)=________。
5.模式串P=‘abaabc ac’的next函数值序列为________。
6.下列程序判断字符串s是否对称,对称则返回1,否则返回0;如 f("abba")返回1,f("abab")返回0;int f((1)__ ______){int i=0,j=0;while(s[j])(2)___ _____;for(j--; i<j && s[i]==s[j]; i++,j--);return((3)___ ____)}7.下列算法实现求采用顺序结构存储的串s和串t的一个最长公共子串。
数据结构第四章的习题答案
![数据结构第四章的习题答案](https://img.taocdn.com/s3/m/e4b5c3cfa1116c175f0e7cd184254b35eefd1ae0.png)
数据结构第四章的习题答案数据结构第四章的习题答案在学习数据结构的过程中,习题是非常重要的一环。
通过解答习题,我们可以更好地理解和应用所学的知识。
在第四章中,我们学习了树和二叉树的相关概念和操作。
下面我将为大家提供一些第四章习题的答案,希望能帮助大家更好地掌握这一章节的内容。
1. 请给出树和二叉树的定义。
树是由n(n>=0)个结点构成的有限集合,其中有且仅有一个特定的结点称为根结点,其余的结点可以分为若干个互不相交的有限集合,每个集合本身又是一个树,称为根的子树。
二叉树是一种特殊的树结构,其中每个结点最多有两个子结点,分别称为左子结点和右子结点。
二叉树具有递归的定义,即每个结点的左子树和右子树都是二叉树。
2. 请给出树和二叉树的遍历方式。
树的遍历方式包括前序遍历、中序遍历和后序遍历。
前序遍历是先访问根结点,然后依次遍历左子树和右子树。
中序遍历是先遍历左子树,然后访问根结点,最后遍历右子树。
后序遍历是先遍历左子树和右子树,最后访问根结点。
二叉树的遍历方式包括前序遍历、中序遍历和后序遍历。
前序遍历是先访问根结点,然后依次遍历左子树和右子树。
中序遍历是先遍历左子树,然后访问根结点,最后遍历右子树。
后序遍历是先遍历左子树和右子树,最后访问根结点。
3. 给定一个二叉树的前序遍历序列和中序遍历序列,请构建该二叉树。
这个问题可以通过递归的方式解决。
首先,根据前序遍历序列的第一个结点确定根结点。
然后,在中序遍历序列中找到根结点的位置,该位置左边的结点为左子树的中序遍历序列,右边的结点为右子树的中序遍历序列。
接下来,分别对左子树和右子树进行递归构建。
4. 给定一个二叉树的中序遍历序列和后序遍历序列,请构建该二叉树。
和前面的问题类似,这个问题也可以通过递归的方式解决。
首先,根据后序遍历序列的最后一个结点确定根结点。
然后,在中序遍历序列中找到根结点的位置,该位置左边的结点为左子树的中序遍历序列,右边的结点为右子树的中序遍历序列。
数据结构答案第4章
![数据结构答案第4章](https://img.taocdn.com/s3/m/36c1b420941ea76e59fa0415.png)
数据结构答案第4章本页仅作为文档封面,使用时可以删除This document is for reference only-rar21year.March第 4 章广义线性表——多维数组和广义表2005-07-14第 4 章广义线性表——多维数组和广义表课后习题讲解1. 填空⑴数组通常只有两种运算:()和(),这决定了数组通常采用()结构来实现存储。
【解答】存取,修改,顺序存储【分析】数组是一个具有固定格式和数量的数据集合,在数组上一般不能做插入、删除元素的操作。
除了初始化和销毁之外,在数组中通常只有存取和修改两种操作。
⑵二维数组A中行下标从10到20,列下标从5到10,按行优先存储,每个元素占4个存储单元,A[10][5]的存储地址是1000,则元素A[15][10]的存储地址是()。
【解答】1140【分析】数组A中每行共有6个元素,元素A[15][10]的前面共存储了(15-10)×6+5个元素,每个元素占4个存储单元,所以,其存储地址是1000+140=1140。
⑶设有一个10阶的对称矩阵A采用压缩存储,A[0][0]为第一个元素,其存储地址为d,每个元素占1个存储单元,则元素A[8][5]的存储地址为()。
【解答】d+41【分析】元素A[8][5]的前面共存储了(1+2+…+8)+5=41个元素。
⑷稀疏矩阵一般压缩存储方法有两种,分别是()和()。
【解答】三元组顺序表,十字链表⑸广义表((a), (((b),c)),(d))的长度是(),深度是(),表头是(),表尾是()。
【解答】3,4,(a),((((b),c)),(d))⑹已知广义表LS=(a,(b,c,d),e),用Head和Tail函数取出LS中原子b的运算是()。
【解答】Head(Head(Tail(LS)))2. 选择题⑴二维数组A的每个元素是由6个字符组成的串,行下标的范围从0~8,列下标的范围是从0~9,则存放A至少需要()个字节,A的第8列和第5行共占()个字节,若A按行优先方式存储,元素A[8][5]的起始地址与当A按列优先方式存储时的()元素的起始地址一致。
数据结构的第4-7习题的答案
![数据结构的第4-7习题的答案](https://img.taocdn.com/s3/m/25c0a77b11a6f524ccbff121dd36a32d7375c7df.png)
4.10 线性表有两种存储结构,即顺序表和单链表。试问: (1)若有N个线性表同时并存,且在处理过程中各表长度会
动态发生变化,线性表的总数也会自动地改变,在此情况下 应选用哪种存储结构?为什么?
应采用链式存储结构,因为采用链式存储时插入删除操作不需 要移动数据元素
(2)若线性表的总数基本稳定,且很少进行插入和删除操作 ,但要以最快的速度存取表中元素,那么应采用哪种存储结 构?为什么?
pq
pq r
rq
head *
A
1
&C
3
$
D
E^
p=NULL r=NULL
Void invert(LinkList &head) { linklist p,q,r;
p=r=NULL; q=head; while(q!=NULL) {r=q->next; q->next=p; p=q; q=r; } head=p; }
3在长度为n的顺序表上进行 插入运算,有几个可插入的 位置?在第i(假设合法)个 位置上插入一个数据元素, 需要向什么方向平移多少个 数据元素?在长度为n的顺 序表上进行删除运算,有几 个可删除的数据元素?删除 第i(假设合法)个位置上的 数据元素,需要向什么方向 平移多少个数据元素?
1
2
第i个位置上插入,需向右移 动n-i+1个数据元素
Status EnQueue(stack &s1,ElemType x) { if(S1.top==n-1) return 0;
else {Push(s1,x); return 1;}} 时间复杂度T(n)=O(1)
Status DeQueue(stack &s1,Stack &s2,ElemType &x) { ElemType y; While(!StackEmpty(S1))
智慧树知到《数据结构》章节测试答案
![智慧树知到《数据结构》章节测试答案](https://img.taocdn.com/s3/m/1c582b0babea998fcc22bcd126fff705cc175cfc.png)
智慧树知到《数据结构》章节测试答案第1章单元测试1、算法的时间复杂度取决于___。
答案:A和B2、数据在计算机内存中的表示是指()答案:数据的存储结构3、算法指的是()答案:求解特定问题的指令有限序列4、在数据结构中,与所使用的计算机无关的数据结构是()答案:逻辑7、某线性表采用顺序存储结构,每个元素占4个存储单元,首地址为100,则第12个元素的存储地址为( )。
答案:1448、算法能正确地实现预定功能的特性称为算法的()。
答案:正确性第2章单元测试1、链表不具备的特点是()。
答案:可随机访问任意一个结点3、线性表的顺序存储表示优于链式存储表示。
答案:错4、顺序存储结构的缺点是不便于修改,插入和删除需要移动很多结点。
答案:对5、在设头、尾指针的单链表中,与长度n有关的操作是( )。
答案:删除最后一个结点6、设指针q指向单链表中结点A,指针p指向单链表中结点A的后继结点B,指针s指向被插入的结点X,则在结点A和结点B间插入结点X的操作序列为( )。
答案:q->next=s; s->next=p;7、对于只在表的首、尾两端进行插入操作的线性表,宜采用的存储结构为( )。
答案:用尾指针表示的循环单链表8、在一个单链表中,若p所指节点不是最后节点,在p之后插入s 所指节点,则执行( )。
答案:s->link=p->link;p->link=s;9、在双向链表存储结构中,删除p所指的结点时须修改指针____。
答案:p->next->prior=p->prior; p->prior->next=p->next;10、若事先不知道线性表的长度,则处理线性表时较好的存储结构是( )。
答案:单链表11、向一个有127个元素的顺序表中插入一个新元素并保存,原来顺序不变,平均要移动( )个元素。
答案:63.512、某线性表采用顺序存储结构,每个元素占4个存储单元,首地址为100,则第12个元素的存储地址为( )。
数据结构试题第四章习题
![数据结构试题第四章习题](https://img.taocdn.com/s3/m/528d951152d380eb62946dee.png)
习题一、单项选择题1.空串与空格字符组成的串的区别在于()。
A.没有区别B.两串的长度不相等C.两串的长度相等D.两串包含的字符不相同2.一个子串在包含它的主串中的位置是指()。
A.子串的最后那个字符在主串中的位置B.子串的最后那个字符在主串中首次出现的位置C.子串的第一个字符在主串中的位置D.子串的第一个字符在主串中首次出现的位置3.下面的说法中,只有()是正确的。
A.字符串的长度是指串中包含的字母的个数B.字符串的长度是指串中包含的不同字符的个数C.若T包含在S中,则T一定是S的一个子串D.一个字符串不能说是其自身的一个子串4.两个字符串相等的条件是()。
A.两串的长度相等B.两串包含的字符相同C.两串的长度相等,并且两串包含的字符相同D.两串的长度相等,并且对应位置上的字符相同5. 若SUBSTR(S,i,k)表示求S中从第i个字符开始的连续k个字符组成的子串的操作,则对于S=“Beijing&Nanjing”,SUBSTR(S,4,5)=()。
A.“ijing”B.“jing&”C.“ingNa”D.“ing&N”6. 若INDEX(S,T)表示求T在S中的位置的操作,则对于S=“Beijing&Nanjing”,T=“jing”,INDEX(S,T)=()。
A.2B.3C.4D.57. 若REPLACE(S,S1,S2)表示用字符串S2替换字符串S中的子串S1的操作,则对于S=“Beijing&Nanj ing”,S1=“Beijing”,S2=“Shanghai”,REPLACE(S,S1,S2)=()。
A.“Nanjing&Shanghai”B.“Nanjing&Nanjing”C.“ShanghaiNanjing”D.“Shanghai&Nanjing”8. 在长度为n的字符串S的第i个位置插入另外一个字符串,i的合法值应该是()。
A.i>0B. i≤nC.1≤i≤nD.1≤i≤n+19.字符串采用结点大小为1的链表作为其存储结构,是指()。
《数据结构》第四章习题参考答案
![《数据结构》第四章习题参考答案](https://img.taocdn.com/s3/m/c517b2d4da38376baf1fae95.png)
《数据结构》第四章习题一、判断题(在正确说法的题后括号中打“√”,错误说法的题后括号中打“×”)1、KMP算法的特点是在模式匹配时指示主串的指针不会变小。
( √)2、串是一种数据对象和操作都特殊的线性表。
( √)3、只包含空白字符的串称为空串(空白串)。
( ×)4、稀疏矩阵压缩存储后,必会(不会)失去随机存取功能。
( ×)5、使用三元组表示稀疏矩阵的非零元素能节省存储空间。
( √)6、插入与删除操作是数据结构中最基本的两种操作,因此这两种操作在数组中也经常使用。
(×)7、若采用三元组表存储稀疏矩阵,只要把每个元素的行下标和列下标互换(错的),就完成了对该矩阵的转置运算。
(×)二、单项选择题1.下面关于串的的叙述中,哪一个是不正确的?( B )A.串是字符的有限序列B.空串是由空格构成的串(空串是长度为零的串)C.模式匹配是串的一种重要运算D.串既可以采用顺序存储,也可以采用链式存储2.有串S1=’ABCDEFG’,S2 = ’PQRST’,假设函数con(x,y)返回x和y串的连接串,subs(s,i,j)返回串s的从序号i的字符开始的j个字符组成的子串,len(s)返回中s的长度,则con(subs(s1,2,len(s2)),subs(s1,len(s2),2))的结果串是( D )。
A.BCDEF B.BCDEFG C.BCPQRST D.CDEFGFG3、串的长度是指( B )A.串中所含不同字母的个数B.串中所含字符的个数C.串中所含不同字符的个数D.串中所含非空格字符的个数三、填空题1、串是一种特殊的线性表,其特殊性表现在_数据元素为字符,操作集也不同__;串的两种最基本的存储方式是_顺序存储_、__ 链式存储_;两个串相等的充分必要条件是__两串的长度相等且两串中对应位置的字符也相等__。
2、设正文串长度为n,模式串长度为m,则串匹配的KMP算法的时间复杂度为_O(m+n)__。
数据结构第四章考试题库(含答案)
![数据结构第四章考试题库(含答案)](https://img.taocdn.com/s3/m/16cefc8bf90f76c661371a96.png)
第四章串一、选择题1.下面关于串的的叙述中,哪一个是不正确的?()【北方交通大学 2001一、 5( 2 分)】A.串是字符的有限序列B.空串是由空格构成的串C.模式匹配是串的一种重要运算 D .串既可以采用顺序存储,也可以采用链式存储2若串 S =‘ ABCDEFG’ , S2=‘ 9898 ’ ,S3=‘ ### ’ ,S4= ‘ 012345 ’ , 执行1concat(replace(S1,substr(S1,length(S2),length(S3)),S3),subst r(S4,index(S2,‘ 8 ’),length(S2)))其结果为()【北方交通大学1999一、 5( 25/7 分)】A. ABC###G0123 B . ABCD###2345 C . ABC###G2345 D . ABC###2345E. ABC###G1234 F. ABCD###1234 G . ABC###012343.设有两个串p 和 q ,其中 q 是 p 的子串,求q 在 p 中首次出现的位置的算法称为()A.求子串B.联接C.匹配D.求串长【北京邮电大学2000二、 4( 20/8分)】【西安电子科技大学 1996一、 1( 2分)】4.已知串 S=‘ aaab ’ , 其 Next 数组值为()。
【西安电子科技大学 1996一、 7(2 分)】A. 0123B. 1123C. 1231D. 12115.串‘ababaaababaa’的 next数组为()。
【中山大学 1999一、 7】A. 012345678999B. 012121111212C. 011234223456D. 01230123223456.字符串‘ ababaabab’的 nextval为()A. (0,1,0,1,04,1,0,1)B. (0,1,0,1,0,2,1,0,1)C. (0,1,0,1,0,0,0,1,1)D.(0,1,0,1,0,1,0,1,1 )【北京邮电大学1999一、 1(2分)】7.模式串 t= ‘ abcaabbcabcaabdab’,该模式串的 next 数组的值为(), nextval数组的值为()。
数据结构(C语言版)习题及答案第四章
![数据结构(C语言版)习题及答案第四章](https://img.taocdn.com/s3/m/2f978d1d6d175f0e7cd184254b35eefdc8d31577.png)
数据结构(C语言版)习题及答案第四章习题4.1选择题1、空串与空格串是(B)。
A、相同B、不相同C、不能确定2、串是一种特殊的线性表,其特殊性体现在(B)。
A、可以顺序存储B、数据元素是一个字符C、可以链式存储D、数据元素可以是多个字符3、设有两个串p和q,求q在p中首次出现的位置的操作是(B)。
A、连接B、模式匹配C、求子串D、求串长4、设串1=“ABCDEFG”,2=“PQRST”函数trconcat(,t)返回和t串的连接串,trub(,i,j)返回串中从第i个字符开始的、由连续j 个字符组成的子串。
trlength()返回串的长度。
则trconcat(trub(1,2,trlength(2)),trub(1,trlength(2),2))的结果串是(D)。
A、BCDEFB、BCDEFGC、BCPQRSTD、BCDEFEF5、若串=“oftware”,其子串个数是(B)。
A、8B、37C、36D、94.2简答题1、简述空串与空格串、主串与子串、串名与串值每对术语的区别?答:空串是指长度为0的串,即没有任何字符的串。
空格串是指由一个或多个空格组成的串,长度不为0。
子串是指由串中任意个连续字符组成的子序列,包含子串的串称为主串。
串名是串的一个名称,不指组成串的字符序列。
串值是指组成串的若干个字符序列,即双引号中的内容。
2、两个字符串相等的充要条件是什么?答:条件一是两个串的长度必须相等条件二是串中各个对应位置上的字符都相等。
3、串有哪几种存储结构?答:有三种存储结构,分别为:顺序存储、链式存储和索引存储。
4、已知两个串:1=”fgcdbcabcadr”,2=”abc”,试求两个串的长度,判断串2是否是串1的子串,并指出串2在串1中的位置。
答:(1)串1的长度为14,串2的长度为3。
(2)串2是串1的子串,在串2中的位置为9。
5、已知:1=〃I’matudent〃,2=〃tudent〃,3=〃teacher〃,试求下列各操作的结果:trlength(1);答:13trconcat(2,3);答:”tudentteachar”trdelub(1,4,10);答:I’m6、设1=”AB”,2=”ABCD”,3=”EFGHIJK,试画出它们在各种存储结构下的结构图。
数据结构在线测试01-08章
![数据结构在线测试01-08章](https://img.taocdn.com/s3/m/cdf8ad4f68eae009581b6bd97f1922791688beac.png)
数据结构在线测试01-08章《数据结构》第01章在线测试A、顺序结构B、链式结构C、线性结构D、非线性结构E、动态结构F、静态结构3、下列说法中,不正确的是________。
A、数据是数据元素的基本单位B、数据元素是数据中不可分割的最小标识单位C、数据元素可由若干个数据项组成D、数据项可由若干个数据元素组成4、影响程序运行时间的因素包括______________。
A、书写程序的语言B、问题的规模C、编译器产生的机器代码的质量D、计算机的运行速度E、算法的策略F、输出数据量5、数据结构被形式化的定义为(D,S),其中D、S分别是________的有限集合。
A、数据元素B、数据操作C、数据存储D、数据关系第三题、判断题(每题1分,5道题共5分)1、数据的物理结构是指数据和关系在计算机内的实际存储形式。
正确错误2、算法原地工作的含义是指运行时不需要任何临时的辅助空间。
正确错误3、数据对象是一组数据元素的集合。
正确错误4、计算机算法必须具备的特性有:输入、输出、易读性、稳定性和安全性。
正确错误5、任何一个算法的设计取决于数据的逻辑结构,而算法的实现则依赖于所采用的存储结构。
正确错误测试结果如下:1.4[单选][对]树型结构和图结构都属于________。
1.5[单选][对]下列函数中,时间复杂度最小的是________。
2.1[多选][对]根据元素之间关系的不同特性,通常可有下列基本结构________。
2.2[多选][对]从逻辑上可以把数据结构分为________。
2.3[多选][对]下列说法中,不正确的是________。
2.4[多选][对]影响程序运行时间的因素包括______________。
2.5[多选][对]数据结构被形式化的定义为(D,S),其中D、S分别是________的有限集合。
3.1[判断][对]数据的物理结构是指数据和关系在计算机内的实际存储形式。
3.2[判断][对]算法原地工作的含义是指运行时不需要任何临时的辅助空间。
数据结构第4章答案
![数据结构第4章答案](https://img.taocdn.com/s3/m/b1a12282bceb19e8b8f6ba7e.png)
一、填空题(每空1分,共15分)1. 向量、栈和队列都是线性结构,可以在向量的任何位置插入和删除元素;对于栈只能在栈顶插入和删除元素;对于队列只能在队尾插入和队首删除元素。
2. 栈是一种特殊的线性表,允许插入和删除运算的一端称为栈顶。
不允许插入和删除运算的一端称为栈底。
3. 队列是被限定为只能在表的一端进行插入运算,在表的另一端进行删除运算的线性表。
4. 在一个循环队列中,队首指针指向队首元素的前一个位置。
5. 在具有n个单元的循环队列中,队满时共有n-1 个元素。
6. 向栈中压入元素的操作是先存入元素,后移动栈顶指针。
7.从循环队列中删除一个元素时,其操作是先移动队首指针,后取出元素。
8.带表头结点的空循环双向链表的长度等于0。
二、判断正误(判断下列概念的正确性,并作出简要的说明。
)(每小题1分,共10分)(×)1. 线性表的每个结点只能是一个简单类型,而链表的每个结点可以是一个复杂类型。
(×)2. 在表结构中最常用的是线性表,栈和队列不太常用。
(√)3. 栈是一种对所有插入、删除操作限于在表的一端进行的线性表,是一种后进先出型结构。
(√)4. 对于不同的使用者,一个表结构既可以是栈,也可以是队列,也可以是线性表。
(×)5. 栈和链表是两种不同的数据结构。
(×)6. 栈和队列是一种非线性数据结构。
(√)7. 栈和队列的存储方式既可是顺序方式,也可是链接方式。
(√)8. 两个栈共享一片连续内存空间时,为提高内存利用率,减少溢出机会,应把两个栈的栈底分别设在这片内存空间的两端。
(×)9. 队是一种插入与删除操作分别在表的两端进行的线性表,是一种先进后出型结构。
(×)10. 一个栈的输入序列是12345,则栈的输出序列不可能是12345。
三、单项选择题(每小题1分,共20分)(B)1.栈中元素的进出原则是A.先进先出B.后进先出C.栈空则进D.栈满则出(C)2. 若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,pn,若p1=n,则pi为A.i B.n=i C.n-i+1 D.不确定(B)3. 判定一个栈ST(最多元素为m0)为空的条件是A.ST->top<>0 B.ST->top=0 C.ST->top<>m0 D.ST->top=m0(A)4. 判定一个队列QU(最多元素为m0)为满队列的条件是A.QU->rear-QU->front = = m0 B.QU->rear -QU->front -1= = m0 C.QU->front = = QU->rear D.QU->front = = QU->rear+1(D)5.数组Q[n]用来表示一个循环队列,f为当前队列头元素的前一位置,r为队尾元素的位置,假定队列中元素的个数小于n,计算队列中元素的公式为(A)r-f; (B)(n+f-r)% n;(C)n+r-f; (D)(n+r-f)% n6.设有4个数据元素a1、a2、a3和a4,对他们分别进行栈操作或队操作。
数据结构第四章参考答案
![数据结构第四章参考答案](https://img.taocdn.com/s3/m/bfff36d426fff705cc170ae7.png)
习题41. 填空题(1)一般来说,数组不执行(___________)和(___________)操作,所以通常采用(___________)方法来存储数组。
通常有两种存储方式:(___________)和(___________)。
答案:删除 插入 顺序存储 行优先存储 列优先存储(2)设8行8列的二维数组起始元素为A[0][0],按行优先存储到起始元素下标为0的一维数组B 中,则元素B[23]在原二维数组中为(___________)。
若该二维数组为上三角矩阵,按行优先压缩存储上三角元素到起始元素下标为0的一维数组C 中,则元素C[23]即为原矩阵中的(___________)元素。
答案:A[2][7] A[3][5](3)设二维数组A 为6行8列,按行优先存储,每个元素占6字节,存储器按字节编址。
已知A 的起始存储地址为1000H ,数组A 占用的存储空间大小为(___________)字节,数组A 的最后一个元素的下标为(___________),该元素的第一个字节地址为(___________)H ,元素A[1][4]的第一个字节的地址为(___________)H 。
(提示:下标从0开始计) 答案:288 A[5][7] 111AH 1048H(4)设C++中存储三维数组A mnp ,则第一个元素为a 000,若按行优先存储,则a ijk 前面共有(___________)个元素;若按列优先存储,则a ijk 前面共有(___________)个元素。
答案:inp+jp+k i+mj+mnk(5)常见的稀疏矩阵压缩方法有:(___________)和(___________)。
答案:三元组表 十字链表 (6)广义表((a ),((b ,c ),d ),(e ))的长度为(___________),表头为(___________),表尾为(___________)。
答案:3 (a ) (((b ,c ),d ),(e )) (7)设广义表LS =((a ),((b ,c ),d ),(e )),若用取表头操作GetHead ()和取表尾操作GetTail ()进行组合操作,则取出元素b 的运算为(___________)。
(完整版)数据结构单元4练习参考答案
![(完整版)数据结构单元4练习参考答案](https://img.taocdn.com/s3/m/0434a2c1ed630b1c58eeb5c9.png)
单元测试 4一.判断题(以下各题,正确的请在前方的括号内打√;错误的打╳)(√)( 1)行列是限制在两头进行操作的线性表。
(√)( 2)判断次序行列为空的标准是头指针和尾指针都指向同一个结点。
(×)( 3)在链行列上做出队操作时,会改变front指针的值。
(√)( 4)在循环行列中,若尾指针rear 大于头指针 front,其元素个数为rear- front。
(×)( 5)在单向循环链表中,若头指针为h,那么 p 所指结点为尾结点的条件是p=h。
(√)( 6)链行列在必定范围内不会出现队满的状况。
(×)( 7)在循环链行列中无溢出现象。
(×)( 8)栈和行列都是次序储存的线性构造。
(×)( 9)在行列中同意删除的一端称为队尾。
(×)( 10)次序队和循环队对于队满和队空的判断条件是同样的。
二.填空题( 1)在行列中存取数据应按照的原则是先进先出。
( 2)行列是被限制为只好在表的一端进行插入运算,在表的另一端进行删除运算的线性表。
( 3)在行列中,同意插入的一端称为队尾。
( 4)在行列中,同意删除的一端称为队首(或队头)。
( 5)行列在进行出队操作时,第一要判断行列能否为空。
( 6)次序行列在进行入队操作时,第一要判断行列能否为满。
( 7)次序行列初始化后,front=rear= -1 。
( 8)解决次序行列“假溢出”的方法是采纳循环行列。
( 9)循环行列的队首指针为front ,队尾指针为rear ,则队空的条件为front == rear 。
( 10)链行列 LQ为空时, LQ->front->next= NULL 。
( 11)设长度为 n的链行列用单循环链表表示,若只设头指针,则入队操作的时间复杂度为O ( n)。
( 12)设长度为n的链行列用单循环链表表示,若只设尾指针,则出队操作的时间复杂度为0(1)。
(13)在一个链行列中,若队首指针与队尾指针的值同样,则表示该行列为空。
数据结构 第4-5章习题答案
![数据结构 第4-5章习题答案](https://img.taocdn.com/s3/m/8e32307baf1ffc4ffe47ac1f.png)
第4~5章串、数组和广义表习题答案一、填空题(每空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×7+4)×6+1000)=1276 。
(注:数组是从0行0列还是从1行1列计算起呢?由末单元为A57可知,是从0行0列开始!)8. 〖00年计算机系考研题〗设数组a[1…60, 1…70]的基地址为2048,每个元素占2个存储单元,若以列序为主序顺序存储,则元素a[32,58]的存储地址为8950 。
答:不考虑0行0列,利用列优先公式:LOC(a ij)=LOC(a c1,c2)+[(j-c2)*(d1-c1+1)+i-c1)]*L得:LOC(a32,58)=2048+[(58-1)*(60-1+1)+32-1]]*2=89509. 三元素组表中的每个结点对应于稀疏矩阵的一个非零元素,它包含有三个数据项,分别表示该元素的行下标、列下标和元素值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据结构》第04章在线测试
《数据结构》第04章在线测试剩余时间:59:34
答题须知:1、本卷满分20分。
2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。
3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。
第一题、单项选择题(每题1分,5道题共5分)
1、下面关于串的叙述中,哪一个是不正确的 B
A、串是字符的有限序列
B、空串是由空格构成的串
C、模式匹配是串的一种重要运算
D、串既可以采用顺序存储,也可以采用链式存储
2、设串s1="ABCDEFG",s2="PQRST",函数con(x,y)返回x和y串的连接串,subs(s,i,j)返回串s的从序号i的字符开始的j个字符组成的字符,len(s)返回串s的长度,则con(subs(s1,2,len(s2)),subs(s1,len(s2),2))的结果串是 D
A、BCDEF
B、BCDEFG
C、BCPQRST
D、BCDEFEF
3、设s="I AM A TEACHER",则s的长度是 C
A、12
B、13
C、14
D、11
4、数组A中,每个元素A 的长度为3个字节,行下标i从1到8,列下标j从1到10 ,从首地址SA开始连续存放在存储器内,该数组按行存放时,元素A[8][5]的起使地址为 C
A、SA+141
B、SA+180
C、SA+222
D、SA+225
5、稀疏矩阵一般的压缩存储方法有两种,即 C
A、二维数组和三维数组
B、三元组和散列
C、三元组和十字链表
D、散列和十字链表
第二题、多项选择题(每题2分,5道题共10分)
1、在一般的程序设计语言中,串中的元素可以是 ABCD
A、字母
B、阿拉伯数字
C、一些特殊符号
D、汉字
2、下列说法正确的是 ABCD
A、数组也是一种线性数据结构
B、一维数组从本质上看就是线性表
C、二维数组是数据元素为一维数组的线性表
D、数组是由值与下标组成的数偶的有序集合
3、常见的特殊矩阵有 ABC
A、对称矩阵
B、三角矩阵
C、对角矩阵
D、二维矩阵
4、稀疏矩阵的存储方法一般有 AB
A、三元组表法。