0

我想存储一些与由简单 ascii 字母 (aZ) 组成的单词相关的数据,目标是在未来的解析中快速检索与单词相关的数据。

我虽然关于以下结构:

struct Foo {
  Foo *letter[26];
  void *data;
};

因此,可以在解析字符串中的单词的同时向下遍历“字母树”并获取相关数据。

"foo" => ['f' node] -> ['o' node] -> ['o' node]

如果我有很多单词,问题是整个树的大小。

有没有办法在不损失性能的情况下减小树的大小?

4

2 回答 2

1

你所描述的是所谓的trie。紧凑的基数树更紧凑。

于 2012-12-07T15:24:14.500 回答
0

您是否有理由使用树而不是将单词存储在哈希表中?这些往往会使用更多的内存,但会为您提供近乎恒定的表查找时间性能。

于 2012-12-07T15:24:27.883 回答