深度学习/机器视觉/数字IC/FPGA/算法手撕代码目录总汇
目录
1.哈夫曼树算法
哈夫曼树算法是一种用于数据压缩的方法,也可以用于最优前缀编码。具体步骤如下:
- 初始化:由给定的权值构造n棵只有一个根节点的二叉树,得到一个二叉树集合F。
- 选取与合并:从二叉树集合F中选取根节点权值最小的两棵二叉树分别作为左右子树构造一棵新的二叉树,这棵新二叉树的根节点的权值为其左、右子树根结点的权值和。
- 删除与加入:从F中删除作为左、右子树的两棵二叉树,并将新建立的二叉树加入到F中。
- 重复步骤2和步骤3,当集合中只剩下一棵二叉树时,这棵二叉树就是霍夫曼树。