【问题标题】:Multiple keys to one value data structure (C)一个值数据结构的多个键 (C)
【发布时间】:2015-02-09 01:08:23
【问题描述】:

我希望能够以动态、内存高效的方式使用相应的整数或字符来检索地址。我正在使用标准库。有哪些可能的方法来解决这个问题?我想知道是否值得只维护两个独立结构的额外开销,也许是树。

【问题讨论】:

    标签: c data-structures standard-library


    【解决方案1】:

    如果整数的字符串版本不与字符键重叠,您可以使用单个结构。至于是否值得您选择的数据结构,这取决于您的应用程序 - 哈希将最快但消耗更多内存;一棵树会更慢但内存更紧。

    【讨论】:

    • 我唯一的问题是如何排序。我需要能够按任何一个进行搜索,例如,如果它按整数排序,我似乎会使用该字符进行暴力搜索。
    • @erythraios:是的,我的单一结构建议只有在您使用哈希表时才有用——如果查找和存储是关键操作,并且不需要生成有序列表。跨度>
    • 我不能用标准库做到这一点,可以吗?
    • 对,C 标准库中没有哈希表。对不起,我没有意识到。你的整数和字符键有多长?如果它们足够短,您可以使用它们的 ASCII 值作为数组索引。
    • 这可能行得通!由于我并不能真正保证一组连续的整数,有没有办法在 C 中优化稀疏数组?
    猜你喜欢
    • 1970-01-01
    • 2011-08-13
    • 2021-12-28
    • 2015-04-07
    • 2019-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-08
    相关资源
    最近更新 更多