C++ 可更新的DAWG库或从未排序数据构建DAWG

C++ 可更新的DAWG库或从未排序数据构建DAWG,c++,nlp,trie,dawg,C++,Nlp,Trie,Dawg,dawgdic是一个很棒的DAWG库,但它有一个明显的缺点,因为它是静态的(不可更新),并且必须以按字母顺序排序的字符串形式构造。如果构建DAWG的原始数据很大(几GB),则初始构建DAWG时需要对大量字符串进行排序,这可能需要太多资源 是否有一个库提供了一个高效的内存结构,如dawgdic,它允许从未排序的字典进行构造 目前,我认为没有任何库允许从未排序的词典中构造DAWG 但是,经过大量的搜索,我找到了这篇论文,我想它正是你想要的。也许你可以在阅读完这篇文章后建立自己的图书馆,并与大家分享

dawgdic
是一个很棒的DAWG库,但它有一个明显的缺点,因为它是静态的(不可更新),并且必须以按字母顺序排序的字符串形式构造。如果构建DAWG的原始数据很大(几GB),则初始构建DAWG时需要对大量字符串进行排序,这可能需要太多资源


是否有一个库提供了一个高效的内存结构,如
dawgdic
,它允许从未排序的字典进行构造

目前,我认为没有任何库允许从未排序的词典中构造DAWG

但是,经过大量的搜索,我找到了这篇论文,我想它正是你想要的。也许你可以在阅读完这篇文章后建立自己的图书馆,并与大家分享


编辑:您看过吗?

目前,我认为没有任何库允许从未排序的词典构建DAWG

但是,经过大量的搜索,我找到了这篇论文,我想它正是你想要的。也许你可以在阅读完这篇文章后建立自己的图书馆,并与大家分享


编辑:你看过吗?

我发现了一些很棒的库,它们允许从未排序的数据进行在线构建,尽管它们不是基于DAWG:

  • -非常快速的双阵列trie
  • -一个非常节省空间的字符串匹配库

  • 我发现了一些很棒的库,它们允许从未排序的数据进行在线构建,尽管它们不是基于DAWG:

  • -非常快速的双阵列trie
  • -一个非常节省空间的字符串匹配库

  • 我目前不知道一个支持无结构数据的DAWG的C++实现,但是如果您愿意创建具有这样一个特性的自己的解决方案,那就是一篇文章,它基本上列出了它背后的算法。 或者,如果您对从其他语言移植解决方案持开放态度,那么值得一试数据结构的Java实现。它支持动态添加字符串和删除字符串,这正是您需要的。代码也很容易理解,并且有大量注释,因此移植它应该是一项相当简单的任务


    不存在声明:我是MDAG:(<):

    < P>我目前不知道一个支持无结构数据的DWG的C++实现,但是如果您愿意创建具有这样一个特性的自己的解决方案,那就是一篇文章,它基本上列出了它背后的算法。 或者,如果您对从其他语言移植解决方案持开放态度,那么值得一试数据结构的Java实现。它支持动态添加字符串和删除字符串,这正是您需要的。代码也很容易理解,并且有大量注释,因此移植它应该是一项相当简单的任务


    免责声明:我是MDAG:)的作者。

    谢谢你的论文,尽管我可能没有时间写我自己的图书馆。谢谢你的论文,尽管我可能没有时间写我自己的图书馆。