数据结构(A B)
数据结构考试试题及答案
数据结构一、单选题1. 计算机算法指的是(b )。
A.程序B.问题求解步骤的描述C.调度方法D.排序方法2. 以下数据结构中,(a )个是非线性数据结构。
A.树B.字符串C.队D.栈3. 对于顺序存储的线性表,访问元素和插入元素的时间复杂度分别为:(c )。
A.O(n) O(n) B.O(n) O(1) C.O(1) O(n) D.O(1) O(1)4. 在单链表指针为p的结点之后插入指针为s的结点,正确的操作是(b )。
A.p->next=s;s->next=p->nextB.s->next=p->next; p->next=sC.p->next=s;p->next=s->nextD.p->next=s->next; p->next=s5. n个顶点的有向图中,含有向边的数目最多为( d )A.n-1 B.n C.n(n-1)/2 D.n(n-1)6. 循环队列存储在数组A[0..m]中,则入队时的操作为( d )A.rear=rear+1 B.rear=(rear+1)mod(m-1)C.rear=(rear+1)mod m D.rear=(rear+1)mod(m+1)7. 字符串‟ababaabab‟的next函数为(d )A.011232232B.012341234C.011122334D. 0112342348. 若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数为( b )A.9 B.11 C.15 D.不确定9. 设有数组A[i,j],数组的每个元素长度为3字节,i的值为1到8,j的值为1到10,数组从内存首地址BA开始顺序存放,当以列为主序存放时,元素A[5,8]的首地址为( b )。
A.BA+141 B.BA+180 C.BA+222 D.BA+22510. n个顶点的带权无向连通图的最小生成树包含(b )个顶点A.n-1 B.nC.n/2 D.n+111.有关二叉树的下列说法正确的是( b )A.二叉树的度为2 B.一棵二叉树的度可以小于2C.二叉树中至少有一个结点的度为2 D.二叉树中任何一个结点的度都为212.关键路径是AOE网中( a )。
数据结构参考答案
简答一.1、已知模式串pat=’ADABBADADA’,写出该模式串的next函数值和nextval值;2、模式匹配算法是在主串中快速寻找模式的一种有效的方法,如果设主串的长度为m,模式的长度为n,则在主串中寻找模式的KMP算法的时间复杂性是多少?如果,某一模式 P=’abcaacabaca’,请给出它的NEXT函数值及NEXT函数的修正值NEXTVAL之值。
3、已知模式串pat=“abaabc”,写出该模式串的next函数值和nextval值;4、给出字符串‘abacabaaad’在KMP算法中的next和nextval数组。
二、(意思对即可,不一定是这种写法)1、数据结构按照逻辑结构分为哪四种结构,说出元素之间的关系?集合:无关系线性结构:一对一树形结构:一对多图形结构:多对多2、图形结构有几种存储结构?分别是什么存储结构?4种。
邻接矩阵,邻接表,十字链表,邻接多重表3、度数为2的树和二叉树有何区别?(1)度为2的树中至少有一个结点的度为2,而二叉树中没有这种要求。
(2)度为2的树不区分左右子树,而二叉树严格区分左右子树。
4、简述栈和队列的特点。
栈:是一种只能在一端进行插入或删除操作的线性表。
“后进先出”队列:是一种仅允许在表的一端进行插入操作,而在表的另一端进行删除操作的受限的线性表“先进先出”三(只是最终的结果,有的题可能需要中间步骤,自己完善一下)1、已知某有向图的顶点集合为{A,B,C,D,E,F},边集合为{〈A,B〉,〈A,C〉,〈A,E〉,〈C,F〉,〈E,D〉},画出该图的邻接表,以它为基写出深度优先、广度优先遍历序列(深度、广度遍历要求从结点A开始)。
深度:A B C F E D广度:A B C E F D2、设无向图G(如右图所示),给出该图的最小生成树上边的集合并计算最小生成树各边上的权值之和。
3、对下图所示的无向图,从顶点1开始,写出该图的深度优先遍历和广度优先遍历。
数据结构课后习题答案第四章
第四章一、简述下列每对术语的区别:空串和空白串;串常量和串变量;主串和子串;静态分配的顺序串和动态分配的顺序串;目标串和模式串;有效位移和无效位移。
答:●空串是指不包含任何字符的串,它的长度为零。
空白串是指包含一个或多个空格的串,空格也是字符。
●串常量是指在程序中只可引用但不可改变其值的串。
串变量是可以在运行中改变其值的。
●主串和子串是相对的,一个串中任意个连续字符组成的串就是这个串的子串,而包含子串的串就称为主串。
●静态分配的顺序串是指串的存储空间是确定的,即串值空间的大小是静态的,在编译时刻就被确定。
动态分配的顺序串是在编译时不分配串值空间,在运行过程中用malloc和free等函数根据需要动态地分配和释放字符数组的空间(这个空间长度由分配时确定,也是顺序存储空间)。
●目标串和模式串:在串匹配运算过程中,将主串称为目标串,而将需要匹配的子串称为模式串,两者是相对的。
●有效位移和无效位移:在串定位运算中,模式串从目标的首位开始向右位移,每一次合法位移后如果模式串与目标中相应的字符相同,则这次位移就是有效位移(也就是从此位置开始的匹配成功),反之,若有不相同的字符存在,则此次位移就是无效位移(也就是从此位置开始的匹配失败)。
二、假设有如下的串说明:char s1[30]="Stocktom,CA", s2[30]="March 5 1999", s3[30], *p;(1)在执行如下的每个语句后p的值是什么?p=stchr(s1,'t'); p=strchr(s2,'9'); p=strchr(s2,'6');(2)在执行下列语句后,s3的值是什么?strcpy(s3,s1); strcat(s3,","); strcat(s3,s2);(3)调用函数strcmp(s1,s2)的返回值是什么?(4)调用函数strcmp(&s1[5],"ton")的返回值是什么?(5)调用函数stlen(strcat(s1,s2))的返回值是什么?解:(1) stchr(*s,c)函数的功能是查找字符c在串s中的位置,若找到,则返回该位置,否则返回NULL。
数据结构复习答案2013-1
数据结构复习答案一、选择填空1.下面关于线性表的叙述中,错误的是哪一个?()A)线性表采用顺序存储,必须占用一片连续的存储单元。
√B)线性表采用顺序存储,便于进行插入和删除操作。
C)线性表采用链接存储,不必占用一片连续的存储单元。
D)线性表采用链接存储,便于插入和删除操作。
2.若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用()存储方式最节省时间。
√A)顺序表B)双链表C)带头结点的双循环链表D)单循环链表3.链表不具有的特点是()。
A)插入、删除不需要移动元素√B)可随机访问任一元素C)不必事先估计存储空间D)所需空间与线性长度成正比4.若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为()(1<=i<=n+1)。
A)O(0) B)O(1) √C)O(n) D)O(n2)5.线性表(a1,a2,…,an)以链接方式存储时,访问第i位置元素的时间复杂度为()。
A)O(i) B)O(1) √C)O(n) D)O(i-1)6.对于一个头指针为head的带头结点的单链表,判定该表为空表的条件是()A)head==NULL B)head→next==NULL√C)head→next==head D)head!=NULL7.在单链表指针为p的结点之后插入指针为s的结点,正确的操作是:()。
A)p->next=s;s->next=p->next; √B)s->next=p->next;p->next=s;C)p->next=s;p->next=s->next; D)p->next=s->next;p->next=s;8.设指针变量p指向单链表结点A,则删除结点A的后继结点B需要的操作为( )。
√A)p->next=p->next->next B)p=p->nextC)p=p->next->next D)p->next=p9.( )又称为FIFO表;( )又称为FILO表。
数据结构复习题1
数据结构复习题2
一、选择题(30分)
1.设一维数组中有n个数组元素,则读取第i个数组元素的平均时间复杂度为()。
(A) O(n)(B) O(nlog2n)(C) O(1)(D) O(n2)
2.设一棵二叉树的深度为k,则该二叉树中最多有()个结点。
(A) 2k-1(B) 2k(C) 2k-1(D) 2k-1
5.设哈夫曼树中共有n个结点,则该哈夫曼树中有___0_____个度数为1的结点。
6.设有向图G中有n个顶点e条有向边,所有的顶点入度数之和为d,则e和d的关系为_________。
7.__________遍历二叉排序树中的结点可以得到一个递增的关键字序列(填先序、中序或后序)。
8.设查找表中有100个元素,如果用二分法查找方法查找数据元素X,则最多需要比较________次就可以断定数据元素X是否在查找表中。
typedef struct node {datatype data; struct node *lchild,*rchild;} bitree;
bitree *q[20]; int r=0,f=0,flag=0;
void preorder(bitree *bt, char x)
{
if (bt!=0 && flag==0)
int hashsqsearch(struct record hashtable[ ],int k)
{
int i,j; j=i=k % p;
while (hashtable[j].key!=k&&hashtable[j].flag!=0){j=(____) %m; if (i==j) return(-1);}
(C)判别栈元素的类型(D)对栈不作任何判别
数据结构答案第4章
⑴二维数组A的每个元素是由6个字符组成的串,行下标的范围从0~8,列下标的范围是从0~9,则存放A至少需要()个字节,A的第8列和第5行共占()个字节,若A按行优先方式存储,元素A[8][5]的起始地址与当A按列优先方式存储时的()元素的起始地址一致。
A 90 B 180 C 240 D 540 E 108 F 114 G 54
⑵二维数组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。
Head(Tail(Tail(Head(ST))))=奖金
⑵工资表ST的头尾表示法如图4-7所示。7.若在矩阵A中存在一个元素ai,j(0≤i≤n-1,0≤j≤m-1),该元素是第i行元素中最小值且又是第j列元素中最大值,则称此元素为该矩阵的一个马鞍点。假设以二维数组存储矩阵A,试设计一个求该矩阵所有马鞍点的算法,并分析最坏情况下的时间复杂度。
⑵因为k和i, j之间是一一对应的关系,k+1是当前非零元素的个数,整除即为其所在行号,取余表示当前行中第几个非零元素,加上前面零元素所在列数就是当前列号,即:
数据结构1-3章习题答案2013
while(p->next!=NULL)
p=p->next;
temp=p->data;
delete p;
return temp;
}
4、数据结构简单地说是指数据以及相互之间的联系。
5、算法应具备以下5个特性:有穷性、正确性、可行性、输入和输出。
6、在分析各种算法的时间复杂度时,一般只讨论相应的数量级,用f(素的个数远远少于零元素的个数。
8、的运算规则为后进先出,队列的运算规则为先进先出。
C.(rear+1) %n= =frontD. (rear-1)%n= = front
5、下列是顺序存储线性表排序的算法
void Sort(List& L)
{
int i,j;
ElemType x;
for(i=1;i<L.size;i++)
{
x=L.list[i];
for(j=i-1;j>=0;j--)
}
不考虑健壮性条件,写出下列出队算法中缺失的语句:
ElemType OutQueue(struct QueueSq* Q)
{…
Q->front=(Q->front+1)%Q->MaxSize;
return Q->queue[Q->front];
…
}
参考以上两算法和数据结构,写出队满的条件:
(Q->rear+1)%Q->MaxSize==Q->front
和队空的条件:
Q->front==Q->rear
六、用f(n)=2n为例,说明栈与递归算法之间的关系。
专科《数据结构》_试卷_答案
专科《数据结构》一、 (共75题,共150分)1。
数据的逻辑结构在计算机内部存储表示称为为数据的()。
(2分)A。
数据结构 B.逻辑关系C.物理结构 D。
数据元素的内部结构。
标准答案:C2. ()是数据的不可分割的最小单位。
(2分)A。
数据对象 B。
数据元素 C。
数据类型 D。
数据项。
标准答案:D3。
算法的时间复杂度是对算法()的度量。
(2分)A。
时间效率 B。
空间效率 C。
可读性 D。
健壮性。
标准答案:A4. ()是限制了插入和删除操作在一端进行的线性表。
(2分)A。
栈 B.队列 C.串 D。
数组.标准答案:A5。
数组通常采用顺序存储的优点是(). (2分)A.便于增加存储空间 B。
便于依据下标进行随机存取C。
避免数据元素的移动 D.防止下标溢出.标准答案:B6。
采用带头结点双向链表存储的线性表,在插入一个元素时,需要修改指针()次。
(2分)A。
1 B.2 C.3 D.4。
标准答案:D7。
线性表的顺序存储结构是一种()的存储结构. (2分)A.顺序存取B.随机存取C.索引存取 D。
Hash存取。
标准答案:B8. 数组a[1。
.256]采用顺序存储,a的首地址为10,每个元素占2字节,则a[21]的地址是()。
(2分)A。
10 B。
30 C。
50 D.70。
标准答案:C9. 深度为4的二叉树,第4层至少有()个结点. (2分)A。
0 B.1 C。
8 D.15。
标准答案:B10. 若二叉树对应的二叉链表共有11个非空链域,则该二叉树有()个结点的二叉树。
(2分)A.10 B。
11 C。
20 D.21.标准答案:A11。
下面叙述错误的是()。
(2分)A。
借助于队列可以实现对二叉树的层遍历B.栈的特点是先进后出C.对于单链表进行插入操作过程中不会发生上溢现象D。
在无向图的邻接矩阵中每行1的个数等于对应的顶点度。
标准答案:C12. 以下与数据的存储结构无关的术语是()。
(2分)A。
循环队列 B.双向链表 C。
《数据结构》1至5章期末复习题
第一章一、单项选择题1. 数据结构是指()。
A.数据元素的组织形式B.数据类型C.数据存储结构D.数据定义2. 数据在计算机存储器内表示时,物理地址与逻辑地址不相同的,称之为()。
A.存储结构B.逻辑结构C.链式存储结构D.顺序存储结构3. 树形结构是数据元素之间存在一种()。
A.一对一关系B.多对多关系C.多对一关系D.一对多关系4. 设语句x++的时间是单位时间,则以下语句的时间复杂度为()。
for(i=1; i<=n; i++)for(j=i; j<=n; j++)x++;A.O(1)B.O( )C.O(n)D.O( )5. 算法分析的目的是(1),算法分析的两个主要方面是(2)。
A.找出数据结构的合理性B.研究算法中的输入和输出关系C.分析算法的效率以求改进D.分析算法的易懂性和文档性(2) A.空间复杂度和时间复杂度 B.正确性和简明性C.可读性和文档性D.数据复杂性和程序复杂性6. 计算机算法指的是(1),它具备输入,输出和(2)等五个特性。
(1) A.计算方法 B.排序方法 C.解决问题的有限运算序列 D.调度方法(2) A.可行性,可移植性和可扩充性 B.可行性,确定性和有穷性C.确定性,有穷性和稳定性D.易读性,稳定性和安全性7. 数据在计算机内有链式和顺序两种存储方式,在存储空间使用的灵活性上,链式存储比顺序存储要()。
A.低 B.高 C.相同 D.不好说8. 数据结构作为一门独立的课程出现是在()年。
A.1946B.1953C.1964D.19689. 数据结构只是研究数据的逻辑结构和物理结构,这种观点()。
A.正确B.错误C.前半句对,后半句错D.前半句错,后半句对10. 计算机内部数据处理的基本单位是()。
A.数据B.数据元素C.数据项D.数据库二、填空题1. 数据结构按逻辑结构可分为两大类,分别是______________和_________________。
数据结构第八章习题及答案
习题八查找一、单项选择题1.顺序查找法适合于存储结构为()的线性表。
A. 散列存储B. 顺序存储或链式存储C. 压缩存储D. 索引存储2.若查找每个记录的概率均等,则在具有n个记录的连续顺序文件中采用顺序查找法查找一个记录,其平均查找长度ASL为( )。
A. (n-1)/2 B. n/2 C. (n+1)/2 D. n3.适用于折半查找的表的存储方式及元素排列要求为( )A.链接方式存储,元素无序 B.链接方式存储,元素有序C.顺序方式存储,元素无序 D.顺序方式存储,元素有序4.当在一个有序的顺序存储表上查找一个数据时,即可用折半查找,也可用顺序查找,但前者比后者的查找速度( )A.必定快 B.不一定 C. 在大部分情况下要快 D.取决于表递增还是递减5.当采用分块查找时,数据的组织方式为 ( )A.数据分成若干块,每块内数据有序B.数据分成若干块,每块内数据不必有序,但块间必须有序,每块内最大(或最小)的数据组成索引块C. 数据分成若干块,每块内数据有序,每块内最大(或最小)的数据组成索引块D.数据分成若干块,每块(除最后一块外)中数据个数需相同6.二叉树为二叉排序树的充分必要条件是其任一结点的值均大于其左孩子的值、小于其右孩子的值。
这种说法()。
A.正确 B. 错误7. 二叉查找树的查找效率与二叉树的((1) )有关,在((2) )时其查找效率最低。
(1): A. 高度 B. 结点的多少 C. 树型 D.结点的位置(2): A. 结点太多B. 完全二叉树C.呈单枝树D. 结点太复杂。
8.如果要求一个线性表既能较快的查找,又能适应动态变化的要求,则可采用( )查找法。
A. 分快查找B. 顺序查找 C. 折半查找D.基于属性9.分别以下列序列构造二叉排序树,与用其它三个序列所构造的结果不同的是( )。
A.(100,80,90, 60, 120,110,130) B.(100,120,110,130,80, 60, 90) C.(100,60, 80, 90, 120,110,130) D. (100,80,60, 90, 120,130,110)10.下图所示的4棵二叉树,( )是平衡二叉树。
国开作业《数据结构(本)-形考作业》 (25)
题目:以下陈述中正确的是()。
选项A:串中元素只能是字母选项B:串是一种特殊的线性表选项C:空串就是空格串选项D:串的长度必须大于零答案:串是一种特殊的线性表题目:设有两个串p和q,其中q是p的子串,q在p中首次出现的位置的算法称为()。
选项A:求串长选项B:连接选项C:匹配选项D:求子串答案:匹配题目:串是()。
选项A:不少于一个字母的序列选项B:不少于一个字符的序列选项C:有限个字符的序列选项D:任意个字母的序列答案:有限个字符的序列题目:串的长度是指()。
选项A:串中所含非空格字符的个数选项B:串中所含字符的个数选项C:串中所含不同字母的个数选项D:串中所含不同字符的个数答案:串中所含字符的个数题目:在C语言中,存储字符串“ABCD”需占用()字节。
选项A:2选项B:3选项C:4选项D:5答案:5题目:下面关于串的叙述中,不正确的是()。
选项A:模式匹配是串的一种重要运算选项B:空串是由空格构成的串选项C:串即可以采用顺序存储,也可以采用链式存储选项D:串是字符的有限序列答案:空串是由空格构成的串题目:串与普通的线性表相比较,它的特殊性体现在()。
选项A:数据元素可以任意选项B:顺序的存储结构选项C:数据元素是一个字符选项D:链接的存储结构答案:数据元素是一个字符题目:空串与空格串()。
选项A:相同选项B:不相同选项C:无法确定选项D:可能相同答案:不相同题目:两个字符串相等的条件是()。
选项A:两串包含的字符相同选项B:两串的长度相等,并且对应位置上的字符相同选项C:两串的长度相等选项D:两串的长度相等,并且两串包含的字符相同答案:两串的长度相等,并且对应位置上的字符相同题目:在实际应用中,要输入多个字符串,且长度无法预定。
则应该采用()存储比较合适()。
选项A:无法确定选项B:顺序选项C:链式选项D:堆结构答案:链式题目:下列关于串的叙述中,不正确的是()。
选项A:串既可以采用顺序存储,也可以采用链式存储选项B:模式匹配是串的一种重要运算选项C:空串是由空格构成的串选项D:串是字符的有限序列答案:空串是由空格构成的串题目:串是一种特殊的线性表,其特殊性体现在()。
1102编号数据结构试卷带答案
数据结构试卷(一)一、选择题(20分)1.组成数据的基本单位是( 1.C)。
(A) 数据项(B) 数据类型(C) 数据元素(D) 数据变量2.设数据结构A=(D,R),其中D={1,2,3,4},R={r},r={<1,2>,<2,3>,<3,4>,<4,1>},则数据结构A是(C)。
(A) 线性结构(B) 树型结构(C) 图型结构(D) 集合3.数组的逻辑结构不同于下列(D)的逻辑结构。
(A) 线性表(B) 栈(C) 队列(D) 树4.二叉树中第i(i≥1)层上的结点数最多有(C)个。
(A) 2i(B) 2i(C) 2i-1(D) 2i-15.设指针变量p指向单链表结点A,则删除结点A的后继结点B需要的操作为(.A )。
(A) p->next=p->next->next(B) p=p->next(C) p=p->next->next(D) p->next=p6.设栈S和队列Q的初始状态为空,元素E1、E2、E3、E4、E5和E6依次通过栈S,一个元素出栈后即进入队列Q,若6个元素出列的顺序为E2、E4、E3、E6、E5和E1,则栈S的容量至少应该是(.C )。
(A) 6(B) 4(C) 3(D) 27.将10阶对称矩阵压缩存储到一维数组A中,则数组A的长度最少为(C )。
(A) 100(B) 40(C) 55(D) 808.设结点A有3个兄弟结点且结点B为结点A的双亲结点,则结点B的度数数为(8.B(A) 3(B) 4(C) 5(D) 19.根据二叉树的定义可知二叉树共有( B)种不同的形态。
(A) 4(B) 5(C) 6(D) 710.设有以下四种排序方法,则( B )的空间复杂度最大。
(A) 冒泡排序(B) 快速排序(C) 堆排序(D) 希尔排序二、填空题(30分)1.设顺序循环队列Q[0:m-1]的队头指针和队尾指针分别为F和R,其中队头指针F指向当前队头元素的前一个位置,队尾指针R指向当前队尾元素所在的位置,则出队列的语句为F =____________;。
数据结构试题及答案)
一、单选题(每题 2 分,共20分)1. 1.对一个算法的评价,不包括如下(B )方面的内容。
A.健壮性和可读性B.并行性C.正确性D.时空复杂度2. 2.在带有头结点的单链表HL中,要向表头插入一个由指针p指向的结点,则执行(A)。
A. p->next=HL->next; HL->next=p;B. p->next=HL; HL=p;C. p->next=HL; p=HL;D. HL=p; p->next=HL;3. 3.对线性表,在下列哪种情况下应当采用链表表示?( B )A.经常需要随机地存取元素B.经常需要进行插入和删除操作C.表中元素需要占据一片连续的存储空间D.表中元素的个数不变4. 4.一个栈的输入序列为1 2 3,则下列序列中不可能是栈的输出序列的是( C )A. 2 3 1B. 3 2 1C. 3 1 2D. 1 2 35. 5.AOV网是一种(D )。
A.有向图B.无向图C.无向无环图D.有向无环图6. 6.采用开放定址法处理散列表的冲突时,其平均查找长度(B )。
A.低于链接法处理冲突 B. 高于链接法处理冲突C.与链接法处理冲突相同D.高于二分查找7.7.若需要利用形参直接访问实参时,应将形参变量说明为(D )参数。
A.值B.函数C.指针D.引用8.8.在稀疏矩阵的带行指针向量的链接存储中,每个单链表中的结点都具有相同的( A )。
A.行号B.列号C.元素值D.非零元素个数9.9.快速排序在最坏情况下的时间复杂度为(D )。
A.O(log2n) B.O(nlog2n) C.0(n) D.0(n2)10.10.从二叉搜索树中查找一个元素时,其时间复杂度大致为( C )。
A. O(n)B. O(1)C. O(log2n)D. O(n2)二、二、运算题(每题 6 分,共24分)1. 1.数据结构是指数据及其相互之间的____联系__________。
《数据结构》期末考A、B卷(本科)范文
武夷学院期末考试试卷( 09级计算机科学与技术专业2010 ~2011 学年度第 1 学期) 课程名称 数据结构 A 卷 考试形式 闭卷 考核类型 考试 本试卷共 五 大题,卷面满分100分,答题时间120分钟。
一、选择题:(本大题共10小题,每小题2分,共20分)1. 某内排序方法的稳定性是指( )。
A .该排序算法不允许有相同的关键字记录 B .该排序算法允许有相同的关键字记录 C .平均时间为0(n log n )的排序方法 D .以上都不对2.下面程序段的时间复杂度为( )。
for(i=2;i<=n;++I) for(j=2;j<=i-1;++j) {++x;a[i ,j]=x;}A.O (1)B.O (log 2n )C.O (n )D.O (n 2)3.非空的循环单链表head 的尾结点p 满足( )。
A.p->next=head ;B. p->next=NULL ;C.p =NULL ;D. p->next->next =head ;4.设栈s 和队列Q 的初始状态为空, 元素b 1 ,b 2, ,b 3 , b 4 , b 5 和b 6 依次通过栈S ,一个元素出栈后即进队列Q ,若6个元素出队的序列是b 2 ,b 4 ,b 3 ,b 6 ,b 5 ,b 1 ,,则栈S的容量至少应该是()。
A. 3B. 4C. 5D.其它5.表头和表尾均为空表的广义表是()。
A.()B.(())C.((()))D.((),())6.下列二叉排序树中,满足平衡二叉树定义的是()。
A . B. C. D.7.二维数组A的成员是4个字符(每个字符占一个存储单元)组成的串,行下标i的范围从1到8,列下标j的范围从1到10,若A按行优先方式存储,起始地址为SA,那么元素A[8][5]的起始地址为()。
A.SA+292 B.SA+296 C.SA+300 D.SA+3048.当在一个有序的顺序存储表上查找一个数据时,即可用折半查找,也可用顺序查找,但前者比后者的查找速度()。
数据结构复习题(带答案)
装订第 1 页 共 11 页一、选择题1.设某数据结构的二元组形式表示为A=(D ,R),D={01,02,03,04,05,06,07,08,09},R={r},r={<01,02>,<01,03>,<01,04>,<02,05>,<02,06>,<03,07>,<03,08>,<03,09>},则数据结构A 是( B )。
(A )线性结构 (B )树型结构 (C )物理结构 (D )图型结构 2.树最适合用来表示( C )。
(A )有序数据元素 (B )无序数据元素(C )元素之间具有分支层次关系的数据 (D )元素之间无联系的数据3. 设一组初始记录关键字序列为(50,40,95,20,15,70,60,45),则以增量d=4的一趟希尔排序结束后前4条记录关键字为( B )。
(A) 40,50,20,95 (B) 15,40,60,20 (C) 15,20,40,45 (D) 45,40,15,204. 算法的计算量的大小称为计算的( B )。
(A) 效率 (B) 复杂性 C. 现实性 D. 难度5. 设一维数组中有n 个数组元素,则读取第i 个数组元素的平均时间复杂度为( C )。
(A) O(n) (B) O(nlog 2n) (C) O(1) (D) O(n) 6.下面算法的时间复杂度为( B )。
int f(int n) {if(n==0||n==1)return 1; else return n*f(n-1); }(A) O(1) (B)O(n) (C)O(n2) (D) O(n!) 7. 以下哪一个不是队列的基本运算?( A )(A )在队列第i 个元素之后插入一个元素 (B )从队头删除一个元素 (C )判断一个队列是否为空 (D )读取队头元素的值 8.不含任何结点的空树。
( C )(A)是一棵树; (B)是一棵二叉树;(C)是一棵树也是一棵二叉树 (D)既不是树也不是二叉树9. 若某线性表的常用操作是取第i 个元素及其前趋元素,则采用( A )存储方式最节省时间。
数据结构练习题及答案
数据结构试题及答案第一章一、选择题1、研究数据结构就是研究( D )。
A. 数据的逻辑结构B. 数据的存储结构C. 数据的逻辑结构和存储结构D. 数据的逻辑结构、存储结构及其基本操作2、算法分析的两个主要方面是( A )。
A. 空间复杂度和时间复杂度B. 正确性和简单性C. 可读性和文档性D. 数据复杂性和程序复杂性3、具有线性结构的数据结构是( D )。
A. 图B. 树C. 二叉树D. 栈4、计算机中的算法指的是解决某一个问题的有限运算序列,它必须具备输入、输出、( B )等5个特性。
A. 可执行性、可移植性和可扩充性B. 可执行性、有穷性和确定性C. 确定性、有穷性和稳定性D. 易读性、稳定性和确定性5、下面程序段的时间复杂度是( C )。
for(i=0;i<m;i++)for(j=0;j<n;j++)a[i][j]=i*j; A. O(m 2) B. O(n 2) C. O(m*n) D. O(m+n)6、算法是( D )。
A. 计算机程序B. 解决问题的计算方法C. 排序算法D. 解决问题的有限运算序列7、某算法的语句执行频度为(3n+nlog 2n+n 2+8),其时间复杂度表示( C )。
A. O(n) B. O(nlog 2n) C. O(n 2) D. O(log 2n)8、下面程序段的时间复杂度为( C )。
i=1;while(i<=n)i=i*3;A. O(n)B. O(3n)C. O(log 3n)D. O(n 3)9、数据结构是一门研究非数值计算的程序设计问题中计算机的数据元素以及它们之间的( B )和运算等的学科。
A. 结构B. 关系C. 运算D. 算法10、抽象数据类型的三个组成部分分别为( A )。
A. 数据对象、数据关系和基本操作B. 数据元素、逻辑结构和存储结构C. 数据项、数据元素和数据类型D. 数据元素、数据结构和数据类型11、下列程序段的时间复杂度为(B )。
数据结构期末考试试题和标准答案及评分标准
《数据结构》试题(A卷)(考试时间: 90分钟)一、单项选择题(本大题共15小题,每小题2分,共30分)(每题只有一个选项是正确的,将答案填写在括号内,错选、多选不得分)1.()是组成数据的基本单位,是一个数据整体中相对独立的单元。
A.数据 B.数据元素 C.数据对象 D.数据结构2.算法计算量的大小称为算法的()。
A.效率?????B.复杂度C.数据元素之间的关系??? ?D.数据的存储方法3.若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入或删除运算,则采用以下()方式最节省时间。
A.链式存储B. 索引存储C.顺序存储D.散列存储4.下述哪一条是顺序存储结构的优点?()A.存储密度大?B.插入运算方便?C.删除运算方便?D.可方便地用于各种逻辑结构的存储表示5.在一个单链表中,若删除p所指结点的后续结点,则执行()。
A.p->next=p->next->nextB.p->next=p->nextC.p=p->next;p->next=p->next->nextD.p=p->next->next6.带头结点的单链表head为空的判定条件是()。
A.head==NULLB.head->next==NULLC.head->next==headD.head!==NULL7.非空的循环单链表head的尾结点(由p所指向)满足()。
A.p->head==NULLB.p==NULLC.p->next==headD.p==head8.下面关于线性表的叙述中,错误的是哪一个?()A.线性表采用顺序存储,必须占用一片连续的存储单元。
B.线性表采用顺序存储,便于进行插入和删除操作。
C.线性表采用链式存储,不必占用一片连续的存储单元。
D.线性表采用链式存储,便于插入和删除操作。
9.队列操作的原则是()。
A.后进先出B.先进先出C.只能进行插入D.只能进行删除10.栈中允许进行插入和删除的一端称为()。
数据结构参考答案
《数据结构》模拟卷A一、选择题1.在一个长度为n的顺序表的任一位置插入一个新元素的渐进时间复杂度为( A )。
A. O(n)B. O(n/2)C. O(1)D. O(n2)2.带头结点的单链表first为空的判定条件是:( B )。
A. first == NULL;B. first->link == NULL;C. first->link == first;D. first != NULL;3. 从逻辑上可以把数据结构分为( C )两大类。
A.动态结构、静态结构B.顺序结构、链式结构C.线性结构、非线性结构 D.初等结构、构造型结构4.在系统实现递归调用时需利用递归工作记录保存实际参数的值。
在传值参数情形,需为对应形式参数分配空间,以存放实际参数的副本;在引用参数情形,需保存实际参数的( D ),在被调用程序中可直接操纵实际参数。
A. 空间B. 副本C. 返回地址D. 地址5. 以下数据结构中,哪一个是线性结构( D )。
A.广义表 B. 二叉树 C. 稀疏矩阵 D. 串6. 以下属于逻辑结构的是( C )。
A.顺序表 B. 哈希表 C.有序表 D. 单链表7.对于长度为9的有序顺序表,若采用折半搜索,在等概率情况下搜索成功的平均搜索长度为( C )的值除以9。
A. 20B. 18C. 25D. 228.在有向图中每个顶点的度等于该顶点的( C )。
A. 入度B. 出度C. 入度与出度之和D. 入度与出度之差9.在基于排序码比较的排序算法中,( C )算法的最坏情况下的时间复杂度不高于O(nlog2n)。
A. 起泡排序B. 希尔排序C. 归并排序D. 快速排序10.当α的值较小时,散列存储通常比其他存储方式具有( B )的查找速度。
A. 较慢B. 较快C. 相同D.不同二、填空题1.二维数组是一种非线性结构,其中的每一个数组元素最多有______2___个直接前驱(或直接后继)。
2.将一个n阶三对角矩阵A的三条对角线上的元素按行压缩存放于一个一维数组B中,A[0][0]存放于B[0]中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构(A+B)学号:姓名:成绩:一、判断题(10分 1*10)1、如果两个串含有相同的字符,则说明他们相等。
错2、如果一个串中的所有字符均在另一个串中出现,那么则说明前者是后者的子串。
错3、设有两个串p和q,其中q是p的字串,把q在p中首次出现的位置作为字串q在p中的位置的算法称为匹配。
对4、在模式匹配中,KMP算法的最大特点是指向主串的指针不需回溯。
对5、数组是同类型值的集合。
对6、线性表的逻辑顺序与物理顺序总是一致的。
错7、线性表的顺序存储表示优于链式存储表示。
错8、二叉树是树的特殊形式。
对9、由树转换为二叉树,其根节点的右子树总是空的。
对10、前序遍历树和前序遍历与该树对应的二叉树,其结果不同。
错11、后序遍历树和中序遍历与该树对应的二叉树,其结果不同。
对12、前序遍历森林和前序遍历与该森林对应的二叉树,其结果不同。
错13、后序遍历森林和中序遍历与该森林对应的二叉树,其结果不同。
对14、用邻接矩阵法存储一个图时,在不考虑压缩存储的情况下,所占用的存储空间大小只与图中节点个数有关,而与图的边数无关。
对15、对任意一个图,从它的某个顶点出发进行一次深度优先遍历或者广度优先遍历可以访问到该图的每个顶点。
错16、任何有向图网络拓扑排序的结果都是唯一的。
错17、存储无向图的相邻矩阵是对称的,因此只是存储相邻矩阵的下(或上)三角部分就可以了。
对18、在AOV-网中一定只有一条关键路径。
错19、任何一个关键活动提前完成、那么整个工程就会提前完成。
对20、哈希表的查找效率主要取决于哈希表造表时选取的哈希函数和处理冲突的方法。
(对)21、任何一个二叉查找树的平均查找时间都小于用顺序查找查找同样节点的线性表的平均查找时间。
(错)二、选择题(10分) 10条1、如果线性表中最常用的操作是存取第i个元素及其前驱的值,则采用存储方式节省时间。
DA. 单链表B. 双链表C. 单循环链表D. 顺序表2、一个栈的输入序列为1,2,3,4,5,则下列序列中不可能是栈的输出序列的是 BA. 2,3,4,1,5B. 5,4,1,3,2C. 2,3,1,4,5D. 1,5,4,3,23、若依次输入数据元素序列{a,b,c,d,e,f,g}进栈,出栈操作可以和入栈操作间隔进行,则下列哪些元素序列可以由出栈序列得到?(多选题)A、DA. {d,e,c,f,b,g,a}B.{f,e,g,d,a,c,b}C.{e,f,d,g,b,c,a}D.{c,d,b,e,f,a,g}4、串的长度是()DA. 串中不同字母的个数B. 串中不同字符的个数C. 串中所含字符的个数,且大于0D. 串中所含字符的个数5、设有两个串p和q,求q在p中首次出现的位置的运算是()BA. 连接B. 模式匹配C. 求字串D. 求串长6、设有一个10阶的对称矩阵A,采用下三角方式压缩存储方式,以行序为主存储,a11为第一个元素,其存储地址为1,每个元素占1个地址空间,则a85的地址为()BA. 13B. 33C. 18D. 407、已知广义表LS=(a,(b,c,d),e),运用HEAD和TAIL函数取出LS中单元素b的运算是()CA. HEAD(HEAD(LS))B. TAIL(HEAD(LS))C. HEAD(HEAD(TAIL(LS)))D. HEAD(TAIL(LS))8、已知广义表A=((a,b,c),(d,e,f)),从A中取出单元素e的运算是()DA. TAIL(HEAD(A))B. HEAD(TAIL(A))C. HEAD(TAIL(TAIL(HEAD(A))))D. HEAD(TAIL(HEAD(TAIL(A))))9、如果节点A有3个兄弟,而且B是A的双亲,则B的度是()AA. 4B. 5C. 1D. 210、前序遍历的顺序是()AA、根节点、左子树、右子树B、左子树、根节点、右子树C、右子树、根节点、左子树D、左子树、右子树、根节点11、中序遍历的顺序是()BA、根节点、左子树、右子树B、左子树、根节点、右子树C、右子树、根节点、左子树D、左子树、右子树、根节点12、n个顶点的强连通图至少有()条边 AA. nB. n+1C. n-1D. n(n-1)13、关键路径是事件节点网络中()BA. 从源点到汇点的最长路径B. 从源点到汇点的最短路径C. 最长的回路D. 最短的回路14、任何一个无向图的最小生成树()BA. 只有一棵B. 有一棵或者多棵C. 一定有多棵D. 可能不存在15、n个顶点的无向完全图的边数是()DA. n(n-1)B. n(n+1)C. n(n+1)/2D. n(n-1)/216、设哈希表长m=14,哈希函数H(k)=k MOD 11。
表中已有四个记录,如果用二次探测在散列处理冲突,关键字为49的记录的存储地址是()D0 1 2 3 4 567891011121315 386184A. 8B. 3C. 5D. 917、下列排序方法中,哪一种方法的比较次数与记录的初始排列状态无关?(C)A. 直接插入排序B. 气泡排序C. 快速排序D. 直接选择排序三、提空题(20分)1、数据的逻辑结构可形式化地用一个二元组B=(K,R)来表示,其中K是,R是。
2、在数据结构中,与所使用的计算机无关的是数据的 结构。
3、算法的基本要求有、、、和可行性。
4、度量算法效率可以通过和空间复杂度两方面进行。
5、带头结点的单循环链表Head的判空条件是;不带头结点的单循环链表的判空条件是;6、删除带头结点的单循环链表Head的第一个结点的操作是删除不带头结点的单循环链表的第一个结点的操作是7、在顺序表中,假设有n个元素,插入一个节点需平均移动的节点个数是删除一个节点需平均移动的元素是8、一个n*n的对称矩阵,如果以行或列为主存存入内存,则其需要的容量为9、表示图的三种存储结构为、和十字链表。
10、在一个无向图中,所有顶点度数之和等于所有边数的倍。
11、二叉树的遍历包括前序遍历、和。
四、问答题(50分 5*10)1、设有数据逻辑结构为B=(K,R),K={k1,k2,…,k9},R={<k1,k3>,<k3,k8>,<k2,k3>,<k2,k4>,<k2,k5>,<k3,k9>,<k5,k6>,<k8,k9>,<k9,k7>,<k4,k7>,<k4,k6>}画出这个逻辑结构的图示,并确定哪些节点是开始节点,哪些节点是终端节点。
2、线性表可以用顺序表或链表存储,试问:(1)两种存储表示各有哪些优点和缺点。
(2)若表中元素个数固定,并且很少进行插入和删除操作,但要求以最快的速度存取表中的元素,应采用哪种存储方式?为什么?3、比较栈和队列的相同点和不同点,试举例说明。
4、以下栈操作的输出是什么?seqstack s;int x=5, y=3;s.push(8);s.push(9);s.push(y);x= s.pop();s.push(18);x=s.pop();s.push(22);while(!s.empty()){y=s.pop();cout<<y<<endl;}cout<<x<<endl;5、以下队列操作的输出是什么?linkqueue q;int x=5, y=3;q.enqueue(8);q.enqueue (9);q.enqueue (y);x= q.dequeue();q.enqueue (18);x= q.dequeue ();q.enqueue (22);while(!s.empty()){y=s.dequeue();cout<<y<<endl;}cout<<x<<endl;6、令S=“aaab”,T=“abcabaa”,分别求出他们的next值。
7、试分别采用顺序存储方式和链式存储方式分别画出下图所示的二叉树的存储结构。
8、已知一棵二叉树的中序序列和后序序列分别为BDCEAFHG和DECBHGFA。
画出这棵二叉树,并写出前序遍历。
9、将下图的森林转换成二叉树,并写出该森林的前序序列和后序序列。
(10)对于权值w={14,15,7,4,20,3},试给出相应的哈夫曼树,并计算其带权长度。
(11)对于下图所示的有向图,试给出:○1他的邻接矩阵○2他的邻接表○3他的逆邻接表(12)对于无向图,如下图所示,试给出: ABC 30○1用普里姆算法构造其最小生成树的过程。
(需要把每一步写出)○2用克里斯卡尔算法构造其最小生成树的过程。
(需要把每一步写出)(13)对于给定的关键字序列(61,82,104,55,116,77),执行下列排序算法,给出排序过程的每一步。
○1堆排序○2插入排序(14)对于给定的关键字序列(72,73,71,23,94,16,5),执行下列排序算法,给出排序过程的每一步。
○1堆排序○2插入排序。