Sei A = {1,2,2,3,4,5,6,7, ...} und B = {1,2,3,4,5,6,7, ...} dann jedes Element in A ist in B und jedes Element in B ist in A == & gt; A enthält B und B enthält A == & gt; A = B. Natürlich können Sets doppelte Elemente haben, nur dass das mit doppelten Elementen genau dasselbe ist wie das ohne doppelte Elemente.
Aus Wikipedia in Set (Mathematik)
Eine Menge ist eine Sammlung gut definierter und unterschiedlicher Objekte.
Vielleicht liegt die Verwirrung an der Tatsache, dass eine Menge nicht davon abhängt, wie ihre Elemente angezeigt werden. Ein Satz bleibt derselbe, wenn seine Elemente angeblich wiederholt oder neu angeordnet werden.
Als solche würden die Programmiersprachen, die ich kenne, kein Element in einen Satz einfügen, wenn das Element bereits dazu gehört, oder sie würden es ersetzen, wenn es bereits existiert, aber niemals eine Duplizierung erlauben.
Programmiersprachenbeispiele
Lassen Sie mich ein paar Beispiele in verschiedenen Programmiersprachen anbieten.
In Python
Ein in Python gesetzter Satz ist definiert als "eine ungeordnete Sammlung von eindeutigen Elementen ". Und wenn Sie einen Satz wie a = {1,2,2,3,4}
deklarieren, wird nur 2
einmal zum Satz hinzugefügt.
Wenn Sie print(a)
eingeben, lautet die Ausgabe {1,2,3,4}
.
Haskell
In Haskell ist die Einfügeoperation von Mengen definiert als: "[...] Wenn die Menge bereits ein Element enthält, das dem gegebenen Wert entspricht, wird es durch mit dem neuen Wert ersetzt."
Wenn Sie dies tun: let a = fromList([1,2,2,3,4])
, wenn Sie a
auf die Hauptausgabe ausgeben, würde [1,2,3,4]
dargestellt.
Java
In Java sind Sätze definiert als: "Eine Sammlung, die keine doppelten Elemente enthält .". Seine Add-Operation ist wie folgt definiert: "fügt das angegebene Element zu diesem Set hinzu, wenn es nicht bereits vorhanden ist. Wenn dieses Set bereits das Element enthält, verlässt der Aufruf das Set unverändert ".
%Vor% Dieser Code würde wie in den anderen Beispielen [1,2,3,4]
ausgeben.
Ein Satz kann durch seine bloße Definition keine doppelten Elemente haben. Die richtige Struktur für doppelte Elemente ist Multiset oder Tasche :
In der Mathematik ist eine Multimenge (oder Tasche) eine Verallgemeinerung des Konzepts einer Menge, die im Gegensatz zu einer Menge mehrere Instanzen der Elemente der Menge erlaubt. Zum Beispiel sind {a, a, b} und {a, b} verschiedene Multimengen, obwohl sie die gleiche Menge sind. Allerdings ist die Reihenfolge egal, also sind {a, a, b} und {a, b, a} die gleiche Multimenge.
Ein sehr häufiges und nützliches Beispiel für ein Multiset in der Programmierung ist die Sammlung von Werten eines Objekts:
%Vor% Die hier angegebenen Werte sind ungeordnet, können jedoch nicht auf Set(1)
reduziert werden, was z. breche die Iteration über die Objektwerte.
Weiterhin zitiert man aus dem verlinkten Wikipedia-Artikel (siehe dort für die Referenzen):
Multisets sind zu einem wichtigen Werkzeug in Datenbanken geworden. [18] [19] [20] Zum Beispiel werden häufig Multisets verwendet, um Beziehungen in Datenbanksystemen zu implementieren. Multisets spielen auch eine wichtige Rolle in der Informatik.
Tags und Links set