Uproszczenie algorytmu

Sebastian G
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 7
0

Witam. Postaram się ubrać problem w najprostszy sposób. Mam program, który zbiera dane na temat kilku instrumentów finansowych z kilku giełd i podstawia pod pewien algorytm, którego argumenty wyglądają tak:

Kopiuj
gielda1_cena, gielda1_ilosc, gielda2_cena, gielda2_ilosc

Załóżmy, że jest to popularna para BTC-USD i występuje ona na np. 4 giełdach, a każdą giełdę muszę porównać z każdą czyli wychodzi 4 (*) 4 (*) 4 (*) 4 operacji. W przypadku 20 giełd i wielu instrumentów tych kombinacji będzie miliardy. W jaki sposób mogę to uprościć. Pozdrawiam.

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
4

Nie rozumiem pytania. Nie napisałeś co w ogóle robisz, więc nie wiem czego oczekujesz. Jeśli potrzebujesz porównać każde z każdym, to nie da się inaczej, to prosta matematyka. Ale napisz może co chcesz w ten sposób uzyskać, bo może nie potrzebujesz porównywać ze sobą wszystkiego.
Przy czym twoja estymacja liczby takich kombinacji jest jakaś dziwna, bo przecież:

  • nie interesują cię powtórzenia (tzn porównywanie A z A)
  • nie ma znaczenia kolejność (porównanie A z B to to samo co B z A)

Więc masz klasyczne https://pl.wikipedia.org/wiki/Kombinacja_bez_powt%C3%B3rze%C5%84 czyli dla 4 giełd to jest raptem (4*3*2)/(2*2) = 6 możliwości dla jednej pary. Nie wiem jak jak doszedłeś do tego 4^4 bo nawet jakbyś chciał liczyć z powtórzeniami i z uwzględnieniem kolejności to nadal masz raptem 2^4 = 16 możliwości czyli 16 razy mniej niż wyliczyłeś...

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.