新建
上传
首页
助手
最?/div>
资料?/div>
工具

?/p>

题目:哈夫曼?/p>

/

译码?/p>

 

 

班级?/p>

 

 

姓名?/p>

 

 

 

学号?/p>

 

 

 

完成日期?/p>

15.11.14

 

 

 

一、题目要?/p>

 

 

描述?/p>

 

 

 

写一个哈夫曼码的?/p>

/

译码系统?/p>

要求能对要传输的报文进行编码和解码?/p>

构造哈

夫曼树时,权值小的放左子树,权值大的放右子树,编码时右子树编码?/p>

1

,左子树编码?/p>

0.

 

输入?/p>

 

 

 

输入表示字符集大小为

n

?/p>

n <= 100

)的正整数,以及

n

个字符和

n

个权值(正整

数,值越大表示该字符出现的概率越大)

?/p>

 

 

 

 

 

 

 

 

 

 

输入串长小于或等?/p>

100

的目标报文?/p>

 

输出?/p>

 

 

 

经过编码后的二进制码,占一行;

 

以及对应解码后的报文,占一行;

 

最后输出一个回车符?/p>

 

输入样例?/p>

 

 

 

5 a b c d e 12 40 15 8 25

 

bbbaddeccbbb

 

输出样例?/p>

 

00011111110111010110110000

 

bbbaddeccbbb

 

提示?/p>

 

 

 

利用编码前缀性质?/p>

 

 

 

二、概要设?/p>

 

 

1.

设计需要的数据结构:树型结?/p>

 

 

2.

需要的抽象数据类型?/p>

 

ADT Tree{ 

 

 

数据对象

D

?/p>

D

是具有相同特性的数据元素的集合?/p>

 

数据关系

R

:若

D

为空集,则称为空树;

 

?/p>

D

仅含有一个数据元素,?/p>

R

为空集,否则

R={H}

?/p>

H

是如下二元关系:

 

(1) 

?/p>

D

中存在唯一的称为根的数据元?/p>

root

,它在关?/p>

H

下无前驱?/p>

 

(2) 

?/p>

D

-

{root}

?/p>

NULL

?/p>

则存?/p>

D

-

{root}

的一个划?/p>

D1,D2,D3,

?/p>

,Dm(m>0)

?/p>

对于任意

j

?/p>

k(

?/p>

j,k

?/p>

m)

?/p>

Dj

?/p>

Dk=NULL,

且对任意?/p>

i(1

?/p>

i

?/p>

m)

,唯一存在数据元素

xi

?/p>

Di

?/p>

<root,xi>

?/p>

H; 

 

 

(3) 

对应?/p>

D

-

{root}

的划分,

H

-

{<root,xi>,

?/p>

,<root,xm>}

有唯一的一个划?/p>

H1

?/p>

H2,

?/p>

,Hm(m>0)

?/p>

 

对任?/p>

j

?/p>

k(1

?/p>

j,k

?/p>

m)

?/p>

Hj

?/p>

Hk=NULL

?/p>

且对任意

i(1

?/p>

i

?/p>

m),Hi

?/p>

Di

上的二元关系?/p>

(Di,{Hi})

 

是一棵符合本定义的树,称为根

root

的子树?/p>

 

 

基本操作?/p>

 

InitTree(&T); 

 

 

操作结果:构造空?/p>

T

?/p>

 

Ͼλ
新建
上传
首页
助手
最?/div>
资料?/div>
工具

?/p>

题目:哈夫曼?/p>

/

译码?/p>

 

 

班级?/p>

 

 

姓名?/p>

 

 

 

学号?/p>

 

 

 

完成日期?/p>

15.11.14

 

 

 

一、题目要?/p>

 

 

描述?/p>

 

 

 

写一个哈夫曼码的?/p>

/

译码系统?/p>

要求能对要传输的报文进行编码和解码?/p>

构造哈

夫曼树时,权值小的放左子树,权值大的放右子树,编码时右子树编码?/p>

1

,左子树编码?/p>

0.

 

输入?/p>

 

 

 

输入表示字符集大小为

n

?/p>

n <= 100

)的正整数,以及

n

个字符和

n

个权值(正整

数,值越大表示该字符出现的概率越大)

?/p>

 

 

 

 

 

 

 

 

 

 

输入串长小于或等?/p>

100

的目标报文?/p>

 

输出?/p>

 

 

 

经过编码后的二进制码,占一行;

 

以及对应解码后的报文,占一行;

 

最后输出一个回车符?/p>

 

输入样例?/p>

 

 

 

5 a b c d e 12 40 15 8 25

 

bbbaddeccbbb

 

输出样例?/p>

 

00011111110111010110110000

 

bbbaddeccbbb

 

提示?/p>

 

 

 

利用编码前缀性质?/p>

 

 

 

二、概要设?/p>

 

 

1.

设计需要的数据结构:树型结?/p>

 

 

2.

需要的抽象数据类型?/p>

 

ADT Tree{ 

 

 

数据对象

D

?/p>

D

是具有相同特性的数据元素的集合?/p>

 

数据关系

R

:若

D

为空集,则称为空树;

 

?/p>

D

仅含有一个数据元素,?/p>

R

为空集,否则

R={H}

?/p>

H

是如下二元关系:

 

(1) 

?/p>

D

中存在唯一的称为根的数据元?/p>

root

,它在关?/p>

H

下无前驱?/p>

 

(2) 

?/p>

D

-

{root}

?/p>

NULL

?/p>

则存?/p>

D

-

{root}

的一个划?/p>

D1,D2,D3,

?/p>

,Dm(m>0)

?/p>

对于任意

j

?/p>

k(

?/p>

j,k

?/p>

m)

?/p>

Dj

?/p>

Dk=NULL,

且对任意?/p>

i(1

?/p>

i

?/p>

m)

,唯一存在数据元素

xi

?/p>

Di

?/p>

<root,xi>

?/p>

H; 

 

 

(3) 

对应?/p>

D

-

{root}

的划分,

H

-

{<root,xi>,

?/p>

,<root,xm>}

有唯一的一个划?/p>

H1

?/p>

H2,

?/p>

,Hm(m>0)

?/p>

 

对任?/p>

j

?/p>

k(1

?/p>

j,k

?/p>

m)

?/p>

Hj

?/p>

Hk=NULL

?/p>

且对任意

i(1

?/p>

i

?/p>

m),Hi

?/p>

Di

上的二元关系?/p>

(Di,{Hi})

 

是一棵符合本定义的树,称为根

root

的子树?/p>

 

 

基本操作?/p>

 

InitTree(&T); 

 

 

操作结果:构造空?/p>

T

?/p>

 

">
新建
上传
首页
助手
最?/div>
资料?/div>
工具

?/p>

题目:哈夫曼?/p>

/

译码?/p>

 

 

班级?/p>

 

 

姓名?/p>

 

 

 

学号?/p>

 

 

 

完成日期?/p>

15.11.14

 

 

 

一、题目要?/p>

 

 

描述?/p>

 

 

 

写一个哈夫曼码的?/p>

/

译码系统?/p>

要求能对要传输的报文进行编码和解码?/p>

构造哈

夫曼树时,权值小的放左子树,权值大的放右子树,编码时右子树编码?/p>

1

,左子树编码?/p>

0.

 

输入?/p>

 

 

 

输入表示字符集大小为

n

?/p>

n <= 100

)的正整数,以及

n

个字符和

n

个权值(正整

数,值越大表示该字符出现的概率越大)

?/p>

 

 

 

 

 

 

 

 

 

 

输入串长小于或等?/p>

100

的目标报文?/p>

 

输出?/p>

 

 

 

经过编码后的二进制码,占一行;

 

以及对应解码后的报文,占一行;

 

最后输出一个回车符?/p>

 

输入样例?/p>

 

 

 

5 a b c d e 12 40 15 8 25

 

bbbaddeccbbb

 

输出样例?/p>

 

00011111110111010110110000

 

bbbaddeccbbb

 

提示?/p>

 

 

 

利用编码前缀性质?/p>

 

 

 

二、概要设?/p>

 

 

1.

设计需要的数据结构:树型结?/p>

 

 

2.

需要的抽象数据类型?/p>

 

ADT Tree{ 

 

 

数据对象

D

?/p>

D

是具有相同特性的数据元素的集合?/p>

 

数据关系

R

:若

D

为空集,则称为空树;

 

?/p>

D

仅含有一个数据元素,?/p>

R

为空集,否则

R={H}

?/p>

H

是如下二元关系:

 

(1) 

?/p>

D

中存在唯一的称为根的数据元?/p>

root

,它在关?/p>

H

下无前驱?/p>

 

(2) 

?/p>

D

-

{root}

?/p>

NULL

?/p>

则存?/p>

D

-

{root}

的一个划?/p>

D1,D2,D3,

?/p>

,Dm(m>0)

?/p>

对于任意

j

?/p>

k(

?/p>

j,k

?/p>

m)

?/p>

Dj

?/p>

Dk=NULL,

且对任意?/p>

i(1

?/p>

i

?/p>

m)

,唯一存在数据元素

xi

?/p>

Di

?/p>

<root,xi>

?/p>

H; 

 

 

(3) 

对应?/p>

D

-

{root}

的划分,

H

-

{<root,xi>,

?/p>

,<root,xm>}

有唯一的一个划?/p>

H1

?/p>

H2,

?/p>

,Hm(m>0)

?/p>

 

对任?/p>

j

?/p>

k(1

?/p>

j,k

?/p>

m)

?/p>

Hj

?/p>

Hk=NULL

?/p>

且对任意

i(1

?/p>

i

?/p>

m),Hi

?/p>

Di

上的二元关系?/p>

(Di,{Hi})

 

是一棵符合本定义的树,称为根

root

的子树?/p>

 

 

基本操作?/p>

 

InitTree(&T); 

 

 

操作结果:构造空?/p>

T

?/p>

 

Ͼλ">
Ͼλ
Ŀ

数据结构实验三实验报?- 百度文库
新建
上传
首页
助手
最?/div>
资料?/div>
工具

?/p>

题目:哈夫曼?/p>

/

译码?/p>

 

 

班级?/p>

 

 

姓名?/p>

 

 

 

学号?/p>

 

 

 

完成日期?/p>

15.11.14

 

 

 

一、题目要?/p>

 

 

描述?/p>

 

 

 

写一个哈夫曼码的?/p>

/

译码系统?/p>

要求能对要传输的报文进行编码和解码?/p>

构造哈

夫曼树时,权值小的放左子树,权值大的放右子树,编码时右子树编码?/p>

1

,左子树编码?/p>

0.

 

输入?/p>

 

 

 

输入表示字符集大小为

n

?/p>

n <= 100

)的正整数,以及

n

个字符和

n

个权值(正整

数,值越大表示该字符出现的概率越大)

?/p>

 

 

 

 

 

 

 

 

 

 

输入串长小于或等?/p>

100

的目标报文?/p>

 

输出?/p>

 

 

 

经过编码后的二进制码,占一行;

 

以及对应解码后的报文,占一行;

 

最后输出一个回车符?/p>

 

输入样例?/p>

 

 

 

5 a b c d e 12 40 15 8 25

 

bbbaddeccbbb

 

输出样例?/p>

 

00011111110111010110110000

 

bbbaddeccbbb

 

提示?/p>

 

 

 

利用编码前缀性质?/p>

 

 

 

二、概要设?/p>

 

 

1.

设计需要的数据结构:树型结?/p>

 

 

2.

需要的抽象数据类型?/p>

 

ADT Tree{ 

 

 

数据对象

D

?/p>

D

是具有相同特性的数据元素的集合?/p>

 

数据关系

R

:若

D

为空集,则称为空树;

 

?/p>

D

仅含有一个数据元素,?/p>

R

为空集,否则

R={H}

?/p>

H

是如下二元关系:

 

(1) 

?/p>

D

中存在唯一的称为根的数据元?/p>

root

,它在关?/p>

H

下无前驱?/p>

 

(2) 

?/p>

D

-

{root}

?/p>

NULL

?/p>

则存?/p>

D

-

{root}

的一个划?/p>

D1,D2,D3,

?/p>

,Dm(m>0)

?/p>

对于任意

j

?/p>

k(

?/p>

j,k

?/p>

m)

?/p>

Dj

?/p>

Dk=NULL,

且对任意?/p>

i(1

?/p>

i

?/p>

m)

,唯一存在数据元素

xi

?/p>

Di

?/p>

<root,xi>

?/p>

H; 

 

 

(3) 

对应?/p>

D

-

{root}

的划分,

H

-

{<root,xi>,

?/p>

,<root,xm>}

有唯一的一个划?/p>

H1

?/p>

H2,

?/p>

,Hm(m>0)

?/p>

 

对任?/p>

j

?/p>

k(1

?/p>

j,k

?/p>

m)

?/p>

Hj

?/p>

Hk=NULL

?/p>

且对任意

i(1

?/p>

i

?/p>

m),Hi

?/p>

Di

上的二元关系?/p>

(Di,{Hi})

 

是一棵符合本定义的树,称为根

root

的子树?/p>

 

 

基本操作?/p>

 

InitTree(&T); 

 

 

操作结果:构造空?/p>

T

?/p>

 



ļ׺.doc޸Ϊ.docĶ

  • 嵯ķչſǰ
  • 16Ͻйͨ豸ҵ2
  • ѧƷ ҵȺ
  • ݰ꼶ϲۺʵ̰ȫ
  • ̲ϱʼص
  • 42ƷƼ(Ⱥ)
  • ʾ÷ο
  • 20XXݿԭӦáʵ鱨
  • ղ-ԭҩƷϢѯ
  • 2018Сѧ꼶һ()

վ

԰ Ͼλ
ϵͷ779662525#qq.com(#滻Ϊ@)