内存有效的方式来存储字符串

Nei*_*ir0 6 string algorithm data-structures

假设我有数百万字符串.每个字符串都有一个int值.我想通过输入字符串检索此值,但我不想存储所有这些字符串,因为它们占用了大量空间.我不能使用哈希表,因为它需要在内存中存储所有或至少许多字符串.那么对于我的情况来说什么是好的数据结构(我不需要添加或删除任何字符串,我已经准备好了数据并且只允许读取操作)

Ran*_*ard 0

根据您当前问题中的有限信息,您不使用哈希表的理由听起来并不有效。如果实施得当,它是相当有效的。如果您的需要可以接受,它还具有不浪费内存存储重复字符串的优点,如果可能出现重复字符串,则进一步减少内存消耗。

如果您对如何进行查找有创意,您也可以将每个字符串的压缩形式存储在哈希表中。琴弦通常有多长?