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