首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 服务器 > 云计算 >

【基础知识】应用Darts

2012-12-21 
【基础知识】使用DartsDarts是double array的一个c template实现。经过企业级大规模数据实践检验,其效率远高

【基础知识】使用Darts

Darts是double array的一个c++ template实现。经过企业级大规模数据实践检验,其效率远高于stl中的hash_set、hash_map等。

不过Darts是用c++ template实现的,初看起来,会被他的模版参数、以及函数参数等吓到,不知道怎么用。我这里写了个简单的小例子,来看一下它的使用。基本使用情景就是我有一个词表,将这个词表load到内存,转换成double array的形式,并来查询用户输入的字符串是否在当前词表当中。


贴代码。第一个函数,从文本文件中load词表,并据此构建双数组,再序列化到文件当中。

总结一下。可以看到,如果要用darts,必须要将现有的内容通过build函数构建双数组结构。在函数接口中,除了build函数,没有其他的函数能够增、删、改双数组的内容了。这说明这个工具适合用来存储资源,并提供访问接口。在效率上,个人经过大规模数据实践检验,darts效率远高于hash_set。


darts详细情况请参考上一篇转载的博文《Darts: Double-ARray Trie System》。


热点排行