2017年华科数据结构887真题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2017年华科数据结构887真题XXX887数据结构与算法分析真题
一.名词解释(25分,1个5分)
1.1堆分配存储表示
1.2完全图
1.3树的结点层次
1.4拓扑排序
1.5时间复杂度
手打
二.选择题(25分,1个5分)
2.1折半查找的平均时间复杂度是(B)
A. 1
B.logn
C. n
D. n
2.2
int frog{
if(n==0)
return 1;
else
return(n+frog(n-1)/2);
}
上述算法时间复杂度是多少(B)
A.XXX.n
XXX(n)`2
2.3一个算法的时间复杂度与什么有关(D)A.存储器的大小B.编程语言C.计算机的主频D.循环执行的次数2.4具有20个树叶的二叉树中只有1个孩子的结点个数是11,则这个二叉树总的结点个数是多少(A)
A. 50
B.49
C. 51
D.52
2.5下列关于队列说话不正确的是(B)
A.先进先出
B.后进先出
C.插入删除只能在端点
D.插入删除在不同点进行三.简答题(60分)
3.1{1,2,3,4,5,6,7,8}利用数组建成一个最大堆并利用堆排序将其排序成唯独的升序数组。
要求画出一切中央进程。
3.2先序为ABDFGHCE中序XXX画出该树3.3给出一个邻接矩阵画出克鲁斯卡尔算法具体过程
3.413个权值为5,18,12,13,4,6,7,9,28,16,20,30,2
给出哈夫曼树并设想编码
3.5给出输出结果并说明函数功能。
void Print(int w)
{
int i;
if (w!=0)
{
Print(w-1);
for(i=1:i<=w;i++)
printf(“%d,”,w);
printf(“/n”);
}
}
四.算法设想(40分)(编码艰巨能够写伪代码,会恰当扣分)4.1求二叉树一切具有两个后代的结点个数,假如根节点为空,则返回。
typedef struct Bintreenode{
int data;
struct XXX;
struct XXX;。