Hallo,
ich suche einen Algorithmus der folgendes bewerkstelligen kann.
Ausgangsposition:
5 Arrays (a - e) von Werten (beispielshaft 5)
diese Arrays beinhalten reine Zahlenwerte. Jeweils ca. 500 Einträge.
Nun würde ich gerne prüfen welche Arrays im Zusammenhang stehen.
Steigt a steigt auch b oder steigt b steigt auch e.
Genau so mit fallend.
Oder gegengesetzt. steigt a fällt c usw.
wichtig wäre mir die laufzeit.
Da ich jedem mit jedem vergleichen will/muss geht das bei 5 noch aber wenn ich strattdessen 50 Arrays habe wird es kritisch.
Hat jdm Vorschläge ?
Meine Ideen:
Zur einzelnen Wertprüfung zwischen 2 Arrays
Ich denke zur Zeit daran nicht die 500 Werte einzeln zu nehmen sondern sagen wir 50 zusammenzufassen und den Mittelwert zu bilden.
Und daraus einen Trend.
Dann ist der vergleich von 2 Array auf nur 10 vergleiche beschränkt.
Aber das wäre zu ungenau. In einem Array schwankt ein der Wert im anderen ist er konstant.
Der Trend ist bei beiden gleich.
Irgendwie fällt mir nichts richtiges ein außer wirklich jeden Wert mit jedem Wert zu vergleichen und das für jedes Array mit jedem Anderen.
Laufzeit wäre:
- 50! Arrayvergleich
- pro Arrayvergleich 500 Wertvergleiche
macht = O = 50! * 500
Und das ist definitv zu viel !
(Ok - worst case - so viel werden es nicht da der wertvergleich abgebrochen wird wenn gemerkt wird das es nicht abhängig ist.)
mfg
Martin