词向量: 无论是一段话或是一篇文章,词都是最基本的组成单位。 如何让计算机利用这些词? 重点是如何把一个词转换成一个想向量 如果在一个二维空间中,had,has,have意思相同,所以要离的比较近。 need,help也是离的比较近 要表现出相同,相关。 比如说下面的例子: 哪些词离青蛙frog比较 ...
分类:
其他好文 时间:
2018-10-20 00:48:20
阅读次数:
347
前天acm实验课,老师教了几种排序,抓的一套题上有一个哈夫曼树的题,正好之前离散数学也讲过哈夫曼树,这里我就结合课本,写一篇关于哈夫曼树的博客。 哈夫曼树的介绍 Huffman Tree,中文名是哈夫曼树或霍夫曼树,它是最优二叉树。 定义:给定n个权值作为n个叶子结点,构造一棵二叉树,若树的带权路径 ...
分类:
其他好文 时间:
2018-10-13 16:47:49
阅读次数:
189
哈夫曼树的介绍 Huffman Tree,中文名是哈夫曼树或霍夫曼树,它是最优二叉树。 定义:给定n个权值作为n个叶子结点,构造一棵二叉树,若树的带权路径长度达到最小,则这棵树被称为哈夫曼树。 这个定义里面涉及到了几个陌生的概念,下面就是一颗哈夫曼树,我们来看图解答。 (01) 路径和路径长度 定义 ...
分类:
编程语言 时间:
2018-10-08 20:38:54
阅读次数:
173
构造哈夫曼树class HuffmanNode implements Comparable {private int value;private HuffmanNode left;// private HuffmanNode right;//// public HuffmanNode(int val ...
分类:
其他好文 时间:
2018-10-05 18:51:36
阅读次数:
141
思路: 1. 构建小根堆 2. 根据小根堆实现哈夫曼树 3. 根据哈夫曼树对数据进行编码 代码实现如下: " 不使用优先级队列,自己手动实现小根堆 " ...
分类:
编程语言 时间:
2018-09-27 22:14:53
阅读次数:
241
哈夫曼树介绍 哈夫曼树又称最优二叉树,是一种带权路径长度最短的二叉树。所谓树的带权路径长度,就是树中所有的叶结点的权值乘上其到根结点的路径长度(若根结点为0层,叶结点到根结点的路径长度为叶结点的层数)。树的带权路径长度记为WPL=(W1*L1+W2*L2+W3*L3+...+ Wn*Ln),N个权值 ...
分类:
其他好文 时间:
2018-09-23 13:43:29
阅读次数:
220
最近可能又是闲着没事干了,就想做点东西,想着还没用JAVA弄过数据结构,之前搞过算法,就试着写写哈夫曼压缩了。 本以为半天就能写出来,结果,踩了无数坑,花了整整两天时间!!orz。。。不过这次踩坑,算是又了解了不少东西,更觉得在开发中学习是最快的了。 话不多说,进入正题 首先先来讲讲哈夫曼树 哈夫曼 ...
分类:
编程语言 时间:
2018-09-16 15:24:01
阅读次数:
227
带权路径最小的二叉树称为最优二叉树,也称哈夫曼树。 节点合并:每次都是选取最小权值的二叉树进行合并,因此使用的是贪婪算法! ...
分类:
编程语言 时间:
2018-09-13 16:29:30
阅读次数:
129
哈夫曼树(最优二叉树) 每个叶子节点都有权值,权值越大的叶节点越靠近根节点,而权值越小的叶节点越远离根节点 建立规则: 依据给出的n个权值,选择最小的两个权值作为一棵新的二叉树的左右子树,并且新的根节点的权值为左右子树权值之和 将新根节点与剩下的有权值的节点重复此操作直至只剩一个根节点 哈夫曼编码: ...
分类:
其他好文 时间:
2018-08-24 20:40:45
阅读次数:
172
机试指南 cha3 哈夫曼 机试指南 cha3 哈夫曼 自己写了一版代码+数据结构书上的标准代码 自己写了一版代码+数据结构书上的标准代码 1 #include <iostream> 2 #include <string.h> 3 #include <stdio.h> 4 #include <std ...
分类:
其他好文 时间:
2018-08-21 10:41:10
阅读次数:
218