I miei corsi gratuiti preferiti per imparare strutture dati e algoritmi in profondità

di javinpaul

Strutture dati e algoritmi sono alcuni degli argomenti più essenziali per i programmatori, sia per ottenere un lavoro che per fare bene un lavoro. Una buona conoscenza delle strutture dati e degli algoritmi è il fondamento della scrittura di buon codice.

Se hai familiarità con le strutture dati essenziali come array, stringhe, linked list, alberi, mappe, e strutture dati avanzate come tries, e alberi autobilanciati come gli alberi AVL, ecc, saprete quando usare quale struttura dati e calcolare il costo della CPU e della memoria del vostro codice.

Anche se non avete bisogno di scrivere il vostro array, lista collegata o hashtable, dato che ogni SDK di programmazione principale li fornisce, ad es. JDK o la libreria STL del C++, avrete bisogno di capirli in modo da poterli usare al posto giusto.

Utilizzare la giusta struttura dati può migliorare drasticamente le prestazioni di un algoritmo.

In realtà, dovremmo tutti imparare le strutture dati e gli algoritmi nelle nostre scuole e università, ma raramente vengono trattati. La maggior parte dei programmatori, me compreso, viene introdotta alle strutture dati solo nei nostri corsi di informatica, ma non ne abbiamo davvero imparato l’importanza nel mondo reale, ed è per questo che non le abbiamo capite meglio.

Per noi, sono solo gli algoritmi e le strutture dati ad esempio qualche concetto, non uno strumento che si può usare per scrivere buoni programmi. Non sapevamo che Facebook li avrebbe usati per memorizzare i nostri dati o che Google li avrebbe usati per memorizzare le pagine web e collegarsi alle query di ricerca.

Ad ogni modo, non è mai troppo tardi.

Se pensi che la tua conoscenza delle strutture dati non sia all’altezza o vuoi migliorare la tua conoscenza delle strutture dati, allora sei arrivato nel posto giusto.

Prima ho condiviso alcuni libri gratuiti per imparare le strutture dati e gli algoritmi, e in questo articolo, imparerai a conoscere alcuni dei migliori corsi di strutture dati e algoritmi che sono disponibili gratuitamente online.

Corsi gratuiti per imparare strutture dati e algoritmi

Ecco la mia lista di alcuni dei migliori corsi per imparare strutture dati e algoritmi, che sono anche gratuiti. Molti programmatori pensano che le risorse gratuite non siano buone, il che non è vero.

Anche se a volte non eguagliano la qualità e la copertura delle risorse a pagamento, sono, infatti, le migliori risorse per iniziare.

Puoi usare questi corsi per familiarizzare con le strutture dati essenziali e imparare alcune basi.

Alcuni di essi sono particolarmente validi dal punto di vista del colloquio, quindi puoi usarli insieme a qualsiasi libro che stai usando per preparare il tuo colloquio di lavoro di programmazione.

Corso #1: Concetti di struttura dati in C

Questo è un altro corso di formazione online gratuito su algoritmi e strutture dati, che mira a insegnare le strutture dati di base nella programmazione dei computer.

Le strutture dati insegnate nel corso includono Stack, Queue, e Linked List usando il linguaggio di programmazione C.

L’obiettivo principale di questo corso è quello di far visualizzare agli studenti e agli ingegneri del software come funzionano le diverse strutture dati.

Concetti di strutture dati in C

Questo non è un corso esaustivo, ma si impara su Stack, Queue, e Linked List.

In breve, è un ottimo corso per programmatori nuovi alle strutture dati e per coloro che hanno appena imparato un linguaggio di programmazione e vogliono imparare le basi di come funzionano le strutture dati.

Corso #2: Algoritmi Parte 1 – Coursera

Questa è la prima parte di una serie di corsi in due parti che copre algoritmi e strutture dati su Courera di Robert Sedgewick.

In questa parte, imparerai strutture di dati essenziali come liste collegate, pile, code, alberi binari e tabelle hash, e algoritmi di ricerca e ordinamento come ricerca binaria, quicksort, mergesort, insertion sort ecc.

Algoritmi Parte 1

Imparerai anche le strutture dati e gli algoritmi di base usati nelle applicazioni quotidiane e capirai i compromessi coinvolti nella scelta di ogni struttura dati insieme agli algoritmi di attraversamento, recupero e aggiornamento.

Tutte le caratteristiche di questo corso sono disponibili gratuitamente ma non offre un certificato al completamento.

Corso #3: Algoritmi – Parte 2

Questa è la seconda parte di una serie di due parti di corsi gratuiti online di Coursera che coprono le strutture dati e gli algoritmi di Robert Sedgewick e Kevin Wayne, entrambi professori di Computer Science.

Robert Sedgewick è anche l’autore del libro Algoritmi 4th Edition, uno dei libri più popolari sugli algoritmi per sviluppatori Java.

In questa parte, imparerai gli algoritmi di elaborazione dei grafi e delle stringhe.

Imparerai anche alcune strutture dati avanzate e algoritmi usati nello sviluppo di applicazioni.

Parlando della prova sociale, sia Algoritmi Parte 1 che Algoritmi Parte 2 sono corsi altamente raccomandati e hanno recensioni e valutazioni impressionanti.

Algoritmi – Parte 2

Corso #4. Strutture di dati in Java

Questo è un corso introduttivo online sulle strutture di dati, algoritmi e analisi della complessità. Ti insegnerà la progettazione, l’implementazione e l’analisi delle strutture dati di base usando il linguaggio Java.

La parte migliore di questo corso è il numero di esempi pratici e che si concentra sull’intuizione piuttosto che su formule e prove matematiche.

Struttura dei dati in Java

Il corso fornisce una buona introduzione all'”analisi della complessità”, che rende possibile individuare un programma poco performante (e uno ottimo), anche senza la necessità di eseguirlo.

Questo è tutto su alcuni dei corsi gratuiti di struttura dei dati e algoritmi disponibili online. Puoi usare questi corsi per imparare strutture di dati e algoritmi al tuo ritmo.

Potrebbero non essere tutti completi, ma forniscono una buona introduzione. Una volta che hai seguito questi corsi, puoi scegliere un buon libro come Introduzione agli algoritmi per completare ulteriormente la tua conoscenza.

Corso #5. Easy to Advanced Data Structures

Aggiornamento: questo corso non è più gratuito, ma è un ottimo corso e potrebbe valerne la pena. Questo corso sulla struttura dei dati e sugli algoritmi di Udemy è per tutte quelle persone che vogliono imparare le strutture di dati da un livello base assoluto a quello avanzato.

Questo corso non si aspetta che tu abbia una conoscenza preliminare delle strutture di dati, ma una conoscenza preliminare di base di Java è utile.

L’autore @William Fiset è un ingegnere software di Google e un ex finalista mondiale ACM-ICPC e ha eccellenti capacità di programmazione e di risoluzione dei problemi.

Parlando di prova sociale, il corso ha più di 25K studenti e una media di 4.1 voti su 683 valutazioni, che è impressionante.

In breve, è una guida completa per imparare tutto quello che c’è da sapere sulle strutture dati.

Easy to Advanced Data Structures

Questo è anche un corso ideale per studenti di informatica e professionisti del software che vogliono imparare strutture dati e algoritmi da una prospettiva di intervista.

Così, se stai cercando di ottenere un lavoro con aziende basate su prodotti come Amazon, Google, Microsoft o Facebook, puoi usare questo corso per iniziare la tua preparazione.

Apprendimento ulteriore

  • Strutture di dati e algoritmi: Deep Dive Using Java
  • Struttura dei dati e algoritmi – Parte 1 e 2
  • 10 libri per preparare colloqui di lavoro di programmazione/codifica tecnica
  • 10 libri sugli algoritmi che ogni programmatore dovrebbe leggere
  • Top 5 libri su struttura dei dati e algoritmi per sviluppatori Java
  • Da 0 a 1: Strutture di dati & Algoritmi in Java
  • Analisi della struttura dei dati e degli algoritmi – Colloquio di lavoro

Note conclusive

Grazie. Sei arrivato alla fine dell’articolo. Buona fortuna per il tuo viaggio di programmazione! Non sarà certamente facile, ma seguendo questi corsi, sei un passo più vicino di altri a padroneggiare la struttura dei dati e gli algoritmi.

Se ti piace questo articolo, allora per favore condividi con i tuoi amici e colleghi, e non dimenticare di seguire javinpaul su Twitter!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.