[java]Grupowanie k-srednich: Jak przechować grupy?


(zaku) #1

Witam!

Napotkałem na pewnien problem pisząc program i nie mam pomysłu na jego rozwiązanie.

Jako daną na wejściu jest macierz symetryczna, którą grupuje.

Mam już gotowy algorytm według którego grupuję oraz całą "otoczkę".

Problem polega teraz na sposobie przechowywania grup.

Danymi do przechowania będą współrzędne oraz ewentualny identyfikator. Ilość grup będzie podawał użytkownik.

Zastanawiałem się nad przechowywaniem w obiektach w ktorych bedzie pole ArrayList grupa, idgrupy oraz

ewentualne metody do dodawania itd. Tylko, że w takim wypadku nie wiem jak tworzyc k-obiektow.

Jest też kwestia jak je identyfikować.

Pozdrawiam

 

P.S. Jestem początkujący w kwestiach programowania.


(Frankfurterium) #2

Jeżeli id grupy jest unikalne, użyj mapy, gdzie kluczem będzie integerowe id grupy, a wartością lista współrzędnych.

Map<Integer, List<Coordinates>> groups = new HashMap<>();
groups.put(id1, group1);
groups.put(id2, group2);