Usuń powtórzenia

0

Mam problem z zadaniami typu "usuń powtórzenia". Mianowicie jeśli mam za zadanie usunąć z listy kierunkowej elementy, które się powtarzają jak to zrobić w miarę sensownie? Metoda, przy której mając wskaźnik przy każdym kolejnym elemencie listy przechodząc od początku listy do miejsca w którym jestem i sprawdzanie czy taki element był nie wygląda za dobrze. Da się to jakoś usprawnić?

0

Tak na szybko użycie zbioru(np. w postaci drzewa czerwono-czarnego). Takie rozwiązanie da złożoność O(nlog(n)). Jeżeli chcesz więcej to podaj więcej szczegółów zadania. Konkretnie jakiego typu są elementy oraz w jakim zakresie się mieszczą.

0

Możesz posortować i potem usunąć powtarzające się elementy. Możesz też wykorzystać hashmapę i sprawdzać, czy element już był, to powinno być szybsze od drzewa.

1 użytkowników online, w tym zalogowanych: 0, gości: 1