【问题标题】:How to construct a DAWG from a trie?如何从 trie 构建 DAWG?
【发布时间】:2013-03-27 08:57:57
【问题描述】:

我只是为一个词汇表构造了一个trie,然后我发现有很多分支共享同一个结构。我想将它们组合在一起,结果是DAWG

我将使用什么算法将 trie 转换为 DAWG?

【问题讨论】:

  • @phs 有向无环词图。
  • @user1540043 你已经尝试了什么?
  • @maditya 尝试了一个包含近 10k 个单词的词汇,有很多单词共享 'ing'、'er'、... 后缀,我只是想将它们组合起来,然后尝试了成为一个有向无环词图。

标签: algorithm data-structures trie dawg


【解决方案1】:

将 trie 转换为 DAWG 的标准算法是将 trie 视为 deterministic finite automaton,然后将 trie 转换为 minimum-state DFA

执行这种转换的算法有很多。我最熟悉的算法是Hopcroft's algorithm,它通过查找可区分状态对并将不可区分状态组合在一起来工作。

希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-19
    • 1970-01-01
    • 2011-12-14
    • 2013-09-28
    • 2013-08-30
    • 1970-01-01
    • 1970-01-01
    • 2018-07-28
    相关资源
    最近更新 更多