大连海事大学2011研究生专业试题s数据结构部分
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
管理科学与工程专业
管理信息系统与数据结构
数据结构部分(50分)
一、简要回答下列问题(10分)
1、简述堆排序的思想方法,以及为实现堆排序需要解决的如下两个问题的
过程(以大顶堆为例)(7分)
(1)如何在输出堆顶元素之后,调整剩余元素成为一个新的堆?
(2)如何由一个无序序列建成一个堆?
2、什么是ASL?写出ASL的定义(写出式子)(3分)
二、单项选择题(10分)
1、某程序的时间复杂度为(3n+nlog2n+n2+8),其数量级表示为()。
A.0(n)
B.(nlog2n)
C.0(n2)
D. 0 (log2n)
2、设有一个含150个表项的散列表,用线性探查法解决冲突,按关键码查询时找到一个表项的平均探查次数不超过1.5,则散列表项应能够至少容纳()个表项。(设查找成功的平均查找长度为S n1={1+1/(1-a)}/2其中a为填装因子)
A 。400 B。300 C。 450 D 600
3、对于长度为9的有序顺序表,若采用折半查找,在等概率情况下查找成功
的平均长度为()的值除以9.
A.20
B.18
C.25
D.22
4、在无向图中定义顶点V i与V j之间的路径为从V i到达V j的一个()
A.顶点序列
B.边序列
C.权值总和
D.边的条数
5、已知一有向图的邻接表储存结构如图所示,根据有向图的深度优先遍历算法,从v1出发的顶点序列为()。
A.V1,V2,V3,V5,V4
B.V1,V2,V3,V4,V5
C.V1,V3,V4,V5,V2
D.V1,V4,V3,V5,V2
三、填空题(5分)
1、在有序表A[1..30]中,按二分查找方法进行查找,查找长度为5的元素个数是
______.
2、在一个深度为K且具有最小结点数的完全二叉树上,按层次用自然数依次对结点编号,则编号最小的叶子的序号是______;编号是i的结点所在的层次号(根在1层)是________。
3、为了实现图的广度优先搜索,除了一个标志数组来标志已访问的图的结点外,还需______存放被访问的结点以实现遍历。
4、用单链表表示的链式队列,入队时应该修改链表的链_______指针。
四、判断下列叙述的对错(5分)
1、在树中,如果从结点K出发,存在两条分别达到K’,K’’的长度相等的路径,由结点K’和K’’互为兄弟。
2、线性表的链式存储结构式通过指针来间接反映数据元素之间逻辑关系的。
3、在线性表的顺序存储结构中,每插入一个数据元素都必须移动相应的数据元素。
4、若连通网络的各边的权值均不相同,则依据Prim算法所构造的最小生成树是唯一的。
5、在散列法中采取开散列(链地址)法来解决冲突时,其填装因子的取值一定在(0,1)之间。
五、综合题(20分)
1、在起泡排序、堆排序和快速排序中:(6分)
(1).若只从排序结果的稳定性考虑,则应选取哪些排序方法?
(2).若只从存储空间考虑,则应选哪些排序方法?
(3).若只从平均情况下排序最快考虑,则应该选取哪些排序方法?
(4).若只从最坏情况下排序最快考虑,则应该选取哪些排序方法?
2、下图是一个有向图,利用Dijkstra算法求图中从顶点A到其他各顶点间的最短路径,要求在答题纸上画出如下表,将执行算法过程中各步的状态和最短路径填入表中。(7分)
A到各点最短路径分别为:
3、下面的函数是输出二叉树的各结点。读程并在每个空格处填写一个语句或一个表达式。(7分)
#define max 100
typedef struct tnode{
int data;
struct tnode *lchild,*rchild;
} tnode;
typedef struct stack{
tnode *elem[max];
int top;
}stack;
void print tree(tnode *bt)
{stack s;tnode *p;
p=____________________; s.top:=0;
while(p||s.top!=0){
s.elem[s.top++]=p;
_______________________;
}
if(s.top>0){
p=s.elem[--s.top];
printf(“%d”,p->data);
p=p->rchild;
}
}
}