哈夫曼树处理这样的一种问题: 给出一棵n个叶子的k叉树,每个叶子有一个权值wi,要求最小化∑wi*di di表示,第i个叶子节点到根节点的距离。(一般是边数) 处理方法比较固定。 贪心的思路:我们让权值较大的叶子节点 的深度越小越好。 建立一个小根堆。 1.插入n个叶子的权值。 2.每次取出最小的k ...
分类:
其他好文 时间:
2018-07-31 22:08:13
阅读次数:
166
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1053 Entropy Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Subm ...
分类:
其他好文 时间:
2018-07-31 19:24:29
阅读次数:
153
二叉树(Binary Tree) 数据结构 public class BinaryTreeNode { E val; BinaryTreeNode left = null; BinaryTreeNode right = null; BinaryTreeNode(E val){ this.val = ...
分类:
其他好文 时间:
2018-07-26 16:24:29
阅读次数:
128
串,表,队,栈,KMP。 二叉树,遍历,哈夫曼。 图,DFS,BFS。 最短路径,最小生成树,拓扑排序。 树表的查找,散列表的查找。 线性表查找 排序,内部,外部。、 next为1加前面后缀个数 树 (1)二叉树性质 1.节点总数为叶子加度为2加度为1 2.叶子为度2加1 图 (1)基本知识 1.储 ...
分类:
其他好文 时间:
2018-07-22 20:54:40
阅读次数:
145
主要参考: word2vec 中的数学原理详解 自己动手写 word2vec 编码的话,根是不记录在编码中的 这一篇主要讲的就是霍夫曼树(最优二叉树)和编码。 参考 快速画出哈夫曼树 / 霍夫曼树 / 最优树 了解其构成。 哈夫曼树及 python 实现 python 代码 构建霍夫曼树 ,获得霍夫 ...
分类:
其他好文 时间:
2018-07-18 00:33:27
阅读次数:
300
(一)基本算法 : 1.枚举 2.搜索: 深度优先搜索 广度优先搜索 启发式搜索 遗传算法 (二)数据结构的算法 (三)数论与代数算法 (四)计算几何的算法:求凸包 (五)图论 算法: 1.哈夫曼编码 2.树的遍历 3.最短路径 算法 4.最小生成树 算法 5.最小树形图 6.网络流 算法 7.匹配 ...
分类:
编程语言 时间:
2018-07-17 22:14:32
阅读次数:
198
when? what? why? how? why 为什么会出现哈夫曼树? what 哈夫曼树有什么用? 什么是哈夫曼树? 哈夫曼树的特点是啥? how 如何创建哈夫曼树? 为什么会出现哈夫曼树? 效率 !!! 比如一所高中有1000个同学进行了一次考试(总分100),现在需要将每个成绩段转换为优、 ...
分类:
其他好文 时间:
2018-07-12 21:37:43
阅读次数:
174
时间复杂度的计算 1. 计算最坏情况下执行语句的次数(含有n) 2. 去掉常数项, 只保留最高项, 去掉系数 3. 最后的结果一般是1, logn, n, nlogn, n^2, 2^n, n!, n^n 4. 时间复杂度所消耗的时间的顺序是: O(1) 0) 1. 使用循环链表实现 2. 使用队列 ...
分类:
其他好文 时间:
2018-06-23 01:44:05
阅读次数:
174
何谓哈夫曼树?—— 百度百科:给定n个权值作为n个叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。 哈夫曼树的应用?—— 哈夫曼编码 与 哈夫曼译码。 哈夫曼树为基础的项 ...
分类:
其他好文 时间:
2018-06-20 00:50:34
阅读次数:
237
【题意】 改编哈夫曼树,限制从左到右字母的编码按字典序递增 【思路】 因为是二进制编码,所以是二叉树; 因为是前缀码,所以每个字母都是叶子结点,不可能是内结点; 因为要按字典序递增,所以只能是相邻的结点结合,且排在前面的在左边,排在后面的在右边; 具有最优子结构性质:考虑f[i,j],可以由f[i, ...
分类:
其他好文 时间:
2018-06-16 13:32:31
阅读次数:
131