Sto cercando la struttura dati in C++ e ho bisogno di un consiglio.consulenza sulla struttura dati su C++
devo nodi, ogni nodo ha unique_id e group_id:
1 1.1.1.1
2 1.1.1.2
3 1.1.1.3
4 1.1.2.1
5 1.1.2.2
6 1.1.2.3
7 2.1.1.1
8 2.1.1.2
ho bisogno di una struttura di dati per rispondere a queste domande:
- Qual è il group_id del nodo 4
- dammi lista (probabilmente vettoriale) di unique_id appartenente al gruppo 1.1.1
- dammi elenco (probabilmente vettoriale) di unique_id's che appartengono al gruppo 1.1
- mi danno lista (probabilmente vettore) di Unique_ID di appartenenti al gruppo 1
Esiste una struttura di dati che può rispondere a queste domande (che cosa è il tempo della complessità di inserimento e di risposta)? o dovrei implementarlo?
Gradirei un esempio.
EDIT:
all'inizio, ho bisogno di costruire questa struttura dati. la maggior parte dell'azione sta leggendo dal gruppo id. l'inserimento avverrà ma meno che leggere.
la complessità temporale è più importante di spazio di memoria
Quanti oggetti stiamo parlando qui, questo è in qualche modo un database con tag che implica che la struttura non si adatta alla memoria? – EdChum
hmm non più di 500 nodi. dovrebbe essere contenuto nella memoria – user1673206
correlati: http://stackoverflow.com/questions/13721522/which-stl-container-should-i-use-c in realtà dovresti usare il vettore per primo a meno che non lo trovi lento, il che significa profilazione. Quindi suggerirei una mappa – EdChum