Wpis z mikrobloga

@CamelCase: @Eoghan: @Nadrill: Jak bardzo #!$%@?łem, jeżeli stworzyłem sobie ArrayListy, żeby było łatwo na nich operować, a potem z głupoty przeszukuję je Iteratorem zamiast po indeksie?


@Romantyczny_widelec: obstawiam ze zlozonosc obliczeniowa dla iteratora i indeksu jest taka sama O(n elementow).
mozna faktycznie szybciej, np poprzez stworzenie drzewa, ale nie wiem po co sie tak #!$%@? na tych cwiczeniach. chyba ze to cwiczenia z algorytmow i struktur danych.
@Romantyczny_widelec: Najlepszy będzie sposób przechowania, który:
* nie będzie wymagał dużego nakładu obliczeniowego na wstawienie do kolekcji
* nie będzie wymagał dużego nakładu obliczeniowego do znajdowania elementu w kolekcji
Sądzę, że tablice mieszające, albo drzewa uporządkowane będą dobrym wyborem. A już w ogóle najlepszym będzie korzystanie z jakiegoś silnika bazodanowego np. sqlite.
@Romantyczny_widelec: Kwestia kolekcji to kwestia złożoności algorytmicznej, jeśli nie znasz złożoności poszczególnych operacji na poszczególnych kolekcjach, no to lipa.

Jak chcesz trzymać bazę książek tylko w pamięci, to zależy jak chcesz indeksować.
@CamelCase: @Eoghan: @Nadrill: Jak bardzo #!$%@?łem, jeżeli stworzyłem sobie ArrayListy, żeby było łatwo na nich operować, a potem z głupoty przeszukuję je Iteratorem zamiast po indeksie?


@Romantyczny_widelec: Jeśli dr powiedział (wątpię), że indeks jest bardziej wydajny niż iterator to zapytaj się kto dał mu tytuł.

Ogólnie wszystkie 3 które wymieniłeś mają liniową złożoność, więc są równoważne jeśli chodzi o przeszukiwanie. Pewnie chcesz użyć mapy do tego co robisz.