数据结构试题及答案(1)A

数据结构试卷

一、填空殖(每空1分共20分)

1.数据的物理结构主要包括___顺序存储结构__________和_链式_____________两种情

况。

2.设一棵完全二叉树中有500个结点,则该二叉树的深度为_______9___;若用二叉链表作

为该完全二叉树的存储结构,则共有______501_____个空指针域.

3.设输入序列为1、2、3,则经过栈的作用后可以得到_____6______种不同的输出序列。

4.设有向图G用邻接矩阵A[n][n]作为存储结构,则该邻接矩阵中第i行上所有元素之和

等于顶点i的___出度_____,第i列上所有元素之和等于顶点i的____入度____。

5.设哈夫曼树中共有n个结点,则该哈夫曼树中有___0_____个度数为1的结点。

6.设有向图G中有n个顶点e条有向边,所有的顶点入度数之和为d,则e和d的关系为

____e=d_____。

7.____中序______遍历二叉排序树中的结点可以得到一个递增的关键字序列(填先序、中

序或后序).

8.设查找表中有100个元素,如果用二分法查找方法查找数据元素X,则最多需要比较

_____7___次就可以断定数据元素X是否在查找表中。

9.不论是顺序存储结构的栈还是链式存储结构的栈,其入栈和出栈操作的时间复杂度均为

______1______。

10.设有n个结点的完全二叉树,如果按照从自上到下、从左到右从1开始顺序编号,则第

i个结点的双亲结点编号为___i/2_________,右孩子结点的编号为____2i+1_______。

11.设一组初始记录关键字为(72,73,71,23,94,16,5),则以记录关键字72为基准的一

趟快速排序结果为_____5 16 71 23 72 94 73______。

12.设有向图G中有向边的集合E={〈1,2〉,<2,3>,〈1,4〉,〈4,2>,〈4,3〉},则该图的

一种拓扑序列为___1 4 2 3___。

13.下列算法实现在顺序散列表中查找值为x的关键字,请在下划线处填上正确的语句。

struct record{int key;int others;};

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);}

if (_______________________ )return(j); else return(-1);

二、选择题(每题1分,共20分)

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.下面程序的时间复杂为(B)

for(i=1,s=0;i〈=n;i++){t=1;for(j=1;j〈=i;j++)t=t*j;s=s+t;}

(A) O(n) (B) O(n2) (C) O(n3)(D) O(n4)

3.设指针变量p指向单链表中结点A,若删除单链表中结点A,则需要修改指针的操作序列为(A )。

(A) q=p—〉next;p-〉data=q->data;p—〉next=q—〉next;free(q);

(B) q=p—〉next;q—>data=p-〉data;p-〉next=q->next;free(q);

(C) q=p->next;p—〉next=q—>next;free(q);

(D) q=p—>next;p-〉data=q-〉data;free(q);

4.设有n个待排序的记录关键字,则在堆排序中需要( A )个辅助记录单元.

(A) 1 (B) n (C) nlog2n (D) n2

5.设一组初始关键字记录关键字为(20,15,14,18,21,36,40,10),则以20为基准记录的一趟快速排序结束后的结果为( A )。

(A) 10,15,14,18,20,36,40,21

(B) 10,15,14,18,20,40,36,21

(C) 10,15,14,20,18,40,36,2l

(D) 15,10,14,18,20,36,40,21

6.设二叉排序树中有n个结点,则在二叉排序树的平均平均查找长度为( B ).

(A) O(1) (B) O(log2n)(C)(D) O(n2)

7.设无向图G中有n个顶点e条边,则其对应的邻接表中的表头结点和表结点的个数分别为( D )。

(A)n,e (B) e,n(C) 2n,e(D) n,2e

8. 设某强连通图中有n个顶点,则该强连通图中至少有( C )条边.

(A) n(n-1)(B) n+1 (C) n (D) n(n+1)

9.设有5000个待排序的记录关键字,如果需要用最快的方法选出其中最小的10个记录关键字,则用下列(B )方法可以达到此目的。

(A)快速排序(B)堆排序(C)归并排序(D)插入排序

10。下列四种排序中( D )的空间复杂度最大。

(A)插入排序(B)冒泡排序(C)堆排序(D) 归并排序

三、计算题(每题10分,共30分)

1.已知二叉树的前序遍历序列是AEFBGCDHIKJ,中序遍历序列是EFAGBCHKIJD,画出此二叉树,并画出它的后序线索二叉树。

2.已知待散列的线性表为(36,15,40,63,22),散列用的一维地址空间为[0..6],假定选用的散列函数是H(K)= K mod 7,若发生冲突采用线性探查法处理,试:

(1)计算出每一个元素的散列地址并在下图中填写出散列表:

`

(2

3设有无向图G,要求给出用普里姆算法构造最小生成树所走过的边的集合。

四、算法设计题(每题15分,共30分)

1.设计在单链表中删除值相同的多余结点的算法。

2.设计求结点在二叉排序树中层次的算法。

数据结构试卷参考答案

一、填空题

1.顺序存储结构、链式存储结构

2.9,501

3. 5

4.出度,入度

5.0

6.e=d

7.中序

8.7

9.O(1)

10.i/2,2i+1

11.(5,16,71,23,72,94,73)

12.(1,4,3,2)

13.j+1,hashtable[j]。key==k

14.return(t),t=t—>rchild

第8小题分析:二分查找的过程可以用一棵二叉树来描述,该二叉树称为二叉判定树.在有序表上进行二分查找时的查找长度不超过二叉判定树的高度1+log2n.

二、选择题

1。B 2。B 3。A 4.A 5。A

6.B 7。D 8。C 9.B 10.D

第3小题分析:首先用指针变量q指向结点A的后继结点B,然后将结点B的值复制到结点A中,最后删除结点B。

第9小题分析:9快速排序、归并排序和插入排序必须等到整个排序结束后才能够求出最小的10个数,而堆排序只需要在初始堆的基础上再进行10次筛选即可,每次筛选的时间复杂度为O(log2n)。

三、计算题

1.

2、H(36)=36 mod 7=1;H1(22)=(1+1) mod 7=2;….冲突

H(15)=15 mod 7=1;….冲突H2(22)=(2+1)mod 7=3;

H1(15)=(1+1)mod 7=2;

H(40)=40 mod 7=5;

H(63)=63 mod 7=0;

H(22)=22 mod 7=1; …。冲突

(1)

(2)ASL=

1.3、E={(1,3),(1,2),(3,5),(5,6),(6,4)}

四、算法设计题

1.设计在单链表中删除值相同的多余结点的算法。

typedef int datatype;

typedef struct node {datatype data;struct node *next;}lklist;

void delredundant(lklist *&head)

{

lklist *p,*q,*s;

for(p=head;p!=0;p=p—〉next)

for(q=p->next,s=q;q!=0;)

if (q-〉data==p—〉data){s->next=q—>next;free(q);q=s-〉next;}

else {s=q,q=q—>next;}

}

}

2设计求结点在二叉排序树中层次的算法.

int lev=0;

typedef struct node{int key;struct node *lchild,*rchild;}bitree;

void level(bitree *bt,int x)

if (bt!=0)

{lev++; if (bt->key==x) return;else if (bt—>key>x)level(bt—>lchild,x); else level(bt —〉rchild,x);}

}

数据结构试卷1(含答案)

数据结构试卷 一、单项选择题(本大题共15小题,每小题2分,共30分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.下列选项中与数据存储结构无关的术语是() A.顺序表 B.链表 C.链队列 D.栈 2.将两个各有n个元素的有序表归并成一个有序表,最少的比较次数是() A.n-1 B.n C.2n-1 D.2n 3.已知循环队列的存储空间大小为m,队头指针front指向队头元素,队尾指针rear指向队尾元素的下一个位置,则向队列中插入新元素时,修改指针的操作是() A.rear=(rear-1)%m; B.front=(front+1)%m; C.front=(front-1)%m; D.rear=(rear+1)%m; 4.递归实现或函数调用时,处理参数及返回地址,应采用的数据结构是() A.堆栈 B.多维数组 C.队列 D.线性表 5.设有两个串p和q,其中q是p的子串,则求q在p中首次出现位置的算法称为() A.求子串 B.串联接 C.串匹配 D.求串长 6.对于广义表A,若head(A)等于tail(A),则表A为() A.( ) B.(( )) C.(( ),( )) D.(( ),( ),( )) 7.若一棵具有n(n>0)个结点的二叉树的先序序列与后序序列正好相反,则该二叉树一定是() A.结点均无左孩子的二叉树 B.结点均无右孩子的二叉树 C.高度为n的二叉树 D.存在度为2的结点的二叉树 8.若一棵二叉树中度为l的结点个数是3,度为2的结点个数是4,则该二叉树叶子结点的个数是() A.4 B.5 C.7 D.8 9. 某算法有3个程序段,第一程序段的执行次数为错误!未找到引用源。,第二个程序段执行次数为4n,第三个程序段的执行次数为0.06错误!未找到引用源。,则该算法的时间复杂度为()。 A.O(n)B.O(错误!未找到引用源。)C.O(错误!未找到引用源。)D.O (错误!未找到引用源。) 10.已知有向图G=(V,E),其中V={V1,V2,V3,V4},E={},图G的拓扑序列是() A.V1,V2,V3,V4 B.V1,V3,V2,V4 C.V1,V3,V4,V2 D.V1,V2,V4,V3 11.平均时间复杂度为O(n log n)的稳定排序算法是() A.快速排序 B.堆排序 C.归并排序 D.冒泡排序 12.已知关键字序列为(51,22,83,46,75,18,68,30),对其进行快速排序,第一趟划分完成后的关键字序列是() A.(18,22,30,46,51,68,75,83) B.(30,18,22,46,51,75,83,68) C.(46,30,22,18,51,75,68,83) D.(30,22,18,46,51,75,68,83) 13.某索引顺序表共有元素395个,平均分成5块。若先对索引表采用顺序查找,再对块中元素进行顺序查找,则在等概率情况下,分块查找成功的平均查找长度是()

数据结构试题及答案(1)

数据结构试题 一、单选题 1、在数据结构的讨论中把数据结构从逻辑上分为(C ) A 内部结构与外部结构 B 静态结构与动态结构 C 线性结构与非线性结构 D 紧凑结构与非紧凑结构。 2、采用线性链表表示一个向量时,要求占用的存储空间地址(D ) A 必须是连续的 B 部分地址必须是连续的 C 一定是不连续的 D 可连续可不连续 3、采用顺序搜索方法查找长度为n的顺序表时,搜索成功的平均搜索长度为( D )。 A n B n/2 C (n-1)/2 D (n+1)/2 4、在一个单链表中,若q结点是p结点的前驱结点,若在q与p之间插入结点s,则执行( D )。 A s→link = p→link; p→link = s; B p→link = s; s→link = q; C p→link = s→link; s→link = p; D q→link = s; s→link = p; 5、如果想在4092个数据中只需要选择其中最小的5个,采用( C )方法最好。 A 起泡排序 B 堆排序 C 锦标赛排序 D 快速排序 6、设有两个串t和p,求p在t中首次出现的位置的运算叫做( B )。 A 求子串 B 模式匹配 C 串替换 D 串连接 7、在数组A中,每一个数组元素A[i][j]占用3个存储字,行下标i从1到8,列下标j从1到10。所有数组元素相继存放于一个连续的存储空间中,则存放

该数组至少需要的存储字数是( C )。 A 80 B 100 C 240 D 270 8、将一个递归算法改为对应的非递归算法时,通常需要使用( A )。 A 栈 B 队列 C 循环队列 D 优先队列 9、一个队列的进队列顺序是1, 2, 3, 4,则出队列顺序为( C )。 10、在循环队列中用数组A[0..m-1] 存放队列元素,其队头和队尾指针分别为front和rear,则当前队列中的元素个数是( D )。 A ( front - rear + 1) % m B ( rear - front + 1) % m C ( front - rear + m) % m D ( rear - front + m) % m 11、一个数组元素a[i]与( A )的表示等价。 A *(a+i) B a+i C *a+i D &a+i 12、若需要利用形参直接访问实参,则应把形参变量说明为( B )参数。 A 指针 B 引用 C 值 D 变量 13、下面程序段的时间复杂度为( C ) for (int i=0;i

数据结构期末试卷及参考答案A

《数据结构》试卷(A) 学号:姓名:日期: 一、选择题(每小题2分,共30分,请写在答卷纸上): 1.下列程序段的时间复杂度为()。 i=0,s=0; while (snext=head; head=p; B. p->next=head->next; head->next=p; C. p->next=head; p=head; D. head=p; p->next=head; 4.一个栈的输入序列为a b c,则下列序列中不可能是栈的输出序列的是( )。 A. b c a B. c b a C. c a b D. a b c 5.无向完全图G有n个结点,则它的边的总数为()。 A.n2 B.n(n-1) C.n(n-1)/2 D.(n-1) 6.若一棵二叉树有10个度为2的结点,5个度为1的结点,则度为0的结点数是()。 A.9 B.11 C.15 D.不确定 7.设连通图G中的边集E={(a,b),(a,c),(a,e),(b,e),(d,e),(d,f),(e,f)},则在下面的4个序列中,不符合深度优先遍历的序列是()。 A.acfdeb B.aebdfc C.aedfbc D.aefdbc 8.队列是一种()的线性表。 A.先进先出 B.先进后出 C.只能插入 D.只能删除 9.已知二叉排序树G,要输出其结点的有序序列,则采用的遍历方法是()。 A.按层遍历 B.先序遍历 C.中序遍历 D.后序遍历 10. 设按照从上到下、从左到右的顺序从1开始对完全二叉树进行顺序编号,则编号为i 结点的左孩子结点的编号为()。 A. 2i+1 B. 2i C. i/2 D. 2i-1 11.对序列(15,9,7,8,20,-1,4)进行排序,第一趟排序后的序列变为(4,9,-1,8,20,7,15),则采用的排序方法是()。 A.选择 B.快速 C.希尔 D.冒泡 12.若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A[3]的比较序列的下标依次为( ) A. 1,2,3 B. 9,5,2,3 C. 9,5,3 D. 9,4,2,3 13.设顺序循环队列Q[M-1]的头指针和尾指针分别为F和R,头指针F总是指向队头元素的当前位置,尾指针R总是指向队尾元素的后一位置,则该循环队列中的元素个数为()。 A.R-F B.F-R C.(R-F+M)%M D.(F-R+M)%M

数据结构试题及答案(1)A

数据结构试卷 一、填空殖(每空1分共20分) 1.数据的物理结构主要包括___顺序存储结构__________和_链式_____________两种情 况。 2.设一棵完全二叉树中有500个结点,则该二叉树的深度为_______9___;若用二叉链表作 为该完全二叉树的存储结构,则共有______501_____个空指针域. 3.设输入序列为1、2、3,则经过栈的作用后可以得到_____6______种不同的输出序列。 4.设有向图G用邻接矩阵A[n][n]作为存储结构,则该邻接矩阵中第i行上所有元素之和 等于顶点i的___出度_____,第i列上所有元素之和等于顶点i的____入度____。 5.设哈夫曼树中共有n个结点,则该哈夫曼树中有___0_____个度数为1的结点。 6.设有向图G中有n个顶点e条有向边,所有的顶点入度数之和为d,则e和d的关系为 ____e=d_____。 7.____中序______遍历二叉排序树中的结点可以得到一个递增的关键字序列(填先序、中 序或后序). 8.设查找表中有100个元素,如果用二分法查找方法查找数据元素X,则最多需要比较 _____7___次就可以断定数据元素X是否在查找表中。 9.不论是顺序存储结构的栈还是链式存储结构的栈,其入栈和出栈操作的时间复杂度均为 ______1______。 10.设有n个结点的完全二叉树,如果按照从自上到下、从左到右从1开始顺序编号,则第 i个结点的双亲结点编号为___i/2_________,右孩子结点的编号为____2i+1_______。 11.设一组初始记录关键字为(72,73,71,23,94,16,5),则以记录关键字72为基准的一 趟快速排序结果为_____5 16 71 23 72 94 73______。 12.设有向图G中有向边的集合E={〈1,2〉,<2,3>,〈1,4〉,〈4,2>,〈4,3〉},则该图的 一种拓扑序列为___1 4 2 3___。 13.下列算法实现在顺序散列表中查找值为x的关键字,请在下划线处填上正确的语句。 struct record{int key;int others;}; 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);} if (_______________________ )return(j); else return(-1); 二、选择题(每题1分,共20分) 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.下面程序的时间复杂为(B) for(i=1,s=0;i〈=n;i++){t=1;for(j=1;j〈=i;j++)t=t*j;s=s+t;} (A) O(n) (B) O(n2) (C) O(n3)(D) O(n4) 3.设指针变量p指向单链表中结点A,若删除单链表中结点A,则需要修改指针的操作序列为(A )。 (A) q=p—〉next;p-〉data=q->data;p—〉next=q—〉next;free(q); (B) q=p—〉next;q—>data=p-〉data;p-〉next=q->next;free(q);

数据结构A卷试题及答案

《数据结构》试卷 选择题(从下列答案选项中选出一个正确答案,每小题2分,共22分) 1.在数据结构中,与所使用的计算机无关的是数据的()结构。 A.逻辑 B.存储 C.逻辑和存储 D.物理 2.若线性表最常用的操作是存取第i个元素及其前驱的值,则采用()存 储方式节省时间。 A.单链表 B.双链表 C.顺序表 D.单循环链表 3.已知模式串t=“abcaabbcabcaabdab”,该模式串的next数组值为()。 A.-1,0,0,0,1,1,2,3,0,1,2,3,4,5,6,0,1 B.-1,0,0,0,1,1,2,0,0,1,2,3,4,5,6,0,1 C.-1,1,0,0,1,1,2,0,0,1,2,3,4,5,6,0,1 D.-1,0,0,0,1,1,2,0,0,1,2,3,4,5,6,7,1, 4.设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a11为第一个 元素,其存储地址为1,每个元素占1个地址空间,则a85的地址为()。 A.13 B.33 C.18 D.40 5.一棵含有101个结点的完全二叉树存储在数组bt[102]中,其中bt[0]不用,若bt[k] 是叶子结点,则k的最小值是()。 A.51 B.50 C.49 D.48 6.稀疏矩阵一般的压缩存储方法有两种,即()。 A.二维数组和三维数组 B.三元组表和散列表 C.三元组表和十字链表 D.散列表和十字链表 7.对顺序存储的18个数据元素(A[1]~A[18])的有序表做二分查找,则查找A[3]的 比较序列的下标为( )。 A.1,2,3 B.9,5,2,3

C.9,5,3 D.9,4,2,3 8.用邻接矩阵存储一个图时,在不考虑压缩存储的情况下,所占用的存储空间大小与 图中的结点的个数有关,而与图的边数无关,这种说法()。 A.正确 B.错误 9.下列排序算法中,某一趟排序结束后未必能选出一个元素放在最终位置上的是( )。 A.堆排序 B.冒泡排序 C.直接插入排序 D.快速排序 10.在平衡二叉树中插入一个结点后造成了不平衡,设最小不平衡子树之根为A,并已 知A的左孩子的平衡因子为-1,右孩子的平衡因子为0,则应作()型 调整使其平衡。 A.LL B.LR C.RL D.RR 11.在解决计算机与打印机之间速度不匹配问题时通常设置一个打印数据缓冲区,主机 将要输出的数据依次写入该缓冲区,而打印机依此从该缓冲区中取出数据打印,该 缓冲区应是一个()结构。 A.堆栈 B.队列 C.顺序表 D.链表 二、填空题(每空2分,共18分) 1.以下程序段的时间复杂度是________________________,其中n为正整数。 int i=1; while(i<=n) i=i*2; 2.对顺序存储结构的线性表,设表长为n;在等概率假设条件下,插入一个数据元素 需平均移动表中元素______________个;在最坏情况下需移动表中元素 ______________个。 3.设树T的度为4,其中度为1、2、3、4的结点的个数分别为4、3、2、1,则树T 的叶子结点的个数是。 4.判定一个环形队列qu(最多元素为MaxSize)为空的条件是 __________________________________________,判定环形队列qu为满队列的条

十套数据结构试题及答案(1)

数据结构试卷(一) 一、单选题(每题2 分,共20分) 1.栈和队列的共同特点是( )。 A.只允许在端点处插入和删除元素 B。都是先进后出 C。都是先进先出 D。没有共同点 2.用链接方式存储的队列,在进行插入运算时( )。 A. 仅修改头指针 B。头、尾指针都要修改 C. 仅修改尾指针 D。头、尾指针可能都要修改 3.以下数据结构中哪一个是非线性结构?() A. 队列B。栈 C. 线性表 D. 二叉树 4.设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个 空间,问A[3][3](10)存放在什么位置?脚注(10)表示用10进制表示。 A.688 B.678 C.692 D.696 5.树最适合用来表示( ). A.有序数据元素 B.无序数据元素 C。元素之间具有分支层次关系的数据D。元素之间无联系的数据 6.二叉树的第k层的结点数最多为( ). A.2k—1 B.2K+1 C.2K—1 D。 2k—1 7.若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A[3] 的比较序列的下标依次为( ) A. 1,2,3 B. 9,5,2,3 C. 9,5,3 D. 9,4,2,3 8.对n个记录的文件进行快速排序,所需要的辅助存储空间大致为 A。 O(1)B。 O(n) C. O(1og2n) D。 O(n2) 9.对于线性表(7,34,55,25,64,46,20,10)进行散列存储时,若选用H(K)=K %9作为散列函数,则散列 地址为1的元素有()个, A.1 B.2 C.3 D.4 10.设有6个结点的无向图,该图至少应有()条边才能确保是一个连通图. A。5 B.6 C.7 D。8 二、填空题(每空1分,共26分) 1.通常从四个方面评价算法的质量:_________、_________、_________和_________。 2.一个算法的时间复杂度为(n3+n2log2n+14n)/n2,其数量级表示为________. 3.假定一棵树的广义表表示为A(C,D(E,F,G),H(I,J)),则树中所含的结点数为__________个,树的深度为 ___________,树的度为_________。 4.后缀算式9 2 3 +—10 2 / -的值为__________.中缀算式(3+4X)—2Y/3对应的后缀算式为 _______________________________。 5.若用链表存储一棵二叉树时,每个结点除数据域外,还有指向左孩子和右孩子的两个指针。在这种存储结构中,n 个结点的二叉树共有________个指针域,其中有________个指针域是存放了地址,有________________个指针是空指针. 6.对于一个具有n个顶点和e条边的有向图和无向图,在其对应的邻接表中,所含边结点分别有_______个和________ 个。 7.AOV网是一种___________________的图. 8.在一个具有n个顶点的无向完全图中,包含有________条边,在一个具有n个顶点的有向完全图中,包含有________ 条边。 9.假定一个线性表为(12,23,74,55,63,40),若按Key %4条件进行划分,使得同一余数的元素成为一个子表, 则得到的四个子表分别为____________________________、___________________、_______________________和__________________________。 10.向一棵B_树插入元素的过程中,若最终引起树根结点的分裂,则新树比原树的高度___________。 11.在堆排序的过程中,对任一分支结点进行筛运算的时间复杂度为________,整个堆排序过程的时间复杂度为 ________. 12.在快速排序、堆排序、归并排序中,_________排序是稳定的。 三、计算题(每题6 分,共24分) 1.在如下数组A中链接存储了一个线性表,表头指针为A [0].next,试写出该线性表。

数据结构试题集(包含答案 完整版)

第一章概论 一、选择题 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

O(m+n) 6、算法是( D )。 A. 计算机程序 B. 解决问题的计算方法 C. 排序算法 D. 解决问题的有限运算序列 7、某算法的语句执行频度为(3n+nlog2n+n2+8),其时间复杂度表示( C )。 A. O(n) B. O(nlog2n) C. O(n2) D. O(log2n) 8、下面程序段的时间复杂度为( C )。 i=1; while(i<=n) i=i*3; A. O(n) B. O(3n) C. O(log3n) D. O(n3) 9、数据结构是一门研究非数值计算的程序设计问题中计算机的数据元素以及它们之间的()和运算等的学科。 A. 结构 B. 关系 C. 运算 D. 算法 10、下面程序段的时间复杂度是(A )。 i=s=0; while(s

数据结构练习题及答案

数据结构试题及答案 第一章 一、选择题 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=(y+1)*(y+1)) y=y+1; A. O(n) B. )(n O C. O(1) D. O(n 2) 12. 算法分析的目的是( C ) A) 找出数据结构的合理性 B) 研究算法中的输入和输出的关系 C) 分析算法的效率以求改进 D) 分析算法的易懂性和文档性 13. 数据结构中,与所使用的计算机无关的是数据的 C 结构; A) 存储 B) 物理 C) 逻辑 D) 物理和存储

数据结构试题及答案(十套)

数据结构试题及答案(十套)数据结构试题及答案(十套) 一、选择题 1. 数据结构是指()。 A. 存储数据的方式 B. 数据的逻辑结构和物理结构 C. 数据的存储结构和存储方式 D. 数据的逻辑结构、存储结构和存储方式 答案:D 2. 在数据结构中,线性表的存储方式包括()。 A. 顺序存储和链式存储 B. 数组存储和链表存储 C. 顺序存储、链表存储和索引存储 D. 顺序存储、链表存储和树形存储 答案:A 3. 栈是一种()的数据结构。 A. 先进先出

B. 先进后出 C. 后进先出 D. 后进后出 答案:C 4. 队列是一种()的数据结构。 A. 先进先出 B. 先进后出 C. 后进先出 D. 后进后出 答案:A 5. 二叉树中,度为0的节点称为()。 A. 叶子节点 B. 根节点 C. 中间节点 D. 子节点 答案:A 6. 以下哪个排序算法是稳定的?

A. 快速排序 B. 选择排序 C. 插入排序 D. 希尔排序 答案:C 7. 图中表示顶点之间关系的边的数量称为()。 A. 顶点度数 B. 边数 C. 路径数 D. 网络 答案:B 8. 哈希表通过()来实现高效的查找操作。 A. 散列函数 B. 排序算法 C. 遍历操作 D. 顺序存储 答案:A

9. 平衡二叉树是一种具有左右子树高度差不超过()的二叉树。 A. 0 B. 1 C. 2 D. 3 答案:B 10. 在链表中,删除节点的操作时间复杂度是()。 A. O(1) B. O(logn) C. O(n) D. O(nlogn) 答案:A 二、填空题 1. 在顺序存储结构中,元素之间的逻辑关系由()表示。 答案:下标 2. 二叉查找树的中序遍历结果是一个()序列。 答案:递增 3. 哈希表通过散列函数将关键字映射到()上。

数据结构参考答案

《数据结构》模拟卷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. 20 B. 18 C. 25 D. 22 8.在有向图中每个顶点的度等于该顶点的( C )。 A. 入度 B. 出度 C. 入度与出度之和 D. 入度与出度之差 9.在基于排序码比较的排序算法中,( C )算法的最坏情况下的时间复杂度不高于 O(nlog2n)。 A. 起泡排序 B. 希尔排序 C. 归并排序 D. 快速排序 10.当α的值较小时,散列存储通常比其他存储方式具有( B )的查找速度。

数据结构试题1(有答案)

试题1 一、单选题(每题 2 分,共20分) 1.1。对一个算法的评价,不包括如下()方面的内容。 A.健壮性和可读性B.并行性C.正确性D.时空复杂度 2. 2.在带有头结点的单链表HL中,要向表头插入一个由指针p指向的结点, 则执行()。 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.对线性表,在下列哪种情况下应当采用链表表示?() A。经常需要随机地存取元素B。经常需要进行插入和删除操作 C。表中元素需要占据一片连续的存储空间 D.表中元素的个数不变 4. 4.一个栈的输入序列为1 2 3,则下列序列中不可能是栈的输出序列的是 ( C ) A。2 3 1 B. 3 2 1 C。3 1 2 D。1 2 3 5.5。AOV网是一种(). A.有向图B.无向图C.无向无环图D.有向无环图 6. 6.采用开放定址法处理散列表的冲突时,其平均查找长度( )。 A.低于链接法处理冲突B。高于链接法处理冲突 C.与链接法处理冲突相同D.高于二分查找 7.7.若需要利用形参直接访问实参时,应将形参变量说明为( )参数。 A.值B.函数C.指针D.引用 8.8。在稀疏矩阵的带行指针向量的链接存储中,每个单链表中的结点都 具有相同的( ). A.行号B.列号C.元素值D.非零元素个数 9.9。快速排序在最坏情况下的时间复杂度为()。 A.O(log2n) B.O(nlog2n) C.0(n) D.0(n2) 10.10。从二叉搜索树中查找一个元素时,其时间复杂度大致为()。 A. O(n)B。O(1) C. O(log2n) D。O(n2) 二、二、运算题(每题 6 分,共24分) 1. 1.数据结构是指数据及其相互之间的______________.当结点之间存在M 对N(M:N)的联系时,称这种结构为_____________________。 2.2。队列的插入操作是在队列的___尾______进行,删除操作是在队列的 ____首______进行。

数据结构习题答案一

数据结构习题答案一 评论:0 条查看:40 次zjw313014322发表于2009-04-21 16:25 一、选择题 1. 下面说法错误的是 C 。 (1)算法原地工作的含义是指不需要任何额外的辅助空间。 (2)在相同的规模n下,复杂度O(n)的撒在时间上总是优于复杂度O(2n)的算法。(3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界。 (4)同一个算法,实现语言的级别越高,执行效率越低。 A、(1) B、(1)(2) C、(1)(4) D、(3) 2. 一个递归算法必须包括 B 。 A、递归部分 B、终止条件和递归部分 C、迭代部分 D、终止条件和迭代部分 3. 数据的 C 包括查找、插入、删除、更新、排序等操作类型。 A、存储结构 B、逻辑结构 C、基本运算 D、算法描述 4. 在数据结构中,从逻辑上可以把数据结构分成 C 。 A、动态结构和静态结构 B、紧凑结构和非紧凑结构 C、线性结构和非线性结构 D、内部结构和外部结构 5. 与数据元素本身的形式、内容、相对位置、个数无关的是数据的 C 。 A、存储结构 B、存储实现 C、逻辑结构 D、运算实现 6. 通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着 B 。

A、数据具有同一特点 B、不仅数据元素所包含的数据项的个数要相同,而且对应数据项的类型要一致 C、每个数据元素都一样 D、数据元素所包含的数据项的个数要相等 7. 以下说法正确的是 D 。 A、数据元素是数据的最小单位 B、数据项是数据的基本单位 C、数据结构是带有结构的各数据项的集合 D、一些表面上很不相同的数据可以有相同的逻辑结构 8. 以下说法错误的是 A 。 A、程序设计的实质是数据处理 B、数据的逻辑结构是数据的组织形式,基本运算规定了数据的基本操作方式 C、运算实现是完成运算功能的算法或这些算法的设计 D、数据处理方式总是与数据的某种相应表示形式相联系,反之亦然 9. 下列程序段的时间复杂度为 B 。 x=n; y=0; while (x>=(y+1)*(y+1)) y=y+1; A、O(n) B、O(n1/2) C、O(1) D、O(n2) 10. 下列叙述中有关好的编程风格的正确描述是 C 。 A、程序中的注释是可有可无的

数据结构期末考试题及答案A

数据结构期末考试题及答案A 2017年数据结构期末考试题及答案 一、选择题(共计50 分,每题 2 分,共25题) 1.在数据结构中,从逻辑上可 以把数据结构分为 C 。 A. 动态结构和静态结构B ?紧凑结构和非紧凑结构 C.线性结构和非线性结构 D .内部结构和外部结构 2. 数据结构在计算机内存中的表示是指A 。 A. 数据的存储结构 B.数据结构 C.数据的逻辑结构 D .数据元 素之间的关系 3.在数据结构中,与所使用的计算机无关的是数据的 A 结构。 A. 逻辑B?存储 C.逻辑和存储D.物理 4.在存储数据时,通常不仅要存储各数据元素的值,而且还要存储C 。 A.数据的处理方法B?数据元素的类型 C.数据元素之间的关系 D.数据的存储方法 5.在决定选取何种存储结构时,一般不考虑A 。 A.各结点的值如何B?结点个数的多少 C?对数据有哪些运算D.所用的编程语言实现这种结构是否方便。6.以下说法正确的是 D 。 A. 数据项是数据的基本单位 B. 数据元素是数据的最小单位 C. 数据结构是带结构的数据项的集合 D. —些表面上很不相同的数据可以有相同的逻辑结构 7 .在以下的叙述中,正确的是B 。 A. 线性表的顺序存储结构优于链表存储结构

B. 二维数组是其数据元素为线性表的线性表 C?栈的操作方式是先进先出 D.队列的操作方式是先进后出8.通常要求同一逻辑结构中的所有数据元素具有 相同的特性,这意味着 A. 数据元素具有同一特点 B. 不仅数据元素所包含的数据项的个数要相同,而且对应的数据项的类型 要一致 C. 每个数据元素都一样 D. 数据元素所包含的数据项的个数要相等 9.链表不具备的特点是 A 。 A.可随机访问任一结点 B.插入删除不需要移动元素 C?不必事先估计存储空间 D.所需空间与其长度成正比 10.若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点,则采用 D 存储方式最节省运算时间。 A.单链表B ?给出表头指针的单循环链表 C.双链表D ?带头结点 的双循环链表 11.需要分配较大空间,插入和删除不需要移动元素的线性表,其存储结构是 B 。 A.单链表B .静态链表 C.线性链表 D .顺序存储结构 12 .非空的循环单链表head的尾结点(由p所指向)满足C 。 A. p—>next 一NULL B. p — NULL C. p—>next == head D. p = = head 13 .在循环双链表的p所指的结点之前插入s所指结点的操作是 D 。 A p—> prior—> prior=s

数据结构期末考试试题A答案

《数据结构》试题答案A卷 姓名班级 一、回答下列问题 (每题5分,共40分) 1.给定序列(67,45,87,19,55,32,70,60,90,23),写出它的初始堆序列。 答:调整后的初始堆序列(小根堆)为:19,23,32,45,55,87,70,60,90,67 或者是大根堆:90, 67, 87, 60, 55, 32, 70, 45, 19, 23 2.设一个序列奇数项和偶数项分别由小到大有序,用什么方法可以最快得到一个有序序列,分析它的时间复杂度。 答:把奇数项和偶数项分为2个有序序列,然后进行合并,时间复杂度为O(n)。实际上就是把2个有序表合并为一个有序表。见教科书算法2.7。 3.二叉排序树中的最大值在二叉排序树的何处? 答:最大值应该位于二叉排序树中根的右子树的最右叶子上。 19 23 32 45 55 70 60 90

4.在2048个互不相同的关键码中选择最小的5个关键码,用堆排序是否比用锦标赛排序更快?为什么? 答:此题用锦标赛排序比堆排序要快。理由是; ①在首次求最小值时,锦标赛排序对2048个结点建树得到最小码只需比较n-1(即2047)次,而此时堆排序建初始堆得到最小码却可能需要比较4072次(因为每个结点的调整都要与左右两边的孩子相比。从第1024个结点往前调整,有512个结点可能调整1次,但要与左右孩子都比较,有256个结点可能调整2次,每次都要与左右孩子比较,有128个结点可能调整3次,……有32个结点调整5次,……根结点可能要调整10次,每次都会与左右孩子比较,所以可能会比较2036×2=4072次)。 而两种算法对求后面4个次小码的平均效率相同,都是log2n,所以,此题用锦标赛排序会比堆排序快。 5.n个顶点、m条边的全连通图,至少去掉几条边才能构成一棵树? 答:因为树的结构是一对多,即n个结点的树只有n-1条边与双亲结点相连。只要再多添一条边就会成为图结构。所以,m条边的图要去掉m-(n-1)=m-n+1条边才能构成一棵树。这棵树也就是最小生成树。 6.设模式串为:liuwenliuyuliuyingliyu, 求该模式串的next函数。 答:Next[j]=0 1 1 1 1 1 1 2 3 4 1 1 2 3 4 1 7.一个二叉树按层次遍历的顺序存储结构如下,请画出该二叉树(φ为空) 。 答:画出二叉树如下: 8.设数组A[ 1..10, 1..8 ] 的基地址为2000,每个元素占2个存储单元,若以列序为主序存储(按列存储),则元素A[ 4,5 ] 的存储地址是多少? 答:A[ 4,5 ] 的存储地址是2086

数据结构试题及答案1

数据构造?自考复习考虑题○1 第一部分选择题(30分) 一、单项选择题〔本大题共15小题,每题2分,共30分〕在每题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。 1.算法指的是〔D〕 A.计算机程序 B.解决问题的计算方法 C.排序算法 D.解决问题的有限运算序列 2.线性表采用链式存储时,结点的存储地址〔 B 〕 A.必须是不连续的 B.连续与否均可 C.必须是连续的 D.和头结点的存储地址相连续 3.将长度为n的单链表链接在长度为m的单链表之后的算法的时间复杂度为〔 C 〕 A.O〔1〕 B.O〔n〕C.O〔m〕 D.O〔m+n〕4.由两个栈共享一个向量空间的好处是:〔 B 〕 A.减少存取时间,降低下溢发生的机率 B.节省存储空间,降低上溢发生的机率 C.减少存取时间,降低上溢发生的机率 D.节省存储空间,降低下溢发生的机率 5.设数组data[m]作为循环队列SQ的存储空间,front为队头指针,rear为队尾指针,那么执行出队操作后其头指针front值为〔D〕 A.front=front+1 B.front=(front+1)%(m-1) C.front=(front-1)%m D.front=(front+1)%m 6.如下陈述中正确的选项是〔A〕 A.串是一种特殊的线性表B.串的长度必须大于零 C.串中元素只能是字母D.空串就是空白串 7.假设目的串的长度为n,形式串的长度为[n/3],那么执行形式匹配算法时,在最坏情况下的时间复杂度是〔 C 〕10

A.O〔〕 B.O〔n〕C.O〔n2〕 D.O〔n3〕 8.一个非空广义表的表头〔D〕 A.不可能是子表B.只能是子表 C.只能是原子D.可以是子表或原子 9.假设以带行表的三元组表表示稀疏矩阵,那么和以下行表( A ) 10.在一棵度为3的树中,度为3的结点个数为2,度为2 的结点个数为1,那么度为0的结点个数为( C) A.4 B.5 C.6 D.7 11.在含n个顶点和e条边的无向图的邻接矩阵中,零元素的个数为( D) A.e B.2e C.n2-e D.n2-2e 12.假设一个有n个顶点和e条弧的有向图用邻接表表示,那么删除与某个顶点vi相关的所有弧的时间复杂度是( C ) A.O(n) B.O(e) C.O(n+e) D.O(n*e) 13.用某种排序方法对关键字序列〔25,84,21,47,15,27,68,35,20〕进展排序时,序列的变化情况如下: 20,15,21,25,47,27,68,35,84 15,20,21,25,35,27,47,68,84 15,20,21,25,27,35,47,68,84

大学1数据结构试题及答案-数据结构A

20XX年复习资料 大 学 复 习 资 料 专业: 班级: 科目老师: 日期:

广东商学院试题纸 20XX12-20XX13年第一学期考试时间共 20XXXX0 分钟 课程名称数据结构(A卷)课程代码 20XXXX0XX20XXXX0XX 共_3_页 课程班号 20XXXX级计算机1班、20XXXX级计算机2班、20XXXX级软件1班、20XXXX级软件2班 --------------------------------------------------------------------------------------------------------- ------- 一、概念选择(每小题2分,共20XX分) 1.算法具有输入、输出、【】等五个特性。 A.可行性、可移植性、可扩展性 B.可行性、确定性、有穷性 C.确定性、有穷性、稳定性 D.易读性、稳定性、安全性2.顺序存储结构的优点是【】。 A.存储密度大 B.插入运算方便 C.删除运算方便 D.可方便地用于各种逻辑结构的表示 3.在双向链表中,删除结点p的操作是【】。 A.p->prior->next=p->next; p->next->prior=p->prior; B.p->next=p->next->next; p->next->prior=p; C.p->priort=p->next->next; p->next=p->prior->prior; D.p->prior-next=p; p->prior=p->prior->prior; 4.栈的操作特点是后进先出,下面哪种情况不适合用栈描述【】。 A.表达式求值 B.数值转换 C.请求打印 D.递归调用 5.循环队列为空的判定条件是【】。 A.Q.front-Q.rear==MAXQSIZE; B.Q.front==(Q.rear+1)% MAXQSIZE ; C.Q.front==Q.rear; D.Q.front==MAXQSIZE; 6.引入线索二叉树的目的是【】。 A.加快查找结点前驱和后继的速度 B.为了方便结点的插入和删除C.为了方便地找到双亲 D.使二叉树的遍历结果唯一7.具有n个顶点的有向图最多有【】条边。 A.n B.n(n-1)/2 C.n(n-1) D.n(n+1)

相关主题
相关文档
最新文档