您将如何定义Map of Map结构?

时间:2019-07-11 23:23:53

标签: data-structures

我最近实现了一项依赖于Map of Map结构的工作,这仅仅是因为我需要两个键来指向一个值。据我了解,字典在概念上应该为每个值使用一个键来映射整个事物。

一对指向单个值的键的正确数据结构是什么?例如,您将使用Java或C ++的哪种集合来实现此目的?

1 个答案:

答案 0 :(得分:1)

让我们举一个实际的例子:一个函数值在二维平面上某些整数点上。函数就是f : (int x, int y) -> double value

  1. 直接的方法是将所有参数打包在struct中。 在此示例中,这意味着该函数将点映射到值,并且点是两个pair的{​​{1}}或具有两个int字段或吸气剂的自定义struct Point如果需要的话。 因此,数据结构为int,在简单情况下,map <Point, double> f可以为Point

  2. 我们也可以说该函数是从pair <int, int>到一元参数函数族的映射,后者将int x映射到int y。 数据结构将如下所示:double value

选择取决于正在建模的功能,也许还取决于性能方面的考虑。