D
Daniel22
Gast
Hallo Leute!
Der Algorithmus macht das was er soll aber in einer höheren Zeitkomplexität!
Ich gehe zwei verschachtelte Schleifen durch n * n -> O(n^2). Dann
sortiere ich: Arrays.sort das heißt, dass der erste Teil eine zu hohe Zeitkomplexität
hat! (er sollte eine Zeitkomplexität von O(n log n) haben) Es bietet sich wahrscheinlich an, erst Sortierungen durchzuführen
und dann gemeinsame Elemente zu suchen. Aber wie? Ne Idee?
Gruß
Daniel
Der Algorithmus macht das was er soll aber in einer höheren Zeitkomplexität!
Ich gehe zwei verschachtelte Schleifen durch n * n -> O(n^2). Dann
sortiere ich: Arrays.sort das heißt, dass der erste Teil eine zu hohe Zeitkomplexität
hat! (er sollte eine Zeitkomplexität von O(n log n) haben) Es bietet sich wahrscheinlich an, erst Sortierungen durchzuführen
und dann gemeinsame Elemente zu suchen. Aber wie? Ne Idee?
Code:
int [] array1;
int [] array2;
Vector neu = new Vector();
for(int i=0; i<array1.length;i++)
{
for(int j=0; j<array2.length;j++)
{
if(array1[i] == array2[j])
{
neu.addElement(new Integer(array1[i]));
}
}
}
int [] finalArr = new int[neu.size()];
for(int i=0; i<neu.size();i++)
{
finalArr[i] = Integer.parseInt(neu.get(i).toString());
}
Arrays.sort(finalArr);
Gruß
Daniel