Personalmente ritengo che sia difficile imparare abbastanza e dovresti sempre guardare a cosa apprendere successivamente, sia per approfondire o ampliare la tua attuale base di conoscenze.
Tuttavia, gli algoritmi di base e le strutture dati richieste sarebbero:
Minimo
- Strutture dati
- Uno, Complemento a due e Aritmetica correlata
- Liste collegate
- Tabelle hash (mappe o dizionari)
- Array, alberi, pile, code, grafici, database
Algoritmi
- Ordinamento
- Bubble Sort (per sapere perché è male)
- Inserimento Ordina
- Unisci ordinamento
- Ordinamento rapido
- Ordina in stile Radice
- Conteggio ordinamento e secchio Ordina
- Ordinamento heap
- Ricerca
- Ricerca lineare
- Ricerca binaria
- Profondità prima ricerca
- Larghezza Prima ricerca
- Manipolazione delle stringhe
- iterazione
- Traversal dell'albero
- Funzioni di hash
- Implementazione concreta di una tabella hash, una struttura, una lista, una pila, una coda, una matrice e un set o una raccolta
Inoltre, la cosa più importante è sapere quando usarli .
Robert, in alto, ha fornito il link per List of Data Structures, Here for Algorithms