追加200分!!数据结构的简单问题

王朝知道·作者佚名  2010-12-13
窄屏简体版  字體: |||超大  
 
分類: 電腦/網絡 >> 程序設計 >> 其他編程語言
 
問題描述:

请将答案发到我的邮箱里zyg314126@yahoo.com.cn

我将对最满意的追加200分,截至18号中午12点

以下是题目:

假设用于通信的电文由字符集{a,b,c,d,e,f,g}中的字母构成,这8个字母在电文中出现的概率分别为{0.07,0.19,0.02,0.06,0.32,0.03,0.21,0.10}

(1)设计该8个字母的哈夫曼编码(要求写明求解过程)

(2)计算对应哈夫曼树的WPL值(要求写明求解过程)

已知一组关键字为(16,02,20,14,55,21,83,24,61,17,118,756),若按哈希函数H(key)=keyMOD13和链地址法处理冲突,写出构造的哈希表。

针对关键字序列(751,222,57,129,97,86,42,94,076,48),要求:(1)写出执行链式基数排序的过程(排列顺序从小到大)(2)写出快速排序过程(3)将该序列建立一个大顶堆

參考答案:

(1)

0.90

0.37 0.53

0.18 0.19b 0.21g 0.32e

0.07a 0.11

0.05 0.06d

0.02c 0.03f

wpl=(c+f)*5+d*4+a*3+(b+f+e)*2=2.14

(2)

0

1->118->14

2->756->27

3->55->16

4->17

5->83

6->^

7->20

8->21

9->61

10->^

11->24

12->^

(3)

1. 751 222 57 129 97 86 42 94 076 48

e[0] e[1] e[2] e[3] e[4] e[5] e[6] e[7] e[8] e[9]

751 42 94 076 97 48 129

222 086 57

f[0] f[1] f[2] f[3] f[4] f[5] f[6] f[7] f[8] f[9](对头)

751 222 42 94 086 076 57 97 48 129

(上面是对个位)

同理对十位排序:

129 48 57 97

222 42 751 076 86 94

222 129 42 48 751 076 86 94 97

百位:

097

094

086

076

057

048

042 129 222 751

(百位:)

42 48 57 76 86 94 97 129 222 751

2.快速排序 (以第一个数为主)

751 222 57 129 97 86 42 94 076 48

第一次:(751找正确位置)

48 222 57 129 97 86 42 94 076 751

第二次:(222找正确位置)

48 57 129 97 86 42 94 76 222 751

第三次:(48)

42 48 129 97 86 57 94 76 222 751

第五次:129

42 48 76 57 86 94 97 129 222 751

第六次:76

42 48 57 76 86 94 97 129 222 751

3.(按照1.2.3.....写成二叉树)

751

222 57

129 97 80 42

94 76 48

排一下就ok:

751

222 80

129 97 57 42

94 76 48

小贴士:① 若网友所发内容与教科书相悖,请以教科书为准;② 若网友所发内容与科学常识、官方权威机构相悖,请以后者为准;③ 若网友所发内容不正确或者违背公序良俗,右下举报/纠错。
 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航