In che ordine imparare algoritmi e strutture dati?
Prima le strutture lineari (stack, coda, lista concatenata), poi tabelle hash e alberi, poi gli ordinamenti, poi la ricorsione come modo di pensare, poi programmazione dinamica e grafi, e solo allora una dose costante di problemi da colloquio. Partire dai problemi prima delle strutture è l'errore che fa la maggior parte degli autodidatti: non puoi riconoscere che una domanda richiede un heap se non ne hai mai costruito uno. Questo percorso è esattamente così, in quest'ordine.
Qual è il linguaggio migliore per algoritmi e strutture dati?
Quello in cui farai i colloqui. Python è il più veloce da scrivere ed è la scelta dei più; Java e C++ sono quelli usati da molte grandi aziende e dai programmatori competitivi; Go e Rust sono sempre più accettati. I corsi su strutture dati, ordinamenti, grafi e i pacchetti per i colloqui sono insegnati in quattordici linguaggi con le stesse lezioni e gli stessi casi di test (programmazione dinamica e la serie di colloqui Python sono solo in Python, la manipolazione dei bit è in C++), quindi scegline uno e, se un lavoro ne chiede un altro, ripeti un corso in quello: la seconda volta richiede pochi giorni.
Questo percorso basta per prepararsi ai colloqui di programmazione?
È il materiale su cui si basa ogni colloquio tecnico, insegnato costruendolo, più la pratica: dieci pacchetti di sfide da colloquio, una serie di colloqui in Python e due raccolte di problemi di programmazione alla fine. Quello che non sostituisce è il volume: dopo il percorso, continua a risolvere problemi nuovi a tempo, e considera il system design come uno studio a parte. La maggior parte dei colloqui per profili junior e intermedi è coperta da ciò che trovi qui.
Quanto tempo serve per imparare algoritmi e strutture dati?
Circa tre-quattro mesi con un'ora al giorno per l'intero percorso: da tre a quattro settimane per le prime cinque strutture dati, tre per le cinque successive, due o tre per gli ordinamenti, tre per ricorsione, programmazione dinamica e manipolazione dei bit, due o tre per gli algoritmi sui grafi, e i pacchetti per i colloqui per tutto il tempo che vuoi. La programmazione dinamica è dove si rallenta; il corso sulla ricorsione che la precede è ciò che la rende chiara.
Serve la matematica per imparare gli algoritmi?
Meno di quanto temi. Devi sentirti a tuo agio con i logaritmi (per leggere la notazione O grande), il calcolo combinatorio di base e l'idea di dimostrazione per induzione, che è ciò che la ricorsione insegna in pratica. Niente analisi, niente algebra lineare. Se riesci a seguire perché la ricerca binaria dimezza il problema a ogni passo, hai la matematica che serve a questo percorso.
Il corso di algoritmi e strutture dati è gratis?
Ogni corso del percorso è gratuito: le lezioni, l'editor nel browser, i casi di test, i suggerimenti AI e i certificati nei corsi che li rilasciano. Pro rimuove il limite giornaliero di energia e aggiunge aiuto AI illimitato; niente in questa pagina è bloccato dietro l'abbonamento.
Vale ancora la pena imparare le strutture dati ora che l'AI scrive codice?
Più di prima. I colloqui le verificano ancora perché sono il modo più rapido per capire se una persona sa ragionare su un programma invece di chiederlo a un prompt. Sul lavoro, chi sa che una ricerca in una tabella hash richiede tempo costante e un ciclo annidato no è la persona che sa leggere ciò che l'AI ha prodotto e dire se reggerà dieci milioni di righe.