2018年北京邮电大学数据结构考研题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2018年北京邮电大学数据结构考研题
一、选择
1、四个元素1、
2、
3、4依次进栈,出栈次序不可能出现_____情况
A 1 2 3 4
B 4 1 3 2
C 1 4 3 2
D 4 3 2 1
2、中缀表达式(A+B)*(C-D)/(E-F*G)的后缀表达式是_______
A A+B*C-D/E-F*G
B AB+CD-*EFG*-/
C AB+C*D-E/F-G*
D ABCDEFG+*-/-*
3、4个圆盘的Hanoi塔,总的移动次数为________次
A 7
B 8
C 15
D 16
4、广义表(a, (b, (c, d, ( e, f ) ) ,g ) ) 的深度是_____
A 3
B 4
C 5
D 6
5、含有4个结点的二叉树有______种树型
A 4
B 5
C 10
D 14
6、一棵Huffman树共有215个结点,对其进行Huffman编码,功能得到______个不同的
码字
A 107
B 108
C 214
D 215
7、在一个无向图中,所有顶点的度数之和等于所有边数的______倍
A 1/2
B 1
C 2
D 4
8、对一个长度为50的有序表进行折半查找,最多比较_______次就能查找出结果
A 6
B 7
C 8
D 9
9、理论上,散列表的平均比较次数为______次
A 1
B 2
C 4
D n
10、当待排序列基本有序时,下列排序方法中_______最好
A 直接插入排序
B 快速排序
C 堆排序
D 归并排序
二、判断
1、数据项是数据的最小单位;
2、链表的每个结点都恰好有一个指针;
3、同一组不重复输入序列执行不同的入栈出栈组合操作,所得结果也可能相同;
4、改进的KMP算法中,字符串”abaaaba”的nextval数组值是0101110;
5、用六叉链表表示30个结点的六叉树,则树中共有151个空指针;
6、数组是一种线性结构,因此只能用来存储线性表;
7、若有向图不存在回路,即使不用访问标志位同一结点也不会被访问两次;
8、若装填因子a为1,则向散列表中散列元素时一定会产生冲突;
9、若把堆看成是一个完全二叉树,则该树一定是一棵排序二叉树;
10、外排中使用置换选择排序的目的,是为了增加初始归并段的长度;
三、已知一棵二叉排序树的前序遍历为EBADCKGFHJI,画出该二叉树,并给出后序遍历的结果。
四、任意给出右图的五条拓扑排序序列。
五、算法
1、请将下面的选择排序算法补充完整
int Max (sqlist r, int n)
{
if (n==1) _______________
m=Max(r,n-1);
if (r[m]>r[n]) ____________
else ____________
}
void Sort(r, int n)
{
for(int i= )
{
k=Max(r,i);
r[k] r[i]
}
}
2、已知带头结点的单链表有data 和next两个域,设计一个算法,将该链表中的重复元素结点删除。
3、设计一个算法,判断两棵以二叉链表表示的二叉树是否相等。