No.Originariamente inviato da giupardeb
come faccio a capire datomi un esercizio se devo usare una pila, o una lista o un albero e così via? Non si dovrebbe usare nella quasi sempre l'albero dato che la complessità è sempre logaritmica?
Quando devi scegliere una "collezione" devi farti una serie di domande, del tipo (elenco assolutamente non esaustivo!):
- la collezione deve mantenere associazioni tra "chiavi" e valori o no?
- la collezione deve ammettere duplicati o no?
- la collezione deve mantenere ordinati gli elementi o no?
- la collezione deve permettere inserimenti veloci? o permettere di rintracciare velocemente (es. per indice) un elemento?
- la collezione deve fornire un iteratore con una sequenza prevedibile/ordinata o no?
Poi è chiaro che devi valutare la tipologia in base allo scenario reale. Se ti si chiede di fare associazioni tra chiavi e valori, allora la tipologia utile è una "map". Se ti si chiede di avere una collezione in cui avere elementi "unici" in cui poi devi solo verificare se un elemento c'è o no, allora la tipologia è un "set".