Re: Doppelte Einträge in Array so schnell wie möglich finden
- From: "Frank Dzaebel" <Post@xxxxxxxxxxxxxx>
- Date: Fri, 14 Nov 2008 20:47:02 +0100
Hallo,
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.
Die Umwandlung ist selber ja schon zeitraubend.
Um die beste Methode zu finden, käme hier auch
darauf an, ob sortiert, welche Verteilung und Längen
die einzelnen Arrays haben. Also kaum in einem
Satz formulierbar.
Man fragt sich, ob Dir denn LINQ ausreicht?
int[] arr1 = new int[] { 1, 3, 4, 6, 9, 10 };
int[] arr2 = new int[] { 2, 3, 5, 9 };
var doppelte = arr1.Intersect(arr2);
Die Implementation geht hier intern über
Hash Algorithmen und recht effizient.
____________
Ansonsten auch:
[Experimental Analysis of a Fast Intersection Algorithm for Sorted Sequences]
http://www.cs.uwaterloo.ca/~ajsaling/papers/paper-spire.pdf
[Algorithm to find if two sets intersect - Stack Overflow]
http://stackoverflow.com/questions/245557/algorithm-to-find-if-two-sets-intersect
Ich habe viel darüber gelesen, dass die schnellste Methode für so
etwas mit BitArrays wäre, ...
welche zum Beispiel?
ciao Frank
--
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET
.
- Follow-Ups:
- References:
- Prev by Date: Re: Doppelte Einträge in Array so schnell wie möglich finden
- Next by Date: (aktualisierbar ist so etwas direkt nicht).
- Previous by thread: Re: Doppelte Einträge in Array so schnell wie möglich finden
- Next by thread: Re: Doppelte Einträge in Array so schnell wie möglich finden
- Index(es):
Relevant Pages
|