列表的無序並集 是一個包含與
相同元素的列表,但會移除任何給定元素的第二次及後續出現。例如,集合
的無序並集是
。無序並集與通常的並集
不同,因為無序並集中的元素不一定是有序的。
無序並集在 Wolfram Language 中實現為DeleteDuplicates[列表].
它可以在 Wolfram Language 頂層程式碼中實現為
UnsortedUnion1[x_] := Tally[x][[All, 1]]
或
UnsortedUnion2[x_] := Reap[Sow[1, x], _, #1&][[2]]
或
UnsortedUnion3[x_] := Module[{f},
f[y_] := (f[y] = Sequence[]; y);
f /@ x
]
根據要進行並集運算的列表的性質,上述不同的實現方式可能更有效,儘管一般來說,第一種是最快的。