IT培训机构|91免费精品视频|专注编程培训|91免费精品|软件开发培训_91免费国产视频_华清远见教育

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 講師博文 >
二叉樹的一個典型應用-哈夫曼樹一
時間:2018-08-16作者:華清遠見

哈夫曼樹是二叉樹的一個典型應用,利用哈夫曼樹,我們可以形成哈夫曼編碼,進而實現對數據的壓縮與解壓處理。

哈夫曼樹(Huffman Tree),又叫優二叉樹,指的是對于一組具有確定權值的葉子結點的具有小帶權路徑長度的二叉樹。

當中的幾個概念我們不得不說一下:

(1)路勁(Path):從樹中的一個結點到另一個結點之間的分支構成兩個結點間的路徑。

(2)路徑長度(Path Length):路徑上的分支樹。

(3)樹的路徑長度(Path Length of Tree):從樹的根結點到每個結點的路徑長度之和。在結點數目相同的二叉樹中,完全二叉樹的路徑長度短。

(4)結點的權(Weight of Node):在一些應用中,賦予樹中結點的一個有實際意義的樹。

(5)結點的帶權路徑長度(Weight Path Length of Node):從該結點到樹的根結點的路徑長度與該結點的權的乘積。

(6)樹的帶權路徑長度(WPL):樹中所有葉子結點的帶權路徑長度之和

在下圖所示的四棵二叉樹,都有4個葉子結點,其權值分別1、2、3、4,他們的帶權路徑長度分別為:

(a)WPL = 1 x 2 + 2 x 2 + 3 x 2 + 4 X 2 = 20

(b)WPL = 1 x 1 + 2 x 2 + 3 x 3 + 4 x 3 = 28

(c)WPL = 1 x 3 + 2 x 3 + 3 x 2 + 4 x 1 = 19

(d)WPL = 2 x 1 + 1 x 2 + 3 x 3 + 4 x 3 = 29

其中,(c)圖所示的二叉樹的帶權路徑長度小,這棵樹就是哈夫曼樹。可以驗證,哈夫曼樹的帶權路徑長度小。

那么我們應該如何構建一個哈夫曼樹呢?其實并不復雜:

1)首先構建一個葉子節點集合,這里我用鏈表來表示,每個節點在插入到鏈表中時是按照權值由小到大順序插入的。

2)首先判斷當前集合節點的個數是否大于1,如果不大于,則程序結束,集合里的節點即為創建好的哈夫曼樹的根節點,如果大于1,則轉至3

3)取出集合中前兩個節點(取出后集合中已經刪除掉這兩個節點),由這兩個節點構建一顆新樹,新樹的權值為這兩個節點之和。權值較小的節點為新樹的左孩子,較大的節點為新樹的右孩子。

4)將新樹按權值由小到大的順序插入到集合中,轉至2。

實現代碼如下:

mytypes.h

bitree.h

bitree.c

linklist.h

linklist.c

main.c

makefile:


發表評論

全國咨詢電話:400-611-6270,雙休日及節假日請致電值班手機:15010390966

在線咨詢: 曹老師QQ(3337544669), 徐老師QQ(1462495461), 劉老師 QQ(3108687497)

企業培訓洽談專線:010-82600901,院校合作洽談專線:010-82600350,在線咨詢:QQ(248856300)

Copyright 2004-2018 華清遠見教育科技集團 版權所有 ,京ICP備16055225號,京公海網安備11010802025203號

主站蜘蛛池模板: 耐磨工业软管,PTFE耐腐蚀软管,耐磨喷砂胶管,超耐磨软管厂家,漯河利通液压管利通科技-耐磨工业软管,PTFE耐腐蚀软管,耐磨喷砂胶管,超耐磨软管厂家,漯河利通液压管利通科技 | 贴片磁胶电感_一体成型电感_贴片共模电感_广东精密龙电子科技有限公司 | 西安西玛电机销售,西安西玛电机有限公司(原泰富西玛西安电机厂) 西安西雷脉冲功率技术有限公司-高压调制器/加速器与脉冲功率系统的研发/生产/应用推广/高压脉冲电源的应用研究/设计/生产和销售/高功率脉冲器件/材料与仪器设备的研发/生产和销售/高电压/大电流/强磁场环境的模拟及测试服务/会议会展服务/货物及进出口的业务/脉冲功率技术领域类的技术转让 西安网站建设,西安网站设计制作,西安短视频拍摄_短视频运营就选动力无限网络推广公司 | 廊坊金星化工有限公司-钢套钢保温管厂家,玻璃钢缠绕保温管,镀锌铁皮保温管厂家,廊坊金星化工有限公司 | 学校洗碗机-郑州洗碗机厂家-商用洗碗机-郑州旭申环保科技有限公司 | 实验室实验台-钢木实验台-实验室通风柜-实验室家具-苏州奥纳威 | 拉丝模|高晶异形拉丝模|联合拉拔机模具|钼丝拉丝模|金刚石纳米涂层模|焊丝拉丝模|钨钢拉丝模|聚晶拉丝模_河北恩泰利嘉金属制品有限公司 | 项目可行性研究报告_稳评能评节能报告_节能报告收费标准-智汇中经(上海)管理咨询有限公司 | 陕西筱润智能科技有限公司 干部人事智能档案柜 智能密集架 智能档案柜 部队选层文件智能柜 智能枪弹柜 财务智能档案柜 边防武警智能密集架 医院智能档案柜 部队选层文件智能柜智能枪弹柜 学校医院文件柜 企事业单位公检法智能文件柜 生产厂家-筱润智能科技有限公司 RFID射频智能密集架 全自动智能选层档案柜 智能密保柜 枪柜部队营房营具床桌椅办公家具 办公用品档案盒设备货架 全自动智能选层柜生产厂家-筱润智能科技有限公司 | 液体灌装机-酱料灌装机-全自动灌装机-旋盖机-铝箔封口机-贴标机厂家-迈特威自动化设备(天津)有限公司" | 曲阜市好博医疗器械有限公司_手术无影灯厂家,电动手术台出售,妇科手术台价格 | 浙江欧诺机械有限公司| 万博瑞升(天津)科技有限公司-管道应力|管道振动|脉动|CAE,CFD 弯箍机_钢筋弯箍机_全自动钢筋弯箍机_数控弯箍机-建科智能装备制造(天津)股份有限公司 | 美林基业集团官网——美林基业,一生挚诚 | 济宁市泓世新型建材有限公司,山东ALC墙板,GRC轻质隔墙板,预制化粪池,复合墙板加工厂家 | 棕色土壤采样瓶,棕色小口水样采样瓶-上海迈隆科技有限公司 | 呼吸家官网|肺功能检测仪生产厂家|国产肺功能仪知名品牌|肺功能检测仪|肺功能测试仪|婴幼儿肺功能仪|弥散残气肺功能仪|肺功能测试系统|广州红象医疗科技有限公司|便携式肺功能仪|大肺功能仪|呼吸康复一体机|儿童肺功能仪|肺活量计|医用简易肺功能仪|呼吸康复系统|肺功能仪|弥散肺功能仪(大肺)|便携式肺功能检测仪|肺康复|呼吸肌力测定肺功能仪|肺功能测定仪|呼吸神经肌肉刺激仪|便携式肺功能 | 淘客联盟平台_网络电话系统-河南英邦软件科技有限公司官网 | 托普云农-数字农业综合服务商-官方网站 | 新乡市矿山起重机制造有限公司| 塔罗牌占卜在线预测 - 塔罗牌爱好者 | 深圳起重机,龙门吊,天车起重工程,电动葫芦,液压升降货梯-深圳市德力起重机械有限公司 | 呼吸家官网|肺功能检测仪生产厂家|国产肺功能仪知名品牌|肺功能检测仪|肺功能测试仪|婴幼儿肺功能仪|弥散残气肺功能仪|肺功能测试系统|广州红象医疗科技有限公司|便携式肺功能仪|大肺功能仪|呼吸康复一体机|儿童肺功能仪|肺活量计|医用简易肺功能仪|呼吸康复系统|肺功能仪|弥散肺功能仪(大肺)|便携式肺功能检测仪|肺康复|呼吸肌力测定肺功能仪|肺功能测定仪|呼吸神经肌肉刺激仪|便携式肺功能 | 武汉弹簧-污水厂弹簧-耐高温弹簧-武汉市伟锋弹簧厂 | 重庆风机_风阀_风口-重庆仁龙风机有限公司 | 平邑衡器厂--临沂衡器--电子汽车衡 -- 十佳知名品牌企业 | 逍遥安卓模拟器_安卓模拟器电脑版_安卓手游模拟器哪个好用_逍遥手机模拟器官网 | 远东齿轮泵|高粘度齿轮泵|三螺杆油泵|沥青保温泵|高粘度稠油泵-远东泵业官网 | 辽宁华宇设备安装有限公司--朝阳消防安装公司,朝阳机电安装公司,朝阳电力安装公司 | 小型生活污水处理设备_MBR膜生物反应器_口腔医院/脱脂污水处理设备_酸洗磷化/喷涂废水处理设备-上海台江环保 | 消防工程公司,消防工程承接公司-亿杰(北京)工程安装有限公司 | 江西蔬菜配送,南昌蔬菜配送,南昌食堂承包,江西饭堂承包-江西菜篮子农产品发展有限公司 | 上海品牌设计公司|品牌策划公司|包装设计公司|上海全案LOGO设计VI设计-木马品牌设计 | 上海机械网 机械 机械加工 金属加工 上海机械网 机械设备 上海机械 | 金酱酒_金酱酒代理加盟招商_OEM贴牌企业定制! – 金酱酒代理加盟!茅台镇较早的酿酒烧坊,年产优质酱香白酒5000余吨,仁怀市十强白酒企业,主营主品:金酱酒、金酱陈香酒、酱香老酒等系列品牌产品 | 三安光电股份有限公司| 沈阳资质代办_代办建筑资质「快」-【华廷元】沈阳代办公司首页- 沈阳机电一体化电热锅炉_沈阳蓄热式电锅炉_沈阳壁挂式电锅炉【沈阳远鹏电热供水设备工程安装有限公司】 | 铜陵耐火砖|铜陵耐火浇注料|铜陵耐火材料|铜陵市金钟物资经营部【官网】 | 清洁度检测_手动颗粒萃取设备_自动颗粒萃取设备 - 厦门迈纳光学技术有限公司 | 康复支具-医用颈托-辅助固定矫形器-骨折固定带生产厂家-安平县康信医疗器械有限公司 | 液压支架配件|液压支架立柱|液压支架千斤顶|液压支架换向阀|液压支架乳化油|液压支架密封件-山东卓力生产厂家 |