Corso "Algoritmi e strutture dati" - corso 71.000 rubli. da Yandex Workshop, formazione 4 mesi, Data: 5 dicembre 2023.
Miscellanea / / November 29, 2023
A chi è adatto il corso?
Per coloro che hanno dimestichezza con uno dei linguaggi di programmazione: C++, Python, Java, Go, JavaScript o C#.
- Impara a scrivere codice pulito più velocemente
- Prepararsi per le interviste algoritmiche
- Avrai un colloquio di prova con un mentore.
- Padroneggia algoritmi e strutture dati da zero
- Risolvi oltre 100 problemi pratici
- Puoi imparare più velocemente del programma e in qualsiasi momento conveniente
Cosa imparerai in 4 mesi?
- Comprendere gli algoritmi di base
- Scopri come funzionano le strutture dati e quando utilizzarle
- Impara a testare il tuo codice e dimostrarne la correttezza
Il programma del corso prevede la preparazione ai colloqui algoritmici e un colloquio di prova con un mentore - pratica utile per chi ha intenzione di cambiare lavoro
Questo corso può essere pagato dal tuo datore di lavoro. Se la conoscenza del corso ti sarà utile nel tuo attuale lavoro, parla con il tuo manager del pagamento parziale o totale dei tuoi studi
Cos'altro è importante
Congedo accademico
Se le circostanze della vita diventano più complicate o il ritmo dei tuoi studi deve essere rallentato, puoi andare in congedo accademico
Restituiremo i tuoi soldi in qualsiasi momento
Puoi recuperare i tuoi soldi per il tempo di formazione rimanente: non devi dimostrare nulla per questo
Puoi studiare al tuo ritmo
Il corso è progettato per 4 mesi con un carico di circa 10 ore settimanali, ma puoi completarlo più velocemente: le nuove lezioni si apriranno immediatamente dopo aver completato la pratica
Non insegniamo la programmazione da zero
Per seguire il corso, devi avere familiarità con uno dei linguaggi di programmazione: C++, Python, Java, Go, JavaScript o C#
Parte libera
(modulo introduttivo 7 ore)
Il concetto di algoritmo. Media mobile. Il metodo dei due puntatori.
Introduzione agli algoritmi
Il concetto di complessità dell'algoritmo. Notazione O. Stima del tempo di esecuzione del programma.
Strutture dati di base
Array, elenco collegato, stack, coda. Complessità delle operazioni di inserimento, ricerca e cancellazione. Rappresentazione dei dati in memoria. Complessità spaziale dell'algoritmo.
Ricorsione e ordinamento
Ricorsione
Il concetto di ricorsione. Il principio del “divide et impera”. Ricerca binaria.
Ordinamento
Ordinamenti quadratici. Unisci ordinamento. Ordinamento rapido. Ordinamento di conteggio lineare.
Funzioni hash e tabelle hash
Visualizza l'astrazione. Concetto e proprietà di una funzione hash, esempi. La struttura dei dati è una tabella hash. Collisioni e modi per risolverle.
Alberi
Struttura dei dati ad albero. Alberi di ricerca bilanciati. La struttura dei dati è heap. Ordinamento piramidale.
Grafici
Definizione di grafico, metodi di rappresentazione in memoria. Attraversamento del grafico in profondità e in ampiezza. Componenti di connettività. Algoritmi per trovare il percorso più breve. Albero di copertura minimo.
Algoritmi golosi e programmazione dinamica
Programmazione dinamica
Definizione, problemi unidimensionali e bidimensionali. Programmazione dinamica per sottosegmenti. Programmazione dinamica per sottoinsiemi.
Algoritmi golosi
Il concetto di algoritmo greedy, scope. Esempi, prova della correttezza dell'algoritmo.
Intervista algoritmica di prova
Colloquio algoritmico individuale con un mentore, il più vicino possibile alla realtà. Alla fine, il mentore darà un feedback.
Algoritmi su stringhe
Funzione prefisso. Sottostringhe, prefissi e suffissi. Cerca un modello in una stringa. Algoritmo ingenuo. Struttura dei dati Bor.