第一部分:跳跃表
本文将总结一种数据结构:跳跃表。前半部分跳跃表性质和操作的介绍直接摘自《让算法的效率跳起来--浅谈“跳跃表”的相关操作及其应用》上海市华东师范大学第二附属中学 魏冉。之后将附上跳跃表的源代码,以及本人对其的了解。难免有错误之处,希望指正,共同进步。谢谢。
跳跃表(Skip List)是1987年才诞生的一种崭新的数据结构,它在进行查找、插入、删除等操作时的期望...
分类:
其他好文 时间:
2014-09-14 23:46:08
阅读次数:
1323
Trie树,又称字典树,单词查找树。它来源于retrieval(检索)中取中间四个字符构成的。用于存储大量的字符串以便支持快速模式匹配。主要应用在信息检索领域。 Trie有三种结构:标准Trie(standard trie),压缩Trie,后缀Trie(suffix trie)。 1、标准Trie ...
分类:
其他好文 时间:
2014-09-14 14:06:37
阅读次数:
242
Trie 树,又称字典树,单词查找树。它来源于retrieval(检索)中取中间四个字符构成(读音同try)。用于存储大量的字符串以便支持快速模式匹配。主要应用在信息检索领域。Trie 有三种结构: 标准trie (standard trie)、压缩trie、后缀trie(suffix trie)。...
分类:
其他好文 时间:
2014-09-05 09:56:01
阅读次数:
197
Trie树:应用于统计、排序和搜索
1. trie树定义
1.Trie树 (特例结构树)
Trie树,又称单词查找树、字典树,是一种树形结构,是一种哈希树的变种,是一种用于快速检索的多叉树结构。典型应用是用于统计和排序大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:最大限度地减少无谓的字符串比较,查询效率比哈希表高。...
分类:
其他好文 时间:
2014-09-04 09:48:08
阅读次数:
270
charstr[]="mybeautifulteacheris";unsignedlonginta=0;//长整型变量a=strlen(str);intcount=0,max=0;for(inti=0;i<a;i++){if(str[i]!=‘‘){count++;continue;}max=count>max?count:max;count=0;}printf("%d\n",max);//求最大值printf("最长单词为:");for(inti=0;i<a;i..
分类:
其他好文 时间:
2014-08-15 10:53:29
阅读次数:
210
在一个文件中查找指定单词所在的行,简单实现了,没有进行异常处理;#include#includeint main(){ int maxword=1024; int i=0; char word[50]; char line[maxword]; FILE *fp=fopen("a.txt","r");...
分类:
其他好文 时间:
2014-08-13 00:43:54
阅读次数:
211
字典树 (解析加模版)
分类: ACM2012-07-06
12:24 204人阅读 评论(0) 收藏 举报
字典树:又叫trie树,单词查找树。是一种树形结构,典型的用于统计。经常用于统计一片文章当中出现确定的单词的次数,它的优点就在于:省略了相同前缀的比较。以下图为例:用单词carbohy,carhure,english,englnee来构造的tri...
分类:
其他好文 时间:
2014-08-10 18:49:10
阅读次数:
222
定义:又称字典树,单词查找树或者前缀树,是一种用于快速检索的多叉树结构,
如英文字母的字典树是一个26叉树,数字的字典树是一个10叉树。
核心思想:是空间换时间.利用字符串的公共前缀来降低查询时间的开销以达到提高效率的目的。
三个基本性质:
1. 根结点不包含字符,除根结点外每一个结点都只包含一个字符。
2. 从根结点到某一结点,路径上经过的字符连接起来,为该结点对应...
分类:
其他好文 时间:
2014-08-04 17:46:47
阅读次数:
231
定义:又称字典树,单词查找树或者前缀树,是一种用于快速检索的多叉树结构,如英文字母的字典树是一个26叉树,数字的字典树是一个10叉树。核心思想:是空间换时间.利用字符串的公共前缀来降低查询时间的开销以达到提高效率的目的。三个基本性质:1.根结点不包含字符,除根结点外每一个结点都只包含一个字符。2.从...
分类:
其他好文 时间:
2014-08-04 17:29:27
阅读次数:
239
翻译火星语,不过火星语也是使用英文单词的,就是把一个单词对应到另外一个单词。
可以使用map, 使用二分,方法很多。
不过最快的应该都是Trie解法了。
把火星语挂在Trie树中,然后在叶子节点增加一个string容器,装英语单词。
查找的时候,找到了出现在Trie中的火星语,就返回string就可以了。
#include
#include
#include
using n...
分类:
其他好文 时间:
2014-08-04 11:02:47
阅读次数:
234