信息论之哈夫曼编码

本文通过一个通信背景的视角,探讨了数据结构中的哈夫曼编码。作者在学习信息论信源编码的过程中,实践构建哈夫曼树,并分享了代码实现,强调了数据结构在通信中的关键作用。代码实现中,使用结构体数组来构建和回溯哈夫曼树,通过不断合并权重最小的节点来逐步构建编码。
摘要由CSDN通过智能技术生成


本为通信屌丝,实验仿真愈发深入,愈发感觉数据结构重要性。

借学习信息论信源编码之哈夫曼编码实验之时,练习一下哈夫曼树的构建,如有错误,还请指出

ps:限于本人英文水平,注释中英混杂,大家凑合看把=。=

-----------------------------------------------------------------萌萌的分割线-----------------------------------------------------------------------------------


/*这里先贴上代码及其注释,日后用信息论知识进行阐述*/


代码实现思路:定义树的节点结构体root;将每次输入的数据用root*的结构体指针数组F(用于构建哈夫曼树),F1(用于回溯)保存起来;

                         对F每轮排序,找出权重(frequency)最小的两个结构体剔除,并将他们的frequency相加赋值给他们的父节点,父节

                         点的孩节点指向他们俩,然后将父节添加到F里面,进行下一轮循环;

/**************************************************************************
Copyright:Doge
Author: Doge
Date:2016-11-26
Description:Create a Huffman Tree to do Huffman Code; 
******************************************
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值