У меня есть некоторые Карты, которые я хотел бы вычислить декартово произведение. Может кто-то пожалуйста, предложить хороший алгоритм:Алгоритм для сопоставления значений одного ключа другим значениям на карте
данных:
Key1 {100,101,102}
Key2 {200,201}
Key3 {300}
Обязательный выход: (Приказ имеет значение)
100,200,300
101,200,300
102,200,300
100,201,300
101,201,300
102,201,300
Карта является динамическим, так ключ и значения могут изменяться в размер.
Спасибо.
Кстати, это декартовый продукт. Тот факт, что ваши данные находятся на карте, не имеет значения - это всего лишь пара наборов, и вы хотите объединить каждый элемент друг с другом. –
Пример того, как рассчитать это декартово произведение, см. http://stackoverflow.com/questions/714108/cartesian-product-of-arbitrary-sets-in-java – Ben