Exo Map<Category, Set<Book>> Méthode classique : boucle imbriquée # cats M # books N book.getCat() == cat ? Complexité = O(NM) # books N Meilleure méthode : utiliser une HashMap en JAVA # cats M cat → { } Cat Set<Book> Map<Cat,Set<Book>> Une Catégorie n'est pas capable de contenir les livres. Il faut passer par un Set<Book> qui lui est associé. pour chaque book 1. tempCat ← book.getCat() 2. tempCat.add(book) 2. tempCat { } book .add(book) Intérêt :l'étape cat → { } est de complexité log MComplexité = O(N log M) HashMap recherche binaire (de complexité M) plus efficace qu'une recherche linéaire (de complexité log M) M log M
1
  1. New frame
  2. New frame
  3. New frame
  4. New frame