【问题标题】:What the most efficient way to optimize size of a collection of all English words in Javascript?优化Javascript中所有英语单词集合大小的最有效方法是什么?
【发布时间】:2018-02-06 18:33:32
【问题描述】:

我想优化所有英语单词集合的大小。 假设https://github.com/dwyl/english-words/blob/master/words.txt

它有 450k 个英文单词,大小为 4.64mb。我想减小集合的大小,并且仍然能够检查集合中是否存在单词。

  1. 我尝试了 Trie 算法,但大小似乎完全相同。
  2. 我尝试过 JSON 与数组。但是大小是一样的。在检查单词是否存在时,JSON 会更快一些。

完整的 Javascript ?因为它是在 ReactNative 项目中使用的。

谢谢,

史蒂芬。

【问题讨论】:

  • 今天是 4.64mb。我想要一种小于 4.64mb 并且仍然能够检查条目是否存在的方法。仅检查条目是否存在。
  • 我怀疑你会找到比 Trie 更有效的东西。你是自己写的,还是试试别人的?
  • 帕特里夏树怎么样。

标签: javascript optimization collections size


【解决方案1】:

我发现这个 Gist 用于 Radix Trie 实现。他在这里有一个小提琴:http://jsfiddle.net/jCYAw/

我保存了他的名字列表,没有",每个都像你的单词集一样换行。这导致文件大小约为 8.34 KB

我以相同的方式将 Trie 存储的结果字符串键保存在一个新行上。这导致文件大小约为 5.32 KB

尺寸并没有大幅减少,但我认为搜索会像 Nina 建议的那样快得多。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-10
    • 2011-03-12
    • 1970-01-01
    相关资源
    最近更新 更多