Per Definition enthält ein Set nur eindeutige Werte. Daher sollte die Antwort die Menge selbst sein, die in konstanter Zeit "berechnet" werden kann. :-)
Ernsthaft, vorausgesetzt, dass Sie tatsächlich mit einem Heap, Liste, Vektor oder einer anderen Datenstruktur arbeiten, die Duplikate ermöglicht, ist wahrscheinlich die schnellste Möglichkeit, das Problem zu lösen, die Antwort von Mike Dunlavey, die ist eine Hashtabelle verwenden. Es gibt auch einige Techniken mit Bäumen, die Sie verwenden könnten, die sukzessive raffiniertere Schätzungen verwenden. Ich denke, ein solcher Ansatz wäre O (n log n) (nicht so gut wie die Hashtabellösung), obwohl er möglicherweise so niedrig wie O (log n) sein könnte, wenn Sie einen statistischen Fehler zulassen.
Würde es Ihnen etwas ausmachen, Ihre Frage zu aktualisieren? "SQL-Frage" ist nicht sehr intuitiv. Etwas wie "Der beste Weg, um wiederkehrende Werte in SQL zu finden", wäre viel einfacher für die Menschen, Ihre Frage zu verstehen, auch ohne sie einzugeben. –
@Nimesh: Da die Kommentare zu der Antwort von @ Quassnoi anzeigen, dass dies überhaupt keine SQL-Frage ist, habe ich die "SQL" daraus entfernt. Roll meine Bearbeitung zurück, wenn du musst. (Aber ich würde ein paar Umformulierungen empfehlen, wenn die Frage jetzt nicht Ihre Bedürfnisse widerspiegelt. Die vorherige Version von Ihnen passte auch nicht zu Ihren Bedürfnissen.) – Tomalak
Vielen Dank für die Bearbeitung. Tomalak .. –