武汉大学数据结构考试试题附答案_第1页
武汉大学数据结构考试试题附答案_第2页
武汉大学数据结构考试试题附答案_第3页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1. 下面程序段的执行次数为( A )for(i=0;i v n- 1;i+)for(j=n;j > i;j-)state;A. n(n+2)2 B .(n-1)(n+2)2 C. n(n+1)2 D. (n-1)(n+2)2. 一个向量第一个元素的存储地址是100,每个元素的长度为 2,则第 5 个元素的地址是 ( B )A. 110 B .108 C. 100 D. 1203. 一个栈的入栈序列是a,b,c,d,e ,则栈的不可能的输出序列是 ( C )A. edcbaB .decba C.dceab D. abcde4. 循环队列用数组 AO,m 1存放其元素值,已知其头尾指针分别

2、是front和rear,则当前队列中的元素个数是( D )A. (rear-front+m)%m B .read-front+1C. read-front-1D. read-front5不带头结点的单链表head 为空的判定条件是(A )A. head=NULLB .head-next=NULLC. head-next=head D. head!=NULL6 在一个单链表中,若 p 所指的结点不是最后结点,在 p 之后插入 s 所指结点,则执行( B )A. s-next=p;p-next=s; B .s-next=p-next;p-next=s; C. s-next=p-next;p=s;

3、D. p-next=s;s-next=p;7. 从一个具有 n 个结点的单链表中查找其值等于 x 结点时,在查找成功的情况下,需平均比较 多少个结点(D )A. n B .n2 C. (n-1)2 D. (n+1)28 从一个栈顶指针为HS的链栈中删除一个结点时,用 x 保存被删结点的值,则执行 ( D )A. x=HS;HS=HS-next;B .x=HS-data;C.HS=HS-next;x=HS-data;D. x=HS-data;HS=HS-next;9.串是一种特殊的线性表,其特殊性体现在( B )A. 可以顺序存储 B . 数据元素是一个字符 C. 可以链接存储 D. 数据元素可

4、以是多个字符11. 二维数组 M 的元素是 4个字符(每个字符占一个存储单元)组成的串,行下标 i 的范围从 0到 4,列下标 j 的范围从 0 到5, M 按行存储时元素 M35 的起始地址与 M 按列存储时下列哪 一元素的起始地址相同 ( B ) A. M24B .M34 C. M35 D. M4412. 数组 A 中,每个元素 A 的长度为 3个字节,行下标 i 从 1 到 8,列下标 j 从 1 到 10,从首地址 SA 开始连续存放在存储器内,该数组按行存放时,元素A85 的起始地址为 ( C )A.SA+144 B .SA+180 C. SA+222 D. SA+22513. 设高

5、度为 h 的二叉树上只有度为 0 和度为 2 的结点, 则此类二叉树中所包含的结点数至少为:( B )A. 2h B .2h-1 C. 2h+1 D. h+114. 已知某二叉树的后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是( D )A. acbed B .decab C. deabc D. cedba15. 树的基本遍历策略可分为先根遍历和后根遍历;二叉树的基本遍历策略可分为先序遍历、中 序遍历和后序遍历。这里,我们把 由树转化得到的二叉树叫做这棵树对应的二叉树。下列结论 哪个正确 ( A )A. 树的先根遍历序列与其对应的二叉树的先序遍历序列相同B . 树的后根遍

6、历序列与其对应的二叉树的后序遍历序列相同C. 树的先根遍历序列与其对应的二叉树的中序遍历序列相同D. 以上都不对 16. 具有 6 个顶点的无向图至少应有多少条边才能确保是一个连通图( A )A. 5 B .6 C. 7 D. 817. 顺序查找法适合于存储结构为 ( B )的线性表 A. 散列存储 B .顺序存储或链接存储 C. 压缩存储 D. 索引存储18. 采用顺序查找方法查找长度为n的线性表每个元素的平均查找长度为(C )A. n B .n2 C.(n+1)2 D. (n-1)219. 有一个长度为 12 的有序表,按二分查找法对该表进行查找,在表内各元素等概率情况下查 找成功所需的平

7、均比较次数为 ( B )A. 3512 B .3712 C. 3912 D. 431220. 有一个有序表为 1,3,9,12,32,41,45,62,75,77,82,95,100 ,当二分查找值 82 为的结点时,几次比较后查找成功( C )二、填空题(每空 1 分,共 20 分)1. 在线性表的顺序存储中,元素之间的逻辑关系是通过物理存储位置,决定的;在线性表的链接 存储中,元素之间的逻辑关系是通过链域的指针值决定的。2对于一个具有 N 个结点的单链表,在已知的结点P后插入一个新结点的时间复杂度为0(1),在给定值为X的结点后插入一个新结点的时间复杂度为O(N) 。 3.有一空桟,现有输

8、入序列 1,2,3,4,5,经push,push,pop,push,pop,push,push 后,输出序列为 2,3 。4在一个无向图中,所有顶点的度数之和等于所有边数的2 倍5.对于一棵具有 n 个结点的树,该树中所有结点的度数之和为 n-1 。6. 在一棵三叉树中,度为 3 的结点数有 2 个,度为 2 的结点数有 1 个,度为 1 的结点数为 2个, 那么度为 0 的结点数有 6 个7. 在霍夫曼编码中, 若编码长度只允许小于等于 4,则除了已对两个字符编码为 0和 10外,还可 以最多对 4 个字符编码。8. 对于一个具有 n 个顶点和 e 条边的连通图,其生成树中的顶点数和边数分别

9、为n 和n-1 。9. 对 20 个记录进行归并排序时,共需要进行 5 趟归并,在第三趟归并时是把长度为 4 的有序 表两两归并为长度为 8 的有序表。三、问答题 1. 简述下面算法的功能(栈和队列的元素类型均为 int ) void algo3(Queue &Q)Stack S; int d;InitStack(S);while(!QueueEmpty(Q)DeQueue(Q,d);Push(S,d); while(!StackEmpty(S)Pop(S,d); EnQueue(Q,d); 算法的功能:利用栈作辅助,将队列中的数据元素进行逆置2. 已知一棵二叉树的中序遍历序列和先序遍

10、历序列为,试问能不能唯一确定一棵二叉树。若给 定先序遍历序列和后序遍历序列,能不能唯一确定呢? 由中序遍历序列和先序遍历序列能唯一确定一棵二叉树。 由先序遍历和后序遍历序列不能唯一确 定一棵二叉树 .。一、选择题1. 下面程序段的执行次数为( )for(i=0;i v n- 1;i+) for(j=n;j > i;j-)state;A. n(n+2)2 B .(n-1)(n+2)2 C. n(n+1)2 D. (n-1)(n+2)2. 判定一个栈ST (最多元素为 mO)为空的条件是:()A. ST-topO B .ST-top = 0C.ST-topmO D. ST-top = mO3

11、. 一个栈的入栈序列是a,b,c,d,e,则栈的不可能的输岀序列是()A. edcba B .decba C.dceab D. abcde4. 在一个单链表中,若 p 所指的结点不是最后结点,在 p 之后插入 s 所指结点,则执行( )A. s-next=p;p-next=s;B .s-next=p-next;p-next=s;C. s-next=p-next;p=s;D. p-next=s;s-next=p;5 在一个链队中,假设 f 和 r 分别为队首和队尾指针,则删除一个结点的运算时()A. r=f-next; B .r=r-next; C. f=f-next;D. f=r-next;6

12、 串是一种特殊的线性表, 其特殊性体现在 ()A. 可以顺序存储 B . 数据元素是一个字符 C. 可以链接存储 D. 数据元素可以是多个字符 7. 稀疏矩阵一般的压缩方法有两种, 即() A. 二维数组和三维数组 B .三元组和散列 C. 三元组和十字链表 D. 散列和十字链表 8 将递归算法转换成对应的非递归算法时,通常需要使用 ()A. 栈 B .队列 C. 链表 D. 树 9二维数组 M 的元素是 4 个字符(每个字符占一个存储单元)组成的串,行下标 i的范围从0到4,列下标j的范围从0到5, M按行存储时 元素 M35 的起始地址与 M 按列存储时下列哪一元素的起始地址相同 ()A.

13、 M24B .M34C. M35D. M4410. 数组 A 中,每个元素 A 的长度为 3 个字节,行下标i从1到8,列下标j从1到10,从首地址SA开始连续存放在存储器内,该数组按行存放时, 元素 A85 的起始地址为 ()A. SA+144B .SA+180 C. SA+222 D. SA+22511.如果 T2 是由有序树 T 转换而来的二叉树,那么 T 中结点的后序就是 T2 中结点的 ()A. 前序 B .中序 C. 后序D. 层次序 12.一个有 n 个顶点的无向图最多有多少边()A. n B .n(n-1) C. n(n-1)2 D. 2n13.按照二叉树的定义, 具有 3个结

14、点的二叉树有 ()种 A. 3 B .4 C. 5 D. 614.在一非空二叉树的中序遍历序列中,根结点的右边 ()A. 只有右子树上的所有结点B .只有右子树上的部分结点 C. 只有左子树上的部分结点D. 只有左子树上的所有结点15. 在一个图中,所有顶点的度数之和等于所有边数的多少倍()A. 12 B .1 C. 2 D.416. 采用邻接表存储的图的深度优先遍历算法类似于二叉树的()A. 先序遍历B .中序遍历 C. 后序遍历 D. 按层遍历17. 采用顺序查找方法查找长度为n 的线性表每个元素的平均查找长度为 ()A. n B .n2C. (n+1)2 D. (n-1)2二、填空题 1

15、. 算法的计算量的大小称为计算的 _。2数据结构是研究数据的和以及他们之间的相互关系, 并对这种结构定义相应的运算 ,设计岀相应的,而确保经过这些运算后所得的新结构是结构类型。3在一个单链表中删除p 结点,应执行下列操作:q=p-next;p-data=p-next-data;p-next=;free(q);4.有一空桟,现有输入序列5,4,3,2,1,经 push,push,pop,push,pop,push,push 后,输岀序列为。结点,另一个指向, 存储结构是7.对于一棵含有5在双向链表中每个结点包含两个指针域,一个指向 结点。6一维数组的逻辑结构是40 个结点的理想平衡树,它的高度为

16、8. 假定对长度n= 50的有序表进行折半搜索,则对应的判定树高度为,判定树中前5层的结点数为,最后一层的结点数为。9. 假定一组记录的排序码为 (46, 79,56,38, 40,80),对其进行归并排序的过程中,第二趟归并后的结果为 。10. 假定一组记录的排序码为(46, 79, 56, 38, 40, 80),对其进行快速排序的一次划分的结果为 。三、简答题 1.假定有四个元素 A,B,C,D 依次进栈,进栈过程中允许出栈,试写出所有可能的出 栈序列? 2.一棵含有 n 个结点的 k 叉树,可能达到的最大深度和最小深度各为多少?3. 设有5000 个无序的元素,希望用最快速度挑选出其中

17、前 10 个最大的元素,在以下的排序方法中,采 用哪种方法最好?为什么?(快速排序,堆排序,基数排序)一、选择题 1. B 2. B 3. C 4. B5C 6B 9C 10A 11B 12. C 13. B 14.5.C 15. C 16. A 17. C18. A19. C二、填空题 1.复杂度 2 物理结构 , 逻辑结构 ,算法 , 原来的 3q-next; 4. 4,3前驱 , 后续 6 线性结构 , 顺序结构 7. 5 8. 5, 3119。 9.38 46 56 7940 84。10.(84,79,56,38,40,46)。三、问答题 1.答:共有 14种可能的出栈序列为: ABC

18、D, ABDC, ACBD, ACDB, BACD, ADCB,BADC, BCAD,BCDA,BDCA,CBAD,CBDA,CDBA,DCBA2. 答: 显然能达到最大深度的是单支树其深度为n;深度最小的是完全 k叉树。3. 答: 用堆排序最好,因为堆排序不需要等整个排序结束就可挑出前10 个最大元素,而快速排序和基数排序都需等待整个排序结束才能知道前10 个最大元素。1. 下面程序段的执行次数为( A )for(i=0;i v n- 1;i+) for(j=n;j > i;j-)state;A. n(n+2)2 B .(n-1)(n+2)2 C. n(n+1)2 D. (n-1)(n

19、+2)2. 一个向量第一个元素的存储地址是 100,每个元素的长度为 2,则第 5 个元素的地址是 ( B ) A. 110 B .108 C. 100 D. 1203. 一个栈的入栈序列是a,b,c,d,e,则栈的不可能的输岀序列是 (C )A. edcba B .decba C.dceab D. abcde4. 循环队列用数组 A0,m 1存放其元素值,已知其头尾指针分别是front和rear,则当前队列中的元素个数是( D )A. (rear-front+m)%m B .read-front+1C. read-front-1D. read-front5 不带头结点的单链表head为空的判

20、定条件是( A ) A. head=NULLB .head-next=NULLC. head-next=head D. head!=NULL6在一个单链表中,若p所指的结点不是最后结点,在p之后插入s所指结点,则执行(B)A. s-next=p;p-next=s; B .s-next=p-next;p-next=s; C. s-next=p-next;p=s; D. p-next=s;s-next=p;7. 从一个具有 n 个结点的单链表中查找其值等于 x 结点时,在查找成功的情况下,需平均比较 多少个结点 ( D ) A. n B .n2 C. (n-1)2 D. (n+1)28 从一个栈顶

21、指针为 HS 的链栈中删除 一个结点时,用 x 保存被删结点的值,则执行 ( D )A. x=HS;HS=HS-next;B .x=HS-data;C.HS=HS-next;x=HS-data;D. x=HS-data;HS=HS-next;9.串是一种特殊的线性表,其特殊性体现在( B )A. 可以顺序存储 B . 数据元素是一个字符 C. 可以链接存储 D. 数据元素可以是多个字符11. 二维数组M的元素是4个字符(每个字符占一个存储单元)组成的串,行下标i的范围从0到 4,列下标 j 的范围从 0 到 5, M 按行存储时元素 M35 的起始地址与 M 按列存储时下列哪 一元素的起始地址

22、相同 ( B ) A. M24B .M34 C. M35D. M4412. 数组 A 中,每个元素 A 的长度为 3 个字节,行下标 i 从 1 到 8,列下标 j 从 1 到 10,从首 地址 SA 开始连续存放在存储器内,该数组按行存放时,元素 A85 的起始地址为 ( C )A. SA+144 B .SA+180 C. SA+222 D. SA+22513. 设高度为 h 的二叉树上只有度为 0 和度为 2 的结点, 则此类二叉树中所包含的结点数至少为: ( B )A. 2h B .2h-1 C. 2h+1 D. h+114. 已知某二叉树的后序遍历序列是dabec,中序遍历序列是 de

23、bac,它的前序遍历序列是( D )A. acbed B .decab C. deabc D. cedba15. 树的基本遍历策略可分为先根遍历和后根遍历;二叉树的基本遍历策略可分为先序遍历、中 序遍历和后序遍历。这里,我们把 由树转化得到的二叉树叫做这棵树对应的二叉树。下列结论 哪个正确 ( A )A. 树的先根遍历序列与其对应的二叉树的先序遍历序列相同B .树的后根遍历序列与其对应的二叉树的后序遍历序列相同C. 树的先根遍历序列与其对应的二叉树的中序遍历序列相同D. 以上都不对 16. 具有 6 个顶点的无向图至少应有多少条边才能确保是一个连通图 ( A )A. 5 B .6 C. 7 D

24、. 817. 顺序查找法适合于存储结构为 ( B )的线性表 A. 散列存储 B .顺序存储或链接存储 C. 压缩存储 D. 索引存储1 8.采用顺序查找方法查找长度为 n 的线性表每个元素的平均查找长度为 ( C )A. n B .n2 C. (n+1)2 D. (n-1)219. 有一个长度为 12 的有序表,按二分查找法对该表进行查找,在表内各元素等概率情况下查 找成功所需的平均比较次数为 ( B )A. 3512 B .3712 C. 3912 D. 431220. 有一个有序表为 1 , 3, 9, 12, 32, 41, 45, 62, 75, 77, 82, 95, 100 ,当

25、二分查找值 82 为的结点时,几次比较后查找成功( C )二、填空题(每空 1 分,共 20 分)1. 在线性表的顺序存储中,元素之间的逻辑关系是通过物理存储位置,决定的;在线性表的链接 存储中, 元素之间的逻辑关系是通过链域的指针值决定的。2对于一个具有 N 个结点的单链表,在已知的结点P后插入一个新结点的时间复杂度为0(1),在给定值为X的结点后插入一个新结点的时间复杂度为O(N)。 3.有一空桟,现有输入序列 1,2,3,4,5,经push,push,pop,push,pop,push,push 后,输出序列为 2,3 。4在一个无向图中,所有顶点的度数之和等于所有边数的2 倍5.对于一

26、棵具有 n 个结点的树,该树中所有结点的度数之和为 n-1 。6. 在一棵三叉树中,度为 3 的结点数有 2 个,度为 2 的结点数有 1 个,度为 1 的结点数为 2个, 那么度为 0 的结点数有 6 个7. 在霍夫曼编码中,若编码长度只允许小于等于 4,则除了已对两个字符编码为 0和 10外, 还可以最多对 4 个字符编码。8. 对于一个具有 n 个顶点和 e 条边的连通图,其生成树中的顶点数和边数分别为n 和n-1 。9. 对 20 个记录进行归并排序时,共需要进行 5 趟归并,在第三趟归并时是把长度为 4 的有序 表两两归并为长度为 8 的有序表。三、问答题 1. 简述下面算法的功能(

27、栈和队列的元素类型均为int )void algo3(Queue &Q)Stack S; int d;InitStack(S); while(!QueueEmpty(Q)DeQueue(Q,d);Push(S,d);while(!StackEmpty(S)Pop(S,d); EnQueue(Q,d); 算法的功能:利用栈作辅助,将队列中的数据元素进行逆置2. 已知一棵二叉树的中序遍历序列和先序遍历序列为,试问能不能唯一确定一棵二叉树。若给 定先序遍历序列和后序遍历序列,能不能唯一确定呢? 由中序遍历序列和先序遍历序列能唯一确定一棵二叉树。 由先序遍历和后序遍历序列不能唯一确 定一棵二叉

28、树 .。一、选择题1. 下面程序段的执行次数为( ) for(i=0;i v n- 1;i+)for(j=n;j > i;j-)state;A. n(n+2)2 B .(n-1)(n+2)2 C. n(n+1)2 D. (n-1)(n+2)2. 判定一个栈ST (最多元素为 mO)为空的条件是:()A. ST-topO B .ST-top = 0C.ST-topmO D. ST-top = mO3. 一个栈的入栈序列是a,b,c,d,e,则栈的不可能的输岀序列是()A. edcba B .decba C.dceab D. abcde4. 在一个单链表中,若 p 所指的结点不是最后结点,在

29、 p 之后插入 s 所指结点,则执行( )A. s-next=p;p-next=s;B .s-next=p-next;p-next=s;C. s-next=p-next;p=s;D. p-next=s;s-next=p;5 在一个链队中,假设 f 和 r 分别为队首和队尾指针,则删除一个结点的运算时()A. r=f-next; B .r=r-next; C. f=f-next;D. f=r-next;6 串是一种特殊的线性表, 其特殊性体现在 ()A. 可以顺序存储 B . 数据元素是一个字符 C. 可以链接存储 D. 数据元素可以是多个字符 7. 稀疏矩阵一般的压缩方法有两种, 即() A.

30、 二维数组和三维数组 B .三元组和散列 C. 三元组和十字链表 D. 散列和十字链表8 将递归算法转换成对应的非递归算法时,通常需要使用()A. 栈 B .队列 C. 链表 D. 树 9二维数组 M 的元素是 4个字符(每个字符占一个存储单元)组成的串,行下标 i 的范围从 O 到 4,列下标 j 的范围从 O 到 5, M 按行存储时 元素 M35 的起始地址与 M 按列存储时下列哪一元素的起始地址相同 ()A. M24B .M34 C. M35 D. M441O. 数组 A 中,每个元素 A 的长度为 3 个字节,行下 标i从1到8,列下标j从1到10,从首地址SA开始连续存放在存储器内

31、,该数组按行存放时, 元素 A85 的起始地址为 ()A. SA+144 B .SA+18O C. SA+222 D. SA+22511.如果 T2 是由有序树 T 转换而来的二叉树,那么 T 中结点的后序就是 T2 中结点的 ()A. 前序 B .中序 C. 后序D. 层次序 12.一个有 n 个顶点的无向图最多有多少边()A. n B .n(n-1) C. n(n-1)2 D. 2n13.按照二叉树的定义, 具有 3个结点的二叉树有 ()种 A. 3 B .4 C. 5 D. 614.在一非空二叉树的中序遍历序列中,根结点的右边 ()A. 只有右子树上的所有结点B .只有右子树上的部分结点 C. 只有左子树上的部分结点D. 只有左子树上的所有结点15. 在一个图中,所有顶点的度数之和等于所有边数的多少倍()A. 12 B .1 C. 2 D.416. 采用邻接表存储的图的深度优先遍历算法类似于二叉树的()A. 先序遍历 B .中序遍历 C. 后序遍历 D. 按层遍历17. 采用顺序查找方法查找长度为n 的线性表每个元素的平均查找长度为 ()A. nB .n2C. (n+1)2D. (n-1)2二、填空题 1. 算法的计算量的大小称为计算的 _。2数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论