数据结构A卷Word文件下载.docx
- 文档编号:20074146
- 上传时间:2023-01-16
- 格式:DOCX
- 页数:13
- 大小:137.64KB
数据结构A卷Word文件下载.docx
《数据结构A卷Word文件下载.docx》由会员分享,可在线阅读,更多相关《数据结构A卷Word文件下载.docx(13页珍藏版)》请在冰豆网上搜索。
6.一个具有1025个结点的完全二叉树的高h为__________。
7.具有n个顶点的有向完全图有________________条边。
8.n个顶点的连通图用邻接矩阵表示时,该矩阵至少有___________个非零元素。
9.对n个不同的排序码进行冒泡排序,在最坏的情况下比较的次数最多为___________。
10.快速排序的平均时间复杂度为______________。
二、选择题:
(每题2分,共20分)
1.以下与数据的存储结构无关的术语是()。
A.有序表B.链表C.顺序队列D.链栈
2.链接存储的存储结构所占存储空间()。
A.分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针
B.只有一部分,存放结点值
C.只有一部分,存储表示结点间关系的指针
D.分两部分,一部分存放结点值,另一部分存放结点所占单元数
3.在一个长度为n的顺序表中,在第i个元素(1≤i≤n+1)之前插入一个新元素时须向后移动()个元素。
A.n-iB.n-i-1C.n-i+1D.i
4.在单链表中,要将s所指结点插入到p所指结点之后,其语句应为()。
A.s->
next=p+1;
p->
next=s;
B.(*p).next=s;
(*s).next=(*p).next;
C.s->
next=p->
next;
next=s->
D.s->
5.在双向链表存储结构中,删除p所指的结点时须修改指针()。
A.p->
next->
prior=p->
prior;
prior->
B.p->
prior=p;
C.p->
next=p;
D.p->
6.设计一个判别表达式中左,右括号是否配对出现的算法,采用()数据结构最佳。
A.线性表的顺序存储结构B.队列
C.线性表的链式存储结构D.栈
7.循环队列存储在数组A[0..m]中,则入队时的操作为()。
A.rear=rear+1B.rear=(rear+1)%(m-1)
C.rear=(rear+1)%mD.rear=(rear+1)%(m+1)
8.设有一个10阶的对称矩阵A,采用仅存储下三角的压缩存储方式,以行序为主存储,a[0][0]为第一元素,其存储地址为1,每个元素占一个地址空间,则a[7][5]的地址为()。
A.13B.33C.18D.40
9.广义表((a,b,c,d))的表尾是()。
A.aB.(a,b,c,d)C.()D.(b,c,d)
10.下述几种排序方法中,()是稳定的排序方法。
A.希尔排序B.快速排序C.冒泡排序D.堆排序
三、判断题:
(每题1分,共10分)
(说明:
认为陈述正确的在括号内打“√”;
否则在括号内打“×
”)
1.顺序存储的线性表可以随机存取。
()
2.数据结构是带有结构的各数据项的集合。
3.线性表若采用链式存储结构时,要求内存中可用存储单元的地址必须是连续的。
()
4.与数据元素本身的形式、内容、相对位置、个数无关的是数据的存储结构。
5.用链接方式存储的队列,在进行删除运算时头、尾指针可能都要修改。
6.空串是由空格构成的串。
7.把一棵树转换为二叉树后,这棵二叉树的形态有多种。
8.在一个图中,所有顶点的度数之和等于图的边数的2倍。
9.m阶B-树的根结点至多有m棵子树。
10.采用线性探测法处理冲突,可能要探测多个位置,在查找成功的情况下,所探测的这些位置上的关键字一定都是同义词。
四、应用题:
(每题6分,共30分)
1.设栈S的初始状态为空,元素e1、e2、e3、e4依次进入栈S,进栈的同时可以出栈,试写出6种出栈序列。
2.设一棵二叉树的先序序列:
ABDFCEGH,中序序列:
BFDAGEHC,要求:
(1)画出这棵二叉树;
(2)写出这棵二叉树的后序序列。
3.已知下列字符A、B、C、D、E、F、G的权值分别为5、5、6、7、8,试画出其对应哈夫曼树并示出其WPL值。
4.画出下图的最小生成树。
5.已知如下图所示的有向图,请给出:
(1)每个顶点的入度和出度;
(2)邻接矩阵。
五、算法分析与设计:
(每题10分,共20分)
1.Pleasewritedownthecodeofbinary(折半)searchalgorithm.
2.设待排序的关键字序列为{12,2,16,30,28,10,16*,20,6,18},试写出使用二路归并排序方法每趟排序结束后关键字序列的状态,并判断该排序方法是否稳定。
南阳理工学院课程考试
参考答案与评分标准
考试课程:
数据结构学年学期:
2012-2013-2
试卷类型:
A考试时间:
120分钟
一、填空题
1.L→next==NULL2.top--3.Q.rear==Q.front4.10205.5
6.117.n(n-1)8.2(n-1)9.n(n-1)/210.O(nlog2n)
二、选择题
1—5:
AACDA6—10:
DDBCC
三、判断题
√×
×
√6—10:
√√×
四、应用题
1.
e1,e2,e3,e4(1分)
e2,e1,e4,e3(1分)
e2,e4,e3,e1(1分)
e2,e3,e4,e1(1分)
e3,e2,e1,e4(1分)
e4,e3,e2,e1(1分)
答案仅供参考并不唯一,改题时具体分析
2.
(左右子树各2分)
后序序列:
FDBGHECA(2分)
3.
哈夫曼树(4分)
WPL=72(2分)
4.
每条边1分,所有边上的权值1分
5.
入度(2分);
出度(2分);
邻接矩阵2分
五、算法分析与设计
intSearch_Bin(SSTableST,KeyTypekey)
{
intlow,high,mid;
low=1;
high=ST.length;
(2分)
while(low<
=high)(1分)
{
mid=(low+high)/2;
(1分)
if(key==ST.elem[mid].key))returnmid;
elseif(key<
ST.elem[mid].key))high=mid-1;
elselow=mid+1;
}
return0;
}
若没写出代码,仅写出算法思想给5分。
2121630102816*20618(2分)
21216301016*2028618(2分)
210121616*202830618(2分)
2610121616*18202830(2分)
该排序方法是稳定的(2分)
南阳理工学院2012-2013学年第2学期试卷(B卷)
课程:
《数据结构1504108130》
专业必修课适用对象:
2011级软件工程本科
(软件、Java、数据库)
一、选择题:
1.以下哪一种数据结构,不属于逻辑结构的概念?
A.树B.图C.队列D.链表
2.以下哪一种特性,不是算法必须满足的特性?
A.健壮性B.有输出C.确定性D.有穷性
3.在一个长度为n的顺序表中进行插入操作,如果各个位置插入概率相同,平均要进行()次移动操作。
A.(n+1)/2B(n-1)/2C.n/2D.以上都不对
4.解决括号匹配问题,最适合使用什么数据结构?
A.堆B.栈C.队列D.二叉树
5.以下哪种二叉树遍历算法中适合使用队列实现?
A.先序遍历B.中序遍历
C.后序遍历D.层次遍历
6.以下关于线索二叉树的说法中,正确的是()
A.建立线索二叉树的目的是为了方便的进行插入和删除
B.先序线索二叉树查找前驱比较困难
C.线索二叉树的建立过程,是一个后序遍历过程
D.在线索二叉树中,必有二个指针域为空
7.以下那种方法适合用来判断有向图中是否有环?
A.深度优先遍历B.Dijkstra算法C.拓扑排序D.Prim算法
8.关键路径是事件结点网络中()。
A.从源点到汇点的最长路径B.从源点到汇点的最短路径
C.最长回路D.最短回路
9.使用快速排序进行升序排序,选择首个元素作为枢轴,则初始数据为升序的情况复杂度为多少?
A.
B.
C.
D.
10.若一组记录的排序码为(46,79,56,38,40,84),则利用堆排序的方法建立的初始堆为()。
A.79,46,56,38,40,84B.84,79,56,38,40,46
C.84,79,59,46,40,38D.84,56,79,40,46,38
二、填空题:
(每题2分,共20分)
1.最大容量为n的循环队列,队尾指针是rear,队头是front,则队空的
条件是 。
2.在单链表中删除p指向节点之后的节点的过程是 。
3.设散列表长度为14,散列函数为H(key)=key%11,采用开放定址法解决冲突,探测方法为二次探测法。
表中已有数据的关键字为15,38,61,84共4个,现要将关键字为49的元素加到表中,则应放入的位置是 。
4.一颗完全二叉树上有1025个节点,其中叶子节点的个数是 。
5.设有一个10阶的对称方阵A,采用压缩存储方式(仅存储下三角元素),以行序为主序存储,a11为第1元素,其存储地址为1,每个元素占一个地址空间,则a85的地址为 。
6.树的先根遍历序列与其对应二叉树的 遍历序列相同。
7.一棵有n个叶子结点的哈夫曼树共有__________个结点。
8.冒泡排序、归并排序、基数排序、简单选择排序这四种排序方法中,_____________是不稳定的。
9.有关键字序列{2,8,10,12,20,45}中,若用二分查找法查找关键字2,则需比较____次。
10.图的遍历方法主要有两个,一个是深度优先搜索,另一个是__________。
(每题2分,共10分)
1.链式存储主要的优点方便进行插入和删除,即支持随机存取。
2.广义表是具有存取限制的线性表。
3.在链式队列的实现中,出队操作可能需要更改队尾指针。
4.如果一个二叉排序树是一个完全二叉树,则它同时是平衡二叉树.()
5.在邻接表的建立过程中,使用尾插法,即可保证每个表项中点的序号按照升序排列。
(第1题6分,后三题8分,共30分)
1.一个整数栈的进栈顺序是1,2,3,4,5,写出5可能的出栈次序。
2.如图所示是一个无向连通网的邻接矩阵,试求画出该网。
3.Buildbinarysorttreebasedonthefollowinginsertionsequences:
26,58,96,11,6,7,12,5,67。
4.Givethefirstdivisionprocessofquicksortonkeywordrecordsequence{49,38,65,97,76,13,27,49}.
Note:
divisionprocess划分过程,quicksort快速排序
五、算法设计题:
(1题20分)
现有一个二叉链表表示的二叉树,试设计一个算法,对二叉树进行中序遍历。
(1)用C/C++写出二叉树节点的定义;
(2)描述该算法思想和实现中的关键细节;
数据结构学年学期:
2012-2013-2
B考试时间:
一、选择题(每题2分)
1.D2.A3.C4.B5.D6.B7.C8.A9.C10.B
二、填空题(每题2分)
1.rear==front2.q=p;
p=p->
free(p);
3.94.5135.326.先序7.2n-18.简单选择排序9.210.广度优先搜素
三、判断题(每题2分)
1.╳2.╳3.√4.√5.╳
1.5,4,3,2,1;
4,5,3,2,1;
4,3,5,2,1;
4,3,2,5,1;
4,3,2,1,5;
1,2,3,4,5
……
评分标准:
每种1分,共6分
2.
原图3分,以后每步1分
3.二叉排序树如下:
(评分标准:
每个元素插入位置正确1分)
4.初始关键字[4938659776132749]
第一次交换后[2738659776134949](2分)
第二次交换后[2738499776136549](2分)
第三次交换后[2738139776496549](2分)
第四次交换后[2738134976976549](2分)
完成1趟排序[2738134976976549]
五、综合题
(1)单链表结点定义:
structLNode{
intdata;
structLNode*next;
};
(3分)
二叉树结点定义:
structBiNode{
structBiNode*left,*right;
(2)算法思想:
对二叉树进行递归中序遍历,处理函数为将该节点中数据插入链表尾部。
Tail=head,tail->
Inorder(T);
voidinorder(BiNode*T)
if(!
T)
return;
if(T->
left)
inorder(T->
left);
p=newLNode,p->
data=T->
data,p->
next=null,tail->
next=p,tail=p;
right)
中序遍历过程正确5分,链表的尾插法正确5分,如果部分正确,酬情扣分
(3)由于对一个节点的处理时间为O
(1),所以总的时间复杂度为O(n).(4分)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构