Mi interessa insegnarmi diverse strutture di dati, cosa di cui attualmente so poco. Il mio piano è di implementare alcune strutture chiave in modo da capire come funzionano. Sto cercando suggerimenti su importanti strutture di dati per cominciare.Strutture dati importanti nella ricerca
Sono interessato principalmente a strutture di dati che sono rilevanti per le applicazioni di ricerca (ad esempio Google/Lucene) e al compromesso generale tra il calcolo ritardato e la precomputazione. Mi interesso anche delle strutture dati distribuite - strutture dati che possono scalare centinaia/migliaia di server - e strutture dati probabilistiche - strutture dati che aiutano a trovare una risposta approssimativa, ma non hanno bisogno di essere sempre corrette.
Wikipedia ha una list of data structures. Attualmente sto pensando:
- tabella hash
- albero B +
- R-Tree
- KD-Tree
- Radix-Tree
- Bloom filtrare
Esistono scelte migliori?
Infine, c'è qualche (grave) problema con l'attuazione di queste strutture in un linguaggio come C#?
Implementare anche un dizionario ordinato. Personalmente utilizzerei Java o Python o .Net o C++ ... –
@lpthnc: .NET non è un linguaggio. – missingfaktor