Ultimamente ho studiato un po 'le mie strutture di dati fondamentali, cercando di assicurarmi di farle raffreddare.Elenco delle strutture di dati fondamentali: cosa mi manca?
Per "fondamentale", intendo i reali di base. Quelli fantastici come i Red-Black Trees e Bloom Filters sono chiaramente degni di nota, ma di solito sono o miglioramenti di quelli fondamentali (gli alberi Red-Black sono alberi di ricerca binari con proprietà speciali per tenerli in equilibrio) o sono utili solo in molto situazioni specifiche (filtri Bloom).
Finora, io sono "fluente" nei seguenti strutture di dati:
- Array
- liste concatenate
- Stacks/code
- Binary Search Trees
- Heaps code/Priority
- Hash Tabelle
Tuttavia, mi sento come se mi mancasse qualcosa. Ci sono dei fondamentali di cui mi sto dimenticando?
EDIT: Aggiunta questi dopo aver postato la questione
- Strings (suggerito da catchmeifyoutry)
- Sets (suggerito da Peter)
- grafici (suggerito da Nick D e AJ)
- B-Trees (suggerito da tloach)
- Sono un po 'fuori discussione sul fatto che questi ar Sono troppo stravagante o no, ma penso che siano abbastanza diversi dalle strutture fondamentali (e abbastanza importanti) da meritare di essere studiate come fondamentali.
cumuli e le code prio possono essere classificati come fantasiosi: P –
Probabilmente qualsiasi cosa che vada oltre gli array e le liste concatenate potrebbe essere classificata come fantasia: P – jakeboxer
"fantasia" è quasi certamente una scala analogica piuttosto che una scelta binaria, se può anche essere ben definito. –