Cursurile mele preferate gratuite pentru a învăța structurile de date și algoritmii în profunzime

de javinpaul

Structurile de date și algoritmii sunt unele dintre cele mai esențiale subiecte pentru programatori, atât pentru a obține un loc de muncă, cât și pentru a se descurca bine la locul de muncă. O bună cunoaștere a structurilor de date și a algoritmilor reprezintă fundamentul scrierii unui cod bun.

Dacă sunteți familiarizați cu structurile de date esențiale, de ex. array, șiruri de caractere, liste legate, arbori, hărți și structuri de date avansate, cum ar fi tries și arbori autoechilibrați, cum ar fi arborii AVL, etc., veți ști când să folosiți care structură de date și să calculați costul CPU și de memorie al codului dumneavoastră.

Chiar dacă nu este nevoie să vă scrieți propriul array, listă legată sau hashtable, având în vedere că fiecare SDK de programare important le oferă, de ex. JDK sau biblioteca STL din C++, va trebui să le înțelegeți pentru a le putea folosi la locul potrivit.

Utilizarea structurii de date potrivite poate îmbunătăți drastic performanța unui algoritm.

În mod normal, cu toții ar trebui să învățăm structuri de date și algoritmi în școlile și colegiile noastre, dar rareori se abordează acest subiect. Majoritatea programatorilor, inclusiv eu însumi, am făcut cunoștință cu o structură de date doar în cadrul cursurilor noastre de informatică, dar nu am învățat cu adevărat importanța lor în lumea reală și de aceea nu le-am înțeles mai bine.

Pentru noi, acestea sunt doar algoritmii și structurile de date, de exemplu, un concept oarecare, nu un instrument pe care îl poți folosi pentru a scrie programe bune. Nu am știut că Facebook le va folosi pentru a ne stoca detaliile sau că Google le va folosi pentru a stoca pagini web și pentru a face legătura cu interogările de căutare.

În orice caz, niciodată nu este prea târziu.

Dacă credeți că cunoștințele dvs. despre structurile de date nu sunt la înălțime sau doriți să vă îmbunătățiți cunoștințele despre structurile de date, atunci ați ajuns la locul potrivit.

Anterior, am împărtășit câteva cărți gratuite pentru a învăța structuri de date și algoritmi, iar în acest articol, veți afla despre unele dintre cele mai bune cursuri de structuri de date și algoritmi care sunt disponibile gratuit online.

Cursuri gratuite pentru a învăța structuri de date și algoritmi

Aici este lista mea cu unele dintre cele mai bune cursuri pentru a învăța structuri de date și algoritmi, care sunt, de asemenea, gratuite. Mulți programatori cred că resursele gratuite nu sunt bune, ceea ce nu este adevărat.

Chiar dacă uneori nu egalează calitatea și acoperirea resurselor plătite, acestea sunt, de fapt, cele mai bune resurse pentru a începe.

Puteți folosi aceste cursuri pentru a vă familiariza cu structurile de date esențiale și pentru a învăța câteva noțiuni de bază.

Câteva dintre ele sunt deosebit de bune din punctul de vedere al interviului, astfel încât le puteți folosi alături de orice carte pe care o folosiți pentru a vă pregăti pentru interviul de angajare în programare.

Cursul #1: Data Structure Concepts in C

Este un alt curs gratuit, online, de formare în domeniul algoritmilor și structurilor de date, care își propune să vă învețe structurile de date de bază în programarea calculatoarelor.

Structurile de date predate în acest curs includ Stack, Queue și Linked List folosind limbajul de programare C.

Obiectivul principal al acestui curs este de a face studenții și inginerii de software să vizualizeze modul în care funcționează diferite structuri de date.

Concepte de structuri de date în C

Acest curs nu este unul exhaustiv, dar veți învăța despre Stack, Queue și Linked List.

În concluzie, este un curs excelent pentru programatorii noi în domeniul structurilor de date și pentru cei care tocmai au învățat un limbaj de programare și doresc să învețe elementele de bază ale modului în care funcționează structurile de date.

Curs #2: Algoritmi Partea 1 – Coursera

Aceasta este prima parte a unei serii de două cursuri care acoperă algoritmii și structurile de date pe Courera de Robert Sedgewick.

În această parte, veți învăța structuri de date esențiale, cum ar fi listele legate, stivele, cozile, arborii binari și tabelele hash, precum și algoritmi de căutare și sortare, cum ar fi căutarea binară, quicksort, mergesort, sortarea prin inserție etc.

Algoritmi Partea 1

Vă veți învăța, de asemenea, despre structurile de date și algoritmii de bază utilizați în aplicațiile de zi cu zi și veți înțelege compromisurile implicate de alegerea fiecărei structuri de date, împreună cu algoritmi de traversare, regăsire și actualizare.

Toate caracteristicile acestui curs sunt disponibile gratuit, dar nu oferă un certificat la finalizare.

Curs #3: Algoritmi – Partea 2

Aceasta este a doua parte a unei serii de două cursuri online gratuite Coursera care acoperă structurile de date și algoritmii, susținute de Robert Sedgewick și Kevin Wayne, ambii sunt profesori de informatică.

Robert Sedgewick este, de asemenea, autorul cărții Algorithms 4th Edition, una dintre cele mai populare cărți despre algoritmi pentru dezvoltatorii Java.

În această parte, veți învăța despre algoritmii de procesare a grafurilor și a șirurilor de caractere.

Voi învăța, de asemenea, câteva structuri de date avansate și algoritmi utilizați în dezvoltarea de aplicații.

Vorbind despre dovada socială, atât Algoritmi Partea 1 cât și Algoritmi Partea 2 sunt cursuri foarte recomandate și au recenzii și evaluări impresionante.

Algoritmi – Partea 2

Curs #4. Structuri de date în Java

Este un curs online introductiv privind structurile de date, algoritmii și analizele de complexitate. Vă va învăța proiectarea, implementarea și analizele structurilor de date de bază folosind limbajul Java.

Cel mai bun aspect al acestui curs este numărul de exemple practice și faptul că se concentrează pe intuiție mai degrabă decât pe formule și demonstrații matematice.

Structura de date în Java

Cursul oferă o bună introducere pentru „analiza complexității”, care face posibilă depistarea unui program cu performanțe slabe (și a unuia foarte bun), chiar și fără a fi nevoie să îl executați.

Acesta este tot despre câteva dintre cursurile gratuite de structură de date și algoritmi disponibile online. Puteți folosi aceste cursuri pentru a învăța structuri de date și algoritmi în propriul ritm.

Poate că nu sunt toate cuprinzătoare, dar ele oferă o bună introducere. După ce parcurgeți aceste cursuri, puteți alege o carte bună precum Introduction to Algorithms pentru a vă completa și mai mult cunoștințele.

Cursul #5. Easy to Advanced Data Structures

Update: acest curs nu mai este gratuit, dar este un curs grozav și s-ar putea să merite pentru dumneavoastră. Acest curs de structuri de date și algoritmi de la Udemy se adresează tuturor acelor persoane care doresc să învețe structuri de date de la un nivel absolut de bază până la un nivel avansat.

Acest curs nu se așteaptă să aveți cunoștințe anterioare de structuri de date, dar o cunoaștere prealabilă de bază a Java este utilă.

Autorul @William Fiset este un inginer de software la Google și un fost finalist mondial ACM-ICPC și are abilități excelente de programare a calculatoarelor și de rezolvare a problemelor.

Vorbind despre dovada socială, cursul are mai mult de 25K studenți și o medie de 4,1 evaluări din 683 de evaluări, ceea ce este impresionant.

Pe scurt, este un ghid complet pentru a învăța tot ce este de știut despre structurile de date.

Easy to Advanced Data Structures

Este, de asemenea, un curs ideal pentru studenții la informatică și profesioniștii software care lucrează și care doresc să învețe structurile de date și algoritmii din perspectiva unui interviu.

Așa că, dacă doriți să obțineți un loc de muncă în companii bazate pe produse precum Amazon, Google, Microsoft sau Facebook, puteți folosi acest curs pentru a vă începe pregătirea.

Învățare suplimentară

  • Structuri de date și algoritmi: Deep Dive Using Java
  • Structură de date și algoritmi – Partea 1 și 2
  • 10 cărți pentru pregătirea interviurilor de angajare pentru programare tehnică/codificare
  • 10 cărți despre algoritmi pe care orice programator ar trebui să le citească
  • Top 5 cărți despre structura de date și algoritmi pentru dezvoltatorii Java
  • De la 0 la 1: Structuri de date & Algoritmi în Java
  • Analiză de structură de date și algoritmi – Interviu de angajare

Note de încheiere

Mulțumiri. Ați ajuns până la sfârșitul articolului. Mult succes în Călătoria dumneavoastră în programare! Cu siguranță nu va fi ușor, dar urmând aceste cursuri, sunteți cu un pas mai aproape decât alții de a stăpâni structura de date și algoritmii.

Dacă v-a plăcut acest articol, atunci vă rugăm să dați share prietenilor și colegilor dvs. și nu uitați să îl urmăriți pe javinpaul pe Twitter!

.

Lasă un răspuns

Adresa ta de email nu va fi publicată.