2018年北京邮电大学数据结构考研题

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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、设计一个算法,判断两棵以二叉链表表示的二叉树是否相等。

相关文档
最新文档