Mam pytanie natury ogólnej, ale problem jest konkretny
Załóżmy, że mam plik z danymi w którym jest 5000 wierszy i tylko 3 kolumny:
- Kolumna ID dla dziecka
- Kolumna ID dla rodzica
- Kolumna typu Date /Time
Np.
Dziecko | Rodzic | Data
Darek | Malinowski | 3.02.2018
Staszek | Malinowski | 3.01.2018
Marek | Kowalski | 13.02.2016
Jarek | Reputowicz | 23.12.2015
.
.
.
Teraz w tych tysiącach wierszy muszę znaleźć dziecko danego rodzica dla którego data będzie najbliższa teraźniejszości i tą datę i imię dziecka mam wypisać.
Czyli na powyższym przykładzie dla Malinowskiego wynikiem będzie: Darek | 3.02.2018.
W języku programowania Java (czy nawet VB jak to Excel) dosyć łatwo można napisać program, który to zadanie rozwiąże.
Można "pojechać" nawet IF-ami, pęlami FOR itd. Pewnie są różne sposoby, aby ten problem rozwiązać.
Mi chodzi jednak jak do tego problemu podejść kompleksowo i optymalnie. Tzn. zakładam, że użycie samych IF-ów lub SWITCH jest złym rozwiązaniem.
Z drugiej strony zagnieżdżone pętle FOR w pętlach FOR są pewnie lepszym.
Moje pytanie jest jak znaleźć najlepsze rozwiązanie dla tego typu problemu. Czy jest na to jakiś wzorzec projektowy, czy może to jest kwestia algorytmów np. odpowiedniej metody sortowania?
Brakuje mi wiedzy i to właśnie o nią odważyłem się zapytać.