数据结构
leo_fengj
博观约取,厚积薄发
展开
-
数据结构之字典树
Tire Tree,又名字典树,是一种树形结构。常用于统计、排序和保存大量的字符串,比如说,在自然语言处理中,常用来统计词频。优点是查询效率高。 Trie Tree 具有以下三个性质: 1. 根节点不包含字符,除根节点意外每个节点只包含一个字符; 2. 从根节点到某一个节点,路径上经过的字符连接起来,为该节点对应的字符串; 3. 每个节点的所有子节点包含的字符串不相同。 Tire Tree原创 2017-07-02 18:34:55 · 309 阅读 · 0 评论 -
数据结构之三分搜索树
上一篇博文介绍了字典树(Tire Tree),它的结构简单、实现也很容易,但是,它也有自己的缺点,就是空间效率低,占用内存大。英文有26个字母,每个节点保存26个指向字母的指针(其中很大部分会是空指针),全部存下要262626^{26},占用空间之大可想而知。中文的汉字有5万多,要是存储起来,内存耗用会更加严重,以至于不可行。所以需要考虑用另外一种数据结构来进行存储,三分搜索树(ternary se原创 2017-07-02 18:37:25 · 1537 阅读 · 0 评论 -
数据结构之kd树
最近又把机器学习中最近邻算法看了下,为了能够让算法更有效率,提到了用 KD 树来存储数据信息,所以就学习了 kd 树。 kd 树(K-dimensional tree)是一种对k维空间的实例点进行存储以便对其进行快速检索的属性数据结构。kd 树是二叉树,表示对 k 维空间的一个划分。构造 kd 树相当于不断地用垂直于坐标轴的超平面将 k 维空间切分,构造一系列的 k 维超矩形区域。很适合应用于高原创 2017-07-02 18:38:59 · 1481 阅读 · 0 评论