Я искажаю логику, чтобы получить комбинации для итерации, основанные на следующих критериях.У меня есть рабочий код, который позаботится об этом.Интересно, могу ли я уменьшить количество итераций в нем
A, B, C, D, E, F, G - набор узлов в приведенном ниже примере
![enter image description here](https://i.stack.imgur.com/h3SBw.png)
Критерии:
Чтобы получить список элементов.
1. Не должно быть никаких повторяющихся узлов вЭто.например, там может быть AB, там не должно быть BA 2. Там не должно быть там диагонального элемента, например .. AA, BB ...
Однажды после выполнения логики мы получим все цветные (не черные)./ серого цвета) AB, AC, AD, AE, AF, AG, BC, BD, BE, BF, BG, CD, CE, CF, CG, DE, DF, DG, EF, EG, FG
Чтобы получить группу элементов в итерации Элементы должны быть сгруппированы для итерации в соответствии с приведенными ниже правилами
1-я итерация 1. Выберите элемент,Скажем, AB 2. Элемент, который будет выбран, не должен иметь A или B.Следовательно, CD можно выбрать.3. После выполнения указанных выше 2 шагов мы получим элементы для 1-й итерации
. В конце 1-й итерации мы бы собрали AB, CD, EF
Теперь повторите шаги с 1 по 3, чтобы получить элементы для 2-й итерации
В конце 2-й итерации мы бы собрали AC, BD, EG
Как и числоитерации, чтобы получить элементы для каждой итерации.
Вопрос: Поскольку ожидаемых элементов будет около 100, мне интересно, есть ли лучший способ уменьшить количествоитераций.Я надеюсь, что не будет пути.Но поскольку у нас есть эксперты по алгоритмам, мне нужен совет.