数据结构试卷(二)及答案
数据结构试卷(二)
一、选择题(24分)
1.下面关于线性表的叙述错误的是( )。
(A) 线性表采用顺序存储必须占用一片连续的存储空间
(B) 线性表采用链式存储不必占用一片连续的存储空间
(C) 线性表采用链式存储便于插入和删除操作的实现
(D) 线性表采用顺序存储便于插入和删除操作的实现
2.设哈夫曼树中的叶子结点总数为m,若用二叉链表作为存储结构,则该哈夫曼树中总共有( )个空指针域。
(A) 2m-1 (B) 2m (C) 2m+1 (D) 4m
3.设顺序循环队列Q[0:M-1]的头指针和尾指针分别为F和R,头指针F总是指向队头元素的前一位置,尾指针R总是指向队尾元素的当前位置,则该循环队列中的元素个数为( )。
(A) R-F (B) F-R (C) (R-F+M)%M (D) (F-R+M)%M
4.设某棵二叉树的中序遍历序列为ABCD,前序遍历序列为CABD,则后序遍历该二叉树得到序列为( )。
(A) BADC (B) BCDA (C) CDAB (D) CBDA
5.设某完全无向图中有n个顶点,则该完全无向图中有( )条边。
(A) n(n-1)/2 (B) n(n-1) (C) n2 (D) n2-1
6.设某棵二叉树中有2000个结点,则该二叉树的最小高度为( )。
(A) 9 (B) 10 (C) 11 (D) 12
7.设某有向图中有n个顶点,则该有向图对应的邻接表中有( )个表头结点。
(A) n-1 (B) n (C) n+1 (D) 2n-1
8.设一组初始记录关键字序列(5,2,6,3,8),以第一个记录关键字5为基准进行一趟快速排序的结果为( )。
(A) 2,3,5,8,6 (B) 3,2,5,8,6
(C) 3,2,5,6,8 (D) 2,3,6,5,8
二、填空题(24分)
1. 为了能有效地应用HASH查找技术,必须解决的两个问题是____________________和__________________________。
2. 下面程序段的功能实现数据x进栈,要求在下划线处填上正确的语句。
typedef struct {int s[100]; int top;} sqstack;
void push(sqstack &stack,int x)
{
if (stack.top==m-1) printf(“overflow”);
else {____________________;_________________;}
}
3. 中序遍历二叉排序树所得到的序列是___________序列(填有序或无序)。
4. 快速排序的最坏时间复杂度为___________,平均时间复杂度为__________。 5. 设某棵二叉树中度数为0的结点数为N0,度数为1的结点数为N1,则该二叉树中度数为2的结点数为_________;若采用二叉链表作为该二叉树的存储结构,则该二叉树中共有_______个空指针域。
6. 设某无向图中顶点数和边数分别为n和e,所有顶点的度数之和为d,则e=_______。
7. 设一组初始记录关键字序列为(55,63,44,38,75,80,31,56),则利用筛选法建立的初始堆为___________________________。
8. 设某无向图G的邻接表为31241314234321vvvv,则从顶点V1开始的深度优先遍历序列为___________;广度优先遍历序列为____________。
三、应用题(36分)
1. 设一组初始记录关键字序列为(45,80,48,40,22,78),则分别给出第4趟简单选择排序和第4趟直接插入排序后的结果。
2. 设指针变量p指向双向链表中结点A,指针变量q指向被插入结点B,要求给出在结点A的后面插入结点B的操作序列(设双向链表中结点的两个指针域分别为llink和rlink)。
3. 设一组有序的记录关键字序列为(13,18,24,35,47,50,62,83,90),查找方法用二分查找,要求计算出查找关键字62时的比较次数并计算出查找成功时的平均查找长度。
4. 设一棵树T中边的集合为{(A,B),(A,C),(A,D),(B,E),(C,F),(C,G)},要求用孩子兄弟表示法(二叉链表)表示出该树的存储结构并将该树转化成对应的二叉树。
5. 设有无向图G(如右图所示),要求给出用普里姆算法构造最小生成树所走过的边的集合。
6. 设有一组初始记录关键字为(45,80,48,40,22,78),要求构造一棵二叉排序树并给出构造过程。
四、算法设计题(16分)
1. 设有一组初始记录关键字序列(K1,K2,…,Kn),要求设计一个算法能够在O(n)的时间复杂度内将线性表划分成两部分,其中左半部分的每个关键字均小于Ki,右半部分的每个关键字均大于等于Ki。
2. 设有两个集合A和集合B,要求设计生成集合C=A∩B的算法,其中集合A、B和C用链式存储结构表示。 数据结构试卷(二)参考答案
一、选择题
1.D 2.B 3.C 4.A 5.A 6.C 7.B 8.C
二、填空题
1. 构造一个好的HASH函数,确定解决冲突的方法
2. stack.top++,stack.s[stack.top]=x
3. 有序
4. O(n2),O(nlog2n)
5. N0-1,2N0+N1
6. d/2
7. (31,38,54,56,75,80,55,63)
8. (1,3,4,2),(1,3,2,4)
三、应用题
1. (22,40,45,48,80,78),(40,45,48,80,22,78)
2. q->llink=p; q->rlink=p->rlink; p->rlink->llink=q; p->rlink=q;
3. 2,ASL=91*1+2*2+3*4+4*2)=25/9
4. 树的链式存储结构略,二叉树略
5. E={(1,3),(1,2),(3,5),(5,6),(6,4)}
6. 略
四、算法设计题
1. 设有一组初始记录关键字序列(K1,K2,…,Kn),要求设计一个算法能够在O(n)的时间复杂度内将线性表划分成两部分,其中左半部分的每个关键字均小于Ki,右半部分的每个关键字均大于等于Ki。
void quickpass(int r[], int s, int t)
{
int i=s, j=t, x=r[s];
while(i while (i while (i } r[i]=x; } 2. 设有两个集合A和集合B,要求设计生成集合C=A∩B的算法,其中集合A、B和C用链式存储结构表示。 typedef struct node {int data; struct node *next;}lklist; void intersection(lklist *ha,lklist *hb,lklist *&hc) { lklist *p,*q,*t; for(p=ha,hc=0;p!=0;p=p->next) { for(q=hb;q!=0;q=q->next) if (q->data==p->data) break; if(q!=0){ t=(lklist *)malloc(sizeof(lklist)); t->data=p->data;t->next=hc; hc=t;} } }
数据结构-数据结构历年考题及答案2
中国矿业大学2011-2012学年
《数据结构》试卷(A卷)(考试时间:100分钟)
一. 填空(每空2分,共40分)
1. 数据结构式具有相同性质的数据元素的
(1)
。
2.
通常程序在调用另一个程序时,都需要使用一个
(2)
来保存被调用程序内分配的局部变量、形式参数的存储空间以及返回地址。
3.
有6行8列的二维数组A,每个元素用相邻的6个字节存储,存储器按字节编址,已知A的起始存储地址(基址)为1000,在行优先存储和列优先存贮情况下A[5,5]的存储地址分别为__(3)_____,_____(4)____。
4. 完全二叉树第4 个节点的父节点是第 (5) 节点,左孩子是第 (6) 个节点。如果该二叉树有10层,则共有 (7) 个节点。
5. 请描述在循环队列Q中,队头和队尾指针分别由front和rear表示,该队列有10个存储空间,判断队空和队满的条件分别分:_____(8)________,_______(9)_________。
6. 字符串t=”child”,s=”cake”,请写出下列函数的结果:StrLength(t) =(10)__;Concat(SubString(s,3,1),SubString(t,2,2))=____(11)___。
7. 一棵二叉树为
则后序序列为 (12) ,中序序列为 (13) ,先序序列为__(14)____。
8. 请用数据序列{53,17,12,66,58,70,87,25,56,60 }构造一棵二叉排序树_(15)_。
9.。一个栈输入的序列式1,2,3,则可能的且以2为开头的输出序列是 (16) ,不可能的序列是____(17)____。
10. 有n个结点的无向完全图的边数分别为_______(18)_______。
11. 要从数据:2,3,4,8,9,11,13查找11,若采用折半查找法,则在 (19) 次比较后,才找到该数据。
《数据结构》期末考试试卷试题及答案
《数据结构》期末考试试卷试题及答案
一、选择题(每题5分,共20分)
1. 下列哪个不是线性结构?
A. 栈
B. 队列
C. 图
D. 数组
2. 下列哪个不是栈的基本操作?
A. 入栈
B. 出栈
C. 查找
D. 判断栈空
3. 下列哪个不是队列的基本操作?
A. 入队
B. 出队
C. 查找
D. 判断队列空
4. 下列哪个不是图的基本概念?
A. 顶点
B. 边
C. 路径
D. 环
二、填空题(每题5分,共20分) 5. 栈是一种______结构的线性表,队列是一种______结构的线性表。
6. 图的顶点集记为V(G),边集记为E(G),则无向图G=(V(G),E(G)),有向图G=(______,______)。
7. 树的根结点的度为______,度为0的结点称为______。
8. 在二叉树中,一个结点的左子结点是指______的结点,右子结点是指______的结点。
三、简答题(每题10分,共30分)
9. 简述线性表、栈、队列、图、树、二叉树的基本概念。
10. 简述二叉树的遍历方法。
11. 简述图的存储结构及其特点。
四、算法题(每题15分,共30分)
12. 编写一个算法,实现栈的入栈操作。
13. 编写一个算法,实现队列的出队操作。
五、综合题(每题20分,共40分)
14. 已知一个无向图G=(V,E),其中V={1,2,3,4,5},E={<1,2>,<1,3>,<2,4>,<3,4>,<4,5>},画出图G,并给出图G的邻接矩阵。
15. 已知一个二叉树,其前序遍历序列为ABDCE,中序遍历序列为DBACE,请画出该二叉树,并给出其后序遍历序列。
答案部分
一、选择题答案
1. C
2. C 3. C
4. D
二、填空题答案
5. 后进先出 先进先出
6. V(G),E(G)
7. 0 叶结点
8. 左孩子 右孩子
三、简答题答案
9. (1)线性表:一个线性结构,其特点是数据元素之间存在一对一的线性关系。
数据结构试卷试题及答案
数据结构试卷试题及答案
一、选择题(每题5分,共40分)
1. 数据结构是研究数据元素的( )
A. 存储结构
B. 处理方法
C. 逻辑结构
D. 所有以上内容
答案:D
2. 在数据结构中,通常采用( )方式来表示数据元素之间的逻辑关系。
A. 顺序存储结构
B. 链式存储结构
C. 索引存储结构
D. 散列存储结构
答案:B
3. 下面哪一个不是栈的基本操作?( )
A. 入栈
B. 出栈
C. 判断栈空 D. 获取栈顶元素
答案:D
4. 下面哪一个不是队列的基本操作?( )
A. 入队
B. 出队
C. 判断队列空
D. 获取队头元素
答案:D
5. 下面哪一个不是线性表的特点?( )
A. 有且只有一个根节点
B. 每个节点最多有一个前驱和一个后继
C. 数据元素类型相同
D. 数据元素类型可以不同
答案:D
6. 在下列哪种情况中,使用链式存储结构比顺序存储结构更合适?( )
A. 数据元素经常插入和删除
B. 数据元素大小不固定
C. 数据元素个数不确定 D. 所有以上情况
答案:D
7. 下面哪一个不是树的遍历方式?( )
A. 前序遍历
B. 中序遍历
C. 后序遍历
D. 翻转遍历
答案:D
8. 在下列哪种情况中,使用散列存储结构比其他存储结构更合适?( )
A. 数据元素个数较少
B. 数据元素查找频繁
C. 数据元素插入和删除频繁
D. 数据元素大小不固定
答案:B
二、填空题(每题5分,共30分)
9. 栈是一种特殊的线性表,它的插入和删除操作都限定在表的一端进行,这一端称为______。
答案:栈顶 10. 队列是一种特殊的线性表,它的插入操作在表的一端进行,这一端称为______,而删除操作在另一端进行,这一端称为______。
答案:队尾、队头
11. 二叉树中的节点包括______和______。
答案:根节点、子节点
12. 在图的存储结构中,邻接矩阵表示法用______个一维数组来表示图中各个顶点之间的关系。
大数据结构考试精彩试题
实用文档
文案大全 数据结构辅导试题一
一 、简答问题:
1. 四类数据结构
2. 线性结构与非线性结构有何差别?
3. 简述算法的定义与特性。
4. 设有1000个无序元素,仅要求找出前10个最小元素,在下列排序方法中(归并排序、基数排序、快速排序、堆排序、插入排序)哪一种方法最好,为什么?
二、判断正误:(每小题1分,共5分)正确在( )内打√,否则打 。
1. ( )二叉排序树或是一棵空树,或是具有下列性质的二叉树:
若它的左子树非空,则根结点的值大于其左孩子的值,
若它的右子树非空,则根结点的值大于其右孩子的值。
2. ( )索引顺序表的特点是块内可无序,块间要有序。
3. ( )子串是主串中任意个连续字符组成的序列。
4. ( )线性结构只能用顺序结构存放,非线性结构只能用链表存放。
5. ( )快速排序的枢轴元素可以任意选定。
三、单项选择题:(每小题1分,共4分)
1.栈S最多能容纳4个元素。现有6个元素按A、B、C、D、E、F的顺序进栈, 问下列哪一个序列是可能的出栈序列?
A)E、D、C、B、A、F B)B、C、E、F、A、D
C)C、B、E、D、A、F D)A、D、F、E、B、C
2.将一棵有100个结点的完全二叉树从根这一层开始,每一层从左到右依次对结点进行编号,根结点编号为1,则编号为49的结点的左孩子的编号为:
A、98 B、99 C、50 D、48
3. 对下列关键字序列用快速排序法进行排序时,速度最快的情形是:
A){21、25、5、17、9、23、30} B){25、23、30、17、21、5、9}
B){21、9、17、30、25、23、5} D){5、9、17、21、23、25、30}
4. 设森林F中有三棵树,第一、第二和第三棵树的结点个数分别为M1、M2和M3。与森林F对应的二叉树根结点的右子树上的结点个数是:
福师20年秋数据结构概论在线作业二【标准答案】
福师《数据结构概论》在线作业二-0002
试卷总分:100得分:100
一、单选题(共25道试题,共50分)
1 .设森林F对应的二叉树为B,它有m个结点,B的根为p,p的右子树结点个数为 n,森林F中第一棵树的结点个数是()
A.m-n
B.m-n-1
C.n+1
D.条件不足,无法确定
答案:A
2 .若二叉树采用二叉链表存储结构,要交换其所有分支结点左、右子树的位置, 利用()遍历方法最合适。
A.前序
B.中序
C.后序
D.按层次
答案:C
3 .一个算法应该是()。
A.程序
B.问题求解步骤的描述
C.要满足五个基本特性
D.A 和 C.
答案:B
4 .栈和队列的共同点是()。
A.都是先进先出
8 .都是先进后出
C.只允许在端点处插入和删除元素
D.没有共同点
E.限制存取点的线性结构
F.限制存取点的非线性结构
答案:C
5 .下面的程序段中,对x的赋值语句的频度为()FOR i:=1 TO n DOFOR j:=1
TO n DO x:=x+1;
A.O(2n)
B.O(n)
C.O(n"2)
D.O(log2n)
答案:C
6 .算法的计算量的大小称为计算的() A.效率
B.复杂性
C.现实性
D.难度
答案:B
7 .对于栈操作数据的原则是()
A.先进先出
8 .后进先出
C.后进后出
D.不分顺序
答案:B
8 .下列表达式中结果不是日期型的是?
A.CT0D("2000/10/01")
B.「99/10/01}+365
C.VAL("2000/10/01")
D.DATE()
答案:C
9 .关键路径是事件结点网络中()
A.从源点到汇点的最长路径
B.从源点到汇点的最短路径
C.最长回路
D.最短回路
答案:A
10 .就平均性能而言,目前最好的内排序方法是()排序法。
A.冒泡
B.希尔插入
C.交换
D.快速
答案:D
11 .栈和队都是()
A.顺序存储的
2011级数据结构试卷A及答案 - 副本 (2)
《 Data Structure 》A试卷 第 1 页 共 5 页
诚信应考,考试作弊将带来严重后果!
华南理工大学期末考试
《 Data Structure 》试卷 A
注意事项:1. 考前请将密封线内填写清楚;
2. 所有答案请答在答题纸上;
3.考试形式:闭卷;
4. 本试卷共十大题,满分100分,考试时间120分钟。
题 号 一 二 三 四 五 六 七 八 九 十 总分
得 分
评卷人
1. Select the correct choice. (20 scores, each 2 scores)
(1) Pick the growth rate that corresponds to the most inefficient algorithm as n gets
large: ( C )
(A) 2n3 (B) 2n2logn (C) n! (D) 2n
(2) An algorithm must be or do all of the following EXCEPT: ( B )
(A) Partially correct (B) Ambiguous (C) Can stop (D) Concrete steps
(3) If a data element requires 6 bytes and a pointer requires 2 bytes, then a linked list
representation will be more space efficient than a standard array representation
when the fraction of non-null elements is less than about: ( B )
电子科技大学22春“计算机应用技术”《数据结构》期末考试高频考点版(带答案)试卷号2
书山有路勤为径,学海无涯苦作舟! 住在富人区的她
电子科技大学22春“计算机应用技术”《数据结构》期末考试高频考点版(带答案)
一.综合考核(共50题)
1.
若一个算法中的语句频度之和为T(n)=3720n+4nlogn,则算法的时间复杂度为 O(n)。()
A.正确
B.错误
参考答案:B
2.
假设以S和X分别表示进栈和退栈操作,则对输入序列a,b,c,d,e进行一系列栈操作SSXSXSSXXX之后,得到的输出序列为 a b b c c d d e d c 。()
A.正确
B.错误
参考答案:B
3.
下面的程序段的时间复杂度是多少?()
A.O(n)
B.O(m+n+1)
C.O(m+n)
D.O(m*n)
参考答案:D
4.
在线性表的下列运算中,不改变数据元素之间结构关系的运算是()。
A、插入
B、删除
C、排序
D、定位
参考答案:D 书山有路勤为径,学海无涯苦作舟! 住在富人区的她
5.
从顺序表中删除一个元素时,表中所有在被删元素之后的元素均需()。
A、前移一个位置
B、后移一个位置
C、不动
D、视情况而定
参考答案:A
6.
算法有以下几种特性()。
A、有穷性
B、确定性
C、可行性
D、输入和输出
参考答案:ABCD
7.
在目标串T[0...n-1]=″xwxxyxy″中,对模式串P[0...m-1]=″xy″进行子串定位操作的结果是()。
A、0
B、2
C、3
D、5
参考答案:C
8.
一个含有n个结点的完全二叉树,它的高度是「log2n」+1。()
T、对
F、错
参考答案:T
9.
若进栈序列为a,b,c,且进栈和出栈可以穿插进行,则可能出现6个不同的出栈序列。() 书山有路勤为径,学海无涯苦作舟! 住在富人区的她
A.正确
B.错误
19春天津大学《数据结构》在线作业二100分答案
《数据结构》在线作业二-0001
试卷总分:100 得分:100
一、 单选题 (共 40 道试题,共 100 分)
1.对于静态表的顺序查找法,若在表头设置岗哨,则正确的查找方式为()。
A.从第0个元素往后查找该数据元素
B.从第1个元素往后查找该数据元素
C.从第n个元素往开始前查找该数据元素
D.与查找顺序无关
标准选择是:C
2.数组的逻辑结构不同于下列(??)的逻辑结构。
A.线性表
B.栈
C.队列
D.树
标准选择是:D
3.设哈希表长m=14,哈希函数H(key)=key%11。表中已有4个结点:addr (15)=4;addr
(38)=5;addr (61)=6;addr (84)=7,如用二次探测再散列处理冲突,关键字为49的结点的地址是()。
A.8
B.3
C.5
D.9
标准选择是:D
4.排序方法中,从未排序序列中挑选元素,并将其依次放入已排序序列(初始时为空)的一端的方法,称为()。
A.希尔排序
B.归并排序
C.插入排序
D.选择排序
标准选择是:D
5.字符串的长度是指( )。
A.串中不同字符的个数
B.串中不同字母的个数
C.串中所含字符的个数
D.串中不同数字的个数
标准选择是:C
2数据结构试卷a答案
2011~2012学年第 1 学期期末考试试卷(A卷)
课程名称: 数据结构 任课教师姓名:
卷面总分: 100 分 考试时长: 100 分钟 考试类别:闭卷
院(系): 专 业: 年级: 2010
姓 名: 学 号:
题号 第一题 第二题
第三题
第四题 总分
得分
阅卷教师(签字):
一、 单项选择题(每题2分,共10题20分)
题号 1 2 3 4 5 6 7 8 9
10
答案 A B B B B D D C C
A
1.以下那一个术语与数据的存储结构无关?
。
A.栈
B.哈希表 C.线索树
D.双向链表
2.链表不具有的特点是 。
A.插入、删除不需要移动元素
B.可随机访问任一元素 C.不必事先估计存储空间
D.所需空间与线性表长度成正比
3.算术表达式a+b*(c+d/e)转为后缀表达式后为 。
A.ab+cde/*
B.abcde/+*+ C.abcde/*++
D.abcde*/++
4.二维数组A[10][20]采用列优先的存储方法,若每个元素占2个存储单元,设A[0][0]的地址为100,则元素A[7][6]的存储地址为 。
A.232 B.234 C.390 D.392
装
订
线 5.若一棵二叉树具有10 个度为2 的结点,5 个度为1 的结点,则度为0 的结点个数是 B 。
A.9 B.11 C.15 D.不确定
计算机专业基础综合数据结构(排序)模拟试卷2(题后含答案及解析)
计算机专业基础综合数据结构(排序)模拟试卷2 (题后含答案及解析)
题型有:1. 单项选择题 2. 综合应用题
单项选择题1-40小题,每小题2分,共80分。下列每题给出的四个选项中,只有一个选项是最符合题目要求的。
1. 采用简单选择排序,比较次数与移动次数分别为( )。
A.O(n),O(log2n)
B.O(log2n),O(n2)
C.O(n2),O(n)
D.O(nlog2n),O(n)
正确答案:C
解析:简单选择排序的关键字比较次数KCN与对象的初始排列无关。第i趟选择具有最小关键字对象所需的比较次数总是n—i—1次(此处假定整个待排序对象序列有n个对象)。因此,总的关键字比较次数为: 最坏情况是每一趟都要进行交换,总的对象移动次数为RMN=3(n一1)。 知识模块:数据结构
2. 就排序算法所用的辅助空间而言,堆排序、快速排序、归并排序的关系是( )。
A.堆排序<快速排序<归并排序
B.堆排序<归并排序<快速排序
C.堆排序>归并排序>快速排序
D.堆排序>快速排序>归并排序
正确答案:A
解析:此题考查的知识点为排序的空间复杂性。堆排序辅助空间为O(1),快速排序为O(log2n),归并排序为O(n)。应选A。 知识模块:数据结构
3. 一组记录的关键码为(25,48,16,35,79,82,23,40,36,72),其中,含有5个长度为2的有序表,按归并排序的方法对该序列进行一趟归并后的结果为( )。
A.16,25,35,48,23,40,79,82,36,72
B.16,25,35,48,79,82,23,36,40,72
C.16,25,48,35,79,82,23,36,40,72
D.16,25,35,48,79,23,36,40,72,82
正确答案:A
解析:对于(25,48,16,35,79,82,23,40,36,72),(25,48)和(16,35)归并的结果为(16,25,35,48)。(79,82)和(23,40)归并后的结果为(23,40,
