我有200根弦。每个字符串与每个其他字符串都有关系(通过 0 到 1 之间的浮点数来衡量)。这种关系是双向的;即关系 A/B == 关系 B/A。这会产生 n(n-1)/2 个关系,即 19,800。
我想要做的是将这些关系存储在查找表中,以便给定任何两个单词,我可以快速找到关系值。
我正在使用 c++,所以我可能会使用 std::map 来存储 LUT。问题是,用于此目的的最佳密钥是什么。
密钥必须是唯一的,并且需要能够从两个单词中快速计算出来。
我的方法是为每个单词对创建一个唯一标识符。例如,给定单词“apple”和“orange”,然后我将它们组合在一起作为“appleorange”(字母顺序,最小在前)并将其用作键值。
这是一个好的解决方案还是有人可以提出更聪明的建议?:)