Ho una domanda sull'implementazione di una struttura dati (con algoritmo) con queste caratteristiche:
-
Ci sono troppi posti (come i negozi), e ogni posto può contenere troppi articoli, voglio conservare gli articoli nei luoghi. Il punto è che dobbiamo ottimizzare l'inserimento (o la cancellazione) e ottimizzare la funzione di ricerca.
-
La ricerca può essere effettuata in base ai luoghi (restituire gli elementi nel posto) o basare sugli elementi (restituire i posti che contengono l'elemento)
Ho pensato di utilizzare una hashmap per questo, e utilizzare l'ID di luoghi come chiave e memorizzare gli elementi come una raccolta (ancora una hashmap con l'ID oggetto per la chiave e il valore).
Quindi, in base a ciò, l'inserimento di ogni oggetto o luogo sarebbe O (1) ma ottenere o rimuovere di posto sarà O (n) e per oggetto sarà O (n * k)! (supponiamo di avere "n" posti e "k" elementi - spero che questo sia il calcolo corretto)
Esistono strutture o algoritmi dati migliori per questo problema?