Fork me on GitHub
摘要: 1,什么是哈夫曼树? 2,如何构建哈夫曼树? 3,哈夫曼编码? 4,算法实现? 一,什么是哈夫曼树 什么是哈夫曼树呢? 哈夫曼树是一种带权路径长度最短的二叉树,也称为最优二叉树。下面用一幅图来说明。 它们的带权路径长度分别为: 图a: WPL=5*2+7*2+2*2+13*2=54 图b: WPL= 阅读全文
posted @ 2018-02-09 16:58 爱跑步的星仔 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 为什么要用树? 在有序数组中用二分查找法查找数据项很快,查找数据的时间为O(logN),但是插入数据项很慢,平均来讲要移动数组中一半的数据项。而在链表中插入和删除操作很快,但是查找必须从头开始,平均需要访问N/2个数据项。就这样,树产生了,既能像链表那样快速的插入和删除,又能像有序数组那样快速查找。 阅读全文
posted @ 2018-02-09 14:20 爱跑步的星仔 阅读(180) 评论(0) 推荐(0) 编辑