Collezione vs struttura dati vs aggregato

3

Conosco tre termini che riguardano la memorizzazione di oggetti o dati. Non sono sicuro di capire le differenze esatte tra i termini. Per favore conferma se quello che sto per scrivere è accurato.

Una struttura dati è un gruppo di tipi di dati o oggetti dello stesso tipo, raggruppati in una qualche formazione.

Una raccolta è la stessa di una struttura dati (non intendo una raccolta Java, intendo una raccolta nel senso più generale).

Un aggregato è un oggetto contenente una raccolta o una struttura dati, che fornisce un'interfaccia per comunicare con la struttura interna dei dati. Ad esempio, l'oggetto someContainer , che contiene un ArrayList interno, è un aggregato perché contiene una struttura dati, lo incapsula e fornisce un'interfaccia per manipolarlo.

Tutto questo è accurato?

    
posta Aviv Cohn 23.03.2014 - 20:41
fonte

2 risposte

10

Una struttura dati è una qualsiasi struttura che contiene dati. Le strutture dati si distinguono l'una dall'altra per il loro utilizzo della memoria e le caratteristiche delle prestazioni. Ad esempio, la prestazione di ricerca di una tabella hash è O (1), mentre quella di un albero binario bilanciato è O (log n ).

Una Collezione è una qualsiasi struttura di dati che può contenere zero o più elementi di dati. Generalmente, gli elementi di dati saranno dello stesso tipo o, in lingue che supportano l'ereditarietà, derivano da un tipo di antenato comune. Le raccolte possono utilizzare determinate strutture di dati, come tabelle hash e alberi binari bilanciati, per migliorare la memoria e le caratteristiche delle prestazioni.

Un Aggregato , nel senso generale, è un insieme combinato da singoli elementi (i singoli elementi possono formare una raccolta). Gli esempi includono Funzioni di somma e media , i risultati di tali funzioni e il processo mediante il quale i dati vengono combinati in un data warehouse per accelerare il recupero.

    
risposta data 23.03.2014 - 21:06
fonte
0

Una struttura dei dati è un termine informatico per un certo modo di ordinare i dati, e come puoi memorizzare / recuperare i dati da esso.

Una Collezione è una struttura dati che può contenere un numero arbitrario di oggetti. Esistono molti tipi di collezioni, differenziate in base alla loro organizzazione dei dati e ai loro algoritmi di archiviazione / recupero, che conferiscono una diversa complessità in diversi casi d'uso. Ad esempio:

  • una matrice ha una lettura ad accesso casuale (il che significa che se sai a quale indice sei, puoi recuperarlo con la complessità O (1)), ma per aggiungere un nuovo elemento oltre la capacità dell'array, è necessario copiarlo in un array con doppia capacità, dando il caso peggiore di scrittura di O (n).
  • una lista collegata , d'altra parte, non ha accesso casuale, il che significa che hai bisogno di O (n ) per il recupero di un oggetto, ma l'aggiunta di un elemento è in O (1).

Una funzione Aggregazione è un termine di database per l'utilizzo di un vettore data (che è un numero arbitrario di elementi) e utilizzando alcune operazioni (aggiunta, media, ecc.) creando uno scalare (che è un singolo elemento o un numero fisso di elementi) . Gli esempi possono essere count , sum , average , max . Una funzione delle funzioni aggregate è che non conserva intere le informazioni che riceve, ma ne conserva solo alcuni aspetti.

    
risposta data 24.03.2014 - 14:18
fonte

Leggi altre domande sui tag