Я ищу эффективный способ определить, является ли набор подмножеством другого набора в Matlab или Mathematica.
Пример: Установите A = [1 2 3 4] Установите B = [4 3] Установить C = [3 4 1] Set D = [4 3 2 1]
Результат должен быть следующим: Set A
Наборы B и C принадлежат набору A, потому что A содержит все их элементы, поэтому их можно удалить (порядок элементов в набор не имеет значения). Набор D имеет те же элементы, что и набор A, и поскольку набор A предшествует набору D, я хотел бы просто сохранить набор A и удалить набор D.
Итак, есть два важных правила: 1. Удалите набор, если он является подмножеством другого набора. 2. Удалите набор, если его элементы совпадают с элементами предыдущего набора.
Мой код Matlab не очень эффективен для этого - он в основном состоит из вложенных циклов.
Предложения очень приветствуются!
Дополнительные объяснение: проблема в том, что при большом количестве наборов будет очень большое количество парных сравнений.