北林 数据结构期末考试 应用题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据结构

应用题

天涯古巷 出品

题型一:表达式求值

按照四则运算加(+)、减(-)、乘(*)、除(/)和幂运算(^)优先关系的惯例,画出对下列算术表达式求值时操作数栈和运算符栈的变化过程:A-B×C/D+E^F

解:BC=G G/D=H A-H=I E^F=J I+J=K

步骤 OPTR栈 OPND栈 输入字符 主要操作

1 # A-B*C/D+E^F# PUSH(OPND,A)

2 # A -B*C/D+E^F# PUSH(OPTR,-)

3 #- A B*C/D+E^F# PUSH(OPND,B)

4 #- A B *C/D+E^F# PUSH(OPTR,*)

5 #-* A B C/D+E^F# PUSH(OPND,C)

6 #-* A B C /D+E^F# Operate(B,*,C)

7 #- A G /D+E^F# PUSH(OPTR,/)

8 #-/ A G D+E^F# PUSH(OPND,D)

9 #-/ A G D +E^F# Operate(G,/,D)

10 #- A H +E^F# Operate(A,-,H)

11 # I +E^F# PUSH(OPTR,+)

12 #+ I E^F# PUSH(OPND,E)

13 #+ I E ^F# PUSH(OPTR,^)

14 #+^ I E F# PUSH(OPND,F)

15 #+^ I E F # Operate(E,^,F)

16 #+ I J # Operate(I,+,J)

17 # K # RETURN

题型二:汉诺塔时间复杂度的分析及证明

汉诺塔问题的递归算法的时间复杂度是什么?请给出答案并且给予证明。

解:时间复杂度T(n)=O(2n

),证明如下

已知:f(1)=1,f(n)=2f(n-1)+1 所以:f(n)+1=2(f(n-1)+1)

f(n)= 2n

-1 (2

n

-1为至少执行移动操作的次数)

T(n)=O(2n

)

故:得证

题型一:数组地址的计算

设有二维数组A(6×8),每个元素占6字节存储,顺序存放,A的起地址为1000,计算:

(1)数组A的体积(即存储量);

(2)数组的最后一个元素A57的起始地址;

(3)按行优先存放时,元素A14的起始地址;

(4)按列优先存放时,元素A47的起始地址。

第五章

题型一:由二叉树的中序遍历和前(后)序遍历,画出该二叉树

1、给定二叉树的两种遍历序列,分别是:

前序遍历序列:A B D F C E G H; 中序遍历序列:B F D A G E H C

试画出二叉树B,并简述由任意二叉树B的前序遍历序列和中序遍历序列求二叉树B的思想方法。

结点序列。

题型二:哈夫曼树的构造(画树、计算WPL、初态和终态表),设计哈夫曼编码

1、假设用于通信的电文仅由8个字母组成,字母在电文中出现的频率分别为:0.07,0.19,0.02,0.06,0.32,0.03,0.21,0.10。

① 试为这8个字母设计赫夫曼编码。

② 试设计另一种由二进制表示的等长编码方案。 ③ 对于上述实例,比较两种方案的优缺点。 答案:方案1;哈夫曼编码

先将概率放大100倍,以方便构造哈夫曼树。

w={7,19,2,6,32,3,21,10},按哈夫曼规则:【[(2,3),6], (7,10)】, ……19, 21, 32

(100)

(40) (60)

(17) (11)

7 10 6 (5) 2 3

方案比较: 方案1

WPL=2*(0.19+0.32+0.21)+4*(0.07+0.06+0.10)+5*(0.02+0.03)=1.44+0.92+0.25=2.61 方案2

WPL=3*(0.19+0.32+0.21+0.07+0.06+0.10+0.02+0.03)=3 结论:哈夫曼编码优于等长二进制编码

字母编号 对应编码

出现频率

1 000 0.07

2 001 0.19

3 010 0.02

4 011 0.06

5 100 0.32

6 101 0.03

7 110 0.21 8

111

0.10

字母编号

对应编码

出现频率 1 1100 0.07 2 00 0.19 3 11110 0.02 4 1110 0.06 5 10 0.32 6 11111

0.03 7 01 0.21 8

1101

0.10

2、已知下列字符A、B、C、D、E、F、G 的权值分别为

3、12、7、

4、2、8,11,试填写出其对应哈夫曼树HT 的存储结构的初态和终态。 答案:

初态:

终态:

weight

parent

lchild rchild

1 3 8 0 0

2 12 12 0 0

3 7 10 0 0

4 4 9 0 0

5 2 8 0 0

6 8 10 0 0

7 11 11 0 0

8 5

9 5 1 9 9 11 4 8 10 15 12 3 6 11 20 13 9 7 12 27 13 2 10 13 47

11

12

weight parent lchild rchild 1 3 0 0 0 2 12 0 0 0 3 7 0 0 0 4 4 0 0 0 5 2 0 0 0 6 8 0 0 0 7 11 0 0 0 8 0 0 0 9 0 0 0 10 0 0 0 11 0 0 0 12 0 0 0 13

相关文档
最新文档