Doppelte Einträge in Array so schnell wie möglich finden

14/11/2008 - 16:12 von J.Z | Report spam
Hallo,
ich habe 2 mit Integern gefüllte Arrays und will die jeweils in beiden
Arrays vorkommenden Elemente ermitteln.
Natürlich geht das sehr simpel mit 2 Schleifen, das ist aber nicht was
ich will.

Mein Ziel ist es dabei so schnell wie möglich zu sein, daher wandle ich
die Arrays bisher in Dictionarys um und mache es damit, doch selbst das
ist mir noch zu langsam.

Ich habe viel darüber gelesen, dass die schnellste Methode für so etwas
mit BitArrays wàre, finde aber keine exakte Beschreibung davon!

Ich wàre sehr dankbar wenn mir jemand helfen könnte!

Gruß
 

Lesen sie die antworten

#1 Thomas Scheidegger
14/11/2008 - 19:44 | Warnen spam
Hallo J.Z

2 mit Integern gefüllte Arrays
...die jeweils in beiden Arrays vorkommenden Elemente ermitteln.



Optimierungen sind da insbesondere denkbar,
wenn bestimmte Vorgaben/Aussagen möglich sind, zB:
- (mind. eines) sortiertes Array
- eines der Arrays ist deutlich kleiner,
- Wertebereiche der vorkommenden (Treffer-) Integerzahlen,
- Wahrscheinlichkeiten von Treffern, uva.

Ansonst dürfte dies wohl in die Theorie von
Set Intersection (Schnittmenge)
gehen, gibt es sicherlich genug Infos im Web.
Das ganze ist natürlich kaum spezifisches von C#,
sondern Grundlagen Mathe/Informatik.



Thomas Scheidegger - 'NETMaster'
http://dnetmaster.net/

Ähnliche fragen