Menu
Coddy logo textTech
Percorso di apprendimento

Algoritmi e strutture dati in Python

Python è il modo più completo di seguire questo percorso: ogni corso è insegnato in Python tranne la manipolazione dei bit, solo in C++ ed elencata dopo i passaggi. Costruisci da te la pila, la tabella hash, l'heap e l'albero AVL, così list, dict, deque e heapq smettono di essere magia, poi lo dimostri su problemi da colloquio valutati. Gratis, nel browser, con un certificato nella maggior parte dei corsi.

404 lezioni228 sfide702 domande del quiz

Algoritmi e strutture dati in Python, passo dopo passo

40 corsi404 lezioni228 sfide702 domande del quiz

Ogni passaggio è un insieme di corsi Coddy già esistenti, e ogni pulsante Inizia li apre in Python. L'unico corso non insegnato in Python, la manipolazione dei bit, è elencato dopo i passaggi.

  1. 1
    Inizia questo passoIniziaPila, coda, albero binario, tabella hash e lista concatenata, ognuno costruito da zero in Python e poi usato per risolvere problemi. Alla fine sai cosa fanno per te list, deque e dict, e quanto costano.Inizia
  2. 2
    Inizia questo passoIniziaLista doppiamente concatenata, heap e code di priorità, trie, grafi e l'albero AVL autobilanciato. Alla fine, heapq è un heap binario che hai scritto tu, e l'albero bilanciato che Python non ti ha mai dato sai costruirlo da te.Inizia
  3. 3
    Inizia questo passoIniziaBubble sort, selection, insertion, merge, quick, heap, counting e radix sort, scritti in Python e osservati nel visualizzatore. Il sorted() di Python è Timsort, un ibrido tra merge sort e insertion sort, e dopo questo passaggio sai spiegare perché è una buona idea.Inizia
  4. 4
    Inizia questo passoIniziaSfide di ricorsione, poi programmazione dinamica dalla memoizzazione alla tabulazione, entrambe in Python. La manipolazione dei bit è insegnata in C++, quindi è elencata dopo i passaggi; i suoi &, |, ^, << e >> sono anche operatori di Python, quindi si legge comunque facilmente.Inizia
  5. 5
    Inizia questo passoIniziaRicerca in ampiezza e in profondità, Dijkstra, Bellman-Ford, ordinamento topologico, Kruskal e Prim in Python, sul grafo che hai costruito nel secondo passaggio. La coda di priorità di Dijkstra è heapq: l'heap del secondo passaggio, in forma di libreria.Inizia
  6. 6
Cosa ottieni
Tutto ciò che userai per imparare a programmare

Impara facendo

Scrivi codice vero, interroga database, crea siti web e padroneggia i prompt per l'AI. Le nostre lezioni interattive coprono tutte le competenze di cui ha bisogno uno sviluppatore moderno.

playground.js
Editor di codice
1const greeting = "Hello, Coddy!"
2function sayHi(name) {
3    return greeting + " " + name
4}
5
bottombar Collapse icon
Test #1test Case Success icon
Test #2test Case Success icon
Test #3test Case Failure icon
Input
"Alex"
Output
"Hello, Coddy! Alex"

Costruisci la tua serie

Sii costante e guarda crescere i tuoi progressi! Tieni traccia della tua abitudine quotidiana di programmare, proteggi la tua serie con i giorni di congelamento e guadagna ricompense ogni giorno che ti presenti.

12 giorni di serie

Torna domani per mantenere la tua serie!

fire Filled icon
left icon

January 2026

right icon

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

21

22

23

24

25

26

27

28

29

30

product Double Or Nothing icon

Lascia o raddoppia

Giorno 5 di 7

fire Freeze icon

Congela serie

2 left

Programma ovunque

Porta il tuo percorso di programmazione sempre con te! Niente configurazioni, niente download: apri l'app e inizia a programmare. Disponibile su iOS, Android e Web con valutazioni di 4,9 stelle.

Python
7Serie
250Punteggio
5Energia
Variabili
journey Hex Done Base iconjourney Hex Done Shadow iconjourney Hex Done Top iconjourney Lesson Done icon
journey Path Right Done icon
journey Hex Done Base iconjourney Hex Done Shadow iconjourney Hex Done Top iconjourney Lesson Done icon
journey Path Left Done icon
journey Hex Active Base iconjourney Hex Active Shadow iconjourney Hex Active Top iconjourney Lesson Theory Challenge icon
CONTINUA
journey Path Right icon
journey Hex Locked Base iconjourney Hex Locked Shadow iconjourney Hex Locked Top iconjourney Lesson Theory Challenge icon
journey Path Left icon
journey Hex Locked Base iconjourney Hex Locked Shadow iconjourney Hex Locked Top iconjourney Lesson All icon
Percorso
Obiettivi
Classifica
Profilo
4.9
StellaStellaStellaStellaStella
Valutazione

Non sei solo

Competi nelle classifiche globali, invita gli amici per guadagnare ricompense e festeggiate insieme i vostri successi. Programmare è più bello con gli amici!

Lega Sfidante
Lega SfidanteI primi 7 avanzano
leaderboard First icon1
avatar 1 icon
fire Filled icon
Alex7+ Days
2840
leaderboard Second icon2
avatar 2 icon
fire Filled icon
Jordan7+ Days
2650
leaderboard Third icon3
avatar 3 icon
fire Filled icon
Sam7+ Days
2420
4
avatar 4 icon
Casey
2180
5
avatar placeholder icon
fire Filled icon
Morgan7+ Days
1950
leaderboard Arrow Up iconZona promozioneleaderboard Arrow Up icon

Tutti i modi per imparare

Leggi, ascolta, mettiti alla prova, chiedi all'AI o ripassa qualsiasi cosa tu abbia già visto. Ogni lezione si adatta a te.

Introduzione alle variabili
Audio

Una variabile è un contenitore con un nome che memorizza un valore a cui puoi fare riferimento più avanti nel programma.

In Python la crei scrivendo il nome, un segno di uguale e poi il valore che vuoi memorizzare.

Il valore può cambiare nel tempo: riassegnare il nome lo fa semplicemente puntare a un nuovo valore.

1xSarah

Ottieni un certificato

Ottieni un certificato per ogni corso che completi. Aggiungilo al tuo profilo LinkedIn e al curriculum per mostrare ai datori di lavoro le tue competenze di programmazione.

CoddyCertificato di completamento
Si certifica cheMario Rossiha completato con successo
python iconFondamenti di Python
Verificato
Datagen 2026
LinkedInAggiungi a LinkedIn

Perché imparare algoritmi e strutture dati in Python su Coddy

  • Tutto il percorso, in un solo linguaggio. Le strutture dati, gli ordinamenti, la ricorsione, la programmazione dinamica, gli algoritmi sui grafi e i pacchetti da colloquio sono tutti insegnati in Python, e così la serie di colloqui in Python, che non esiste in nessun altro linguaggio. Fa eccezione solo la manipolazione dei bit: è insegnata in C++ ed elencata dopo i passaggi.
  • Strutture integrate che sai spiegare. Python ti mette in mano list, dict, set, deque e heapq. Costruire le strutture che ci sono dietro è il modo per capire perché list.pop(0) è lento, perché una ricerca in un dict richiede in media tempo costante, e quando un heap batte l'ordinamento, che è proprio ciò che ti chiede chi ti fa il colloquio dopo che ne hai usato uno.
  • Codice breve, così l'idea si vede. Una lista concatenata o una ricerca binaria stanno in una schermata in Python, senza dichiarazioni di tipo o gestione della memoria di mezzo. Per questo è il linguaggio più rapido per imparare gli algoritmi, e per questo tanti candidati lo scelgono per i colloqui tecnici.
  • Valutato come in un colloquio. Ogni lezione termina con una sfida verificata da casi di test, e quando una fallisce, Bugsy legge il tuo codice Python e ti indirizza verso la correzione senza darti la risposta. Un certificato gratuito nella maggior parte dei corsi, ognuno verificabile al proprio URL.

Domande frequenti su algoritmi e strutture dati in Python

Python va bene per algoritmi e strutture dati?

Sì, e per imparare è probabilmente la scelta migliore: il codice è breve, quindi ciò che leggi è l'algoritmo, non la sintassi intorno. Vale la pena conoscere due compromessi. Python è più lento di Java o C++, cosa che conta con i limiti di tempo stretti della programmazione competitiva ma raramente in un colloquio, e le sue strutture integrate nascondono i costi su cui stai imparando a ragionare, ed è per questo che il percorso te le fa costruire prima.

Quali strutture dati di Python devo conoscere per i colloqui tecnici?

list (un array dinamico), dict e set (tabelle hash), tuple, collections.deque (una coda veloce su entrambe le estremità), heapq (un min-heap binario su una lista) e collections.Counter. Devi sapere quanto costa ogni operazione, non solo il suo nome. Python non ha liste concatenate, alberi, trie o grafi integrati, quindi quelli li scrivi tu, nel primo e nel secondo passaggio.

Perché implementare una pila o una coda se Python le ha già?

Perché nei colloqui raramente ti chiedono di usare una coda e spesso ti chiedono perché la tua soluzione è lenta. Una coda basata su una list paga ogni pop(0), perché ogni elemento rimanente si sposta di una posizione; deque.popleft() no. Implementare ogni struttura una volta è il modo per conoscerne i costi abbastanza bene da scegliere quella giusta senza pensarci.

Python è abbastanza veloce per la programmazione competitiva?

Per la maggior parte dei problemi, sì. Con limiti di tempo stretti il C++ è la scelta più sicura, ed è per questo che la maggior parte dei programmatori competitivi lo usa, e molti giudici online offrono PyPy, che esegue lo stesso codice Python molto più velocemente. In un colloquio conta molto di più quanto velocemente scrivi che quanto velocemente gira il codice, e lì vince Python.

Qual è il limite di ricorsione di Python, e conta per algoritmi e strutture dati?

Per impostazione predefinita CPython si ferma a una profondità di 1000 chiamate, quindi una ricerca in profondità ricorsiva su una catena lunga può sollevare RecursionError. Puoi alzare il limite con sys.setrecursionlimit, ma l'abitudine migliore, e quella che chi ti fa il colloquio apprezza, è saper sostituire la ricorsione con un ciclo e una pila esplicita: la struttura che costruisci nel primo passaggio.

Devo conoscere Python prima di iniziare questo percorso?

Dovresti trovarti a tuo agio con funzioni, cicli, liste e dizionari, e idealmente con le classi, dato che ogni struttura qui è scritta come una classe. Se non sei ancora a quel punto, il corso di Python di Coddy ti ci porta prima, gratis, e questo percorso riprende da dove finisce.

Altri percorsi di apprendimento

Gli stessi corsi, organizzati per un ruolo diverso. I progressi si mantengono: un corso completato in un percorso vale per ogni percorso che lo include.

Tutti i percorsi di apprendimento
Illustrazione dei linguaggi di programmazione di Coddy

Inizia gratis il percorso Algoritmi e strutture dati

Inizia a imparare