Moji omiljeni besplatni tečajevi za dubinsko učenje struktura podataka i algoritama

Strukture podataka i algoritmi neke su od najvažnijih tema za programere, kako za dobivanje posla, tako i za dobro obavljanje posla. Dobro poznavanje struktura podataka i algoritama temelj je pisanja dobrog koda.

Ako ste upoznati s bitnim podatkovnim strukturama, npr. Nizom, nizovima, povezanim popisom, stablom, mapom i naprednim podatkovnim strukturama poput pokušaja i samo uravnoteženim stablima poput AVL stabala itd., Znat ćete kada upotrijebiti koju strukturu podataka i izračunajte cenu procesora i memorije vašeg koda.

Iako ne trebate pisati vlastiti niz, povezani popis ili hashtable, s obzirom na to da ih pruža svaki veći programski SDK, npr. JDK ili C ++ STL biblioteka, morat ćete ih razumjeti kako biste ih mogli koristiti na pravom mjestu .

Korištenje ispravne strukture podataka može drastično poboljšati izvedbu algoritma.

U idealnom slučaju, svi bismo trebali naučiti strukture podataka i algoritme u našim školama i na fakultetima, ali to se rijetko ikad pokriva. Većina programera, uključujući i mene, tek se na našim tečajevima informatike upoznaju sa strukturom podataka, ali zapravo nismo naučili njihovu stvarnu važnost i zato ih nismo bolje razumjeli.

Za nas su to samo algoritmi i strukture podataka, npr. Neki koncept, a ne alat koji možete koristiti za pisanje dobrih programa. Nismo znali da će ih Facebook koristiti za pohranu naših podataka ili da će ih Google koristiti za spremanje web stranica i povezivanje s upitima za pretraživanje.

Svejedno, nikad nije kasno.

Ako mislite da vaše znanje o strukturi podataka nije na nivou ili želite poboljšati svoje znanje o strukturi podataka, došli ste na pravo mjesto.

Ranije sam podijelio nekoliko besplatnih knjiga kako bih naučio strukture podataka i algoritme, a u ovom ćete članku naučiti neke od najboljih tečajeva za strukturu podataka i algoritme koji su besplatno dostupni na mreži.

Besplatni tečajevi za učenje struktura podataka i algoritama

Ovdje je moj popis nekih od najboljih tečajeva za učenje struktura podataka i algoritama, koji su također besplatni. Mnogi programeri misle da besplatni resursi nisu dobri, što nije istina.

Iako se ponekad ne podudaraju s kvalitetom i pokrivenošću plaćenih resursa, zapravo su najbolji resursi za početak.

Ovim tečajevima možete se upoznati s osnovnim strukturama podataka i naučiti neke osnove.

Neki od njih su posebno dobri s gledišta razgovora, tako da ih možete koristiti uz bilo koju knjigu kojom se pripremate za razgovor za posao programiranja.

Tečaj # 1: Koncepti strukture podataka u jeziku C

Ovo je još jedan besplatni tečaj za online algoritam i strukturu podataka koji ima za cilj podučavanje osnovnih podataka u računalnom programiranju.

Strukture podataka koje se predaju na tečaju uključuju Stack, Queue i Linked List pomoću programskog jezika C.

Primarni cilj ovog tečaja je natjerati studente i softverske inženjere da vizualiziraju kako funkcioniraju različite strukture podataka.

Ovo nije iscrpan tečaj, ali naučit ćete o stogu, redu čekanja i povezanom popisu.

Ukratko, to je izvrstan tečaj za programere koji su novi u podatkovnim strukturama i one koji su tek naučili programski jezik i žele naučiti osnove rada podatkovnih struktura.

Tečaj # 2: Algoritmi 1. dio - Coursera

Ovo je prvi dio dvodijelnog niza tečajeva koji pokrivaju algoritme i strukture podataka na Coureri, autora Roberta Sedgewicka.

U ovom ćete dijelu naučiti osnovne strukture podataka poput povezanih popisa, stogova, redova, binarnih stabala i hash tablica te algoritme pretraživanja i sortiranja poput binarnog pretraživanja, brzog sortiranja, spajanja, sortiranja umetanja itd.

Također ćete naučiti o osnovnim strukturama podataka i algoritmima koji se koriste u svakodnevnim aplikacijama i razumjeti kompromise odabira svake strukture podataka zajedno s algoritmima obilaženja, dohvaćanja i ažuriranja.

Sve značajke ovog tečaja dostupne su besplatno, ali ne nudi certifikat nakon završetka.

Tečaj # 3: Algoritmi - 2. dio

Ovo je drugi dio dvodijelnog niza besplatnih internetskih tečajeva Coursere koji pokrivaju strukture podataka i algoritme Roberta Sedgewicka i Kevina Waynea, obojica su profesora računalnih znanosti.

Robert Sedgewick također je autor knjige Algoritmi 4. izdanja , jedne od najpopularnijih knjiga o algoritmima za programere Java.

U ovom ćete dijelu naučiti o algoritmima za obradu grafova i nizova.

Također ćete naučiti neke napredne strukture podataka i algoritme koji se koriste u razvoju aplikacija.

Kad govorimo o društvenom dokazu, i algoritmi 1. dio i 2. algoritmi su visoko preporučeni tečajevi koji imaju impresivne kritike i ocjene.

Tečaj # 4. Strukture podataka u Javi

Ovo je uvodni mrežni tečaj o strukturama podataka, algoritmima i analizama složenosti. Naučit će vas dizajniranju, implementaciji i analizi osnovnih podatkovnih struktura pomoću Java jezika.

Najbolji dio ovog tečaja je broj praktičnih primjera i to što se fokusira na intuiciju, a ne na formule i matematičke dokaze.

Tečaj pruža dobar uvod za „analizu složenosti“, koja omogućava uočavanje programa s lošom (i izvrsnom) izvedbom, čak i bez potrebe za njegovim izvršavanjem.

To je sve o nekim besplatnim tečajevima o strukturi podataka i algoritmima dostupnim na mreži. Te tečajeve možete koristiti za učenje struktura podataka i algoritama vlastitim tempom.

Možda nisu sveobuhvatne, ali pružaju dobar uvod. Nakon što prođete ove tečajeve, možete odabrati dobru knjigu poput Uvod u algoritme kako biste dodatno nadopunili svoje znanje.

Tečaj br. 5. Jednostavne za napredne strukture podataka

Ažuriranje: ovaj tečaj više nije besplatan, ali sjajan je tečaj i možda vam se isplati. Ova tečaja o strukturi podataka i algoritmima iz Udemya namijenjena je svima onima koji žele naučiti strukture podataka od apsolutne osnovne do napredne razine.

Ovaj tečaj ne očekuje da imate predznanje o strukturama podataka, ali korisno je osnovno predznanje o Javi.

Autor @William Fiset je softverski inženjer u Googleu i bivši svjetski finalist ACM-ICPC-a i ima izvrsne računalne programe i vještine rješavanja problema.

Govoreći o društvenom dokazivanju, tečaj ima više od 25.000 učenika i prosječne ocjene od 683, što je impresivno.

Ukratko, to je cjelovit vodič za učenje svega što se može znati o strukturama podataka.

Ovo je također idealan tečaj za studente informatike i radne profesionalce u softveru koji žele naučiti strukture podataka i algoritme iz perspektive razgovora.

Dakle, ako tražite posao kod tvrtki koje se temelje na proizvodima poput Amazona, Googlea, Microsofta ili Facebooka, možete koristiti ovaj tečaj da biste započeli pripremu.

Daljnje učenje

  • Strukture podataka i algoritmi: dubinsko ronjenje pomoću Jave
  • Struktura podataka i algoritmi - 1. i 2. dio
  • 10 knjiga za pripremu razgovora za tehničko programiranje / kodiranje
  • 10 knjiga o algoritmu koje bi svaki programer trebao pročitati
  • Top 5 knjiga o strukturi podataka i algoritmu za programere Java
  • Od 0 do 1: Strukture podataka i algoritmi u Javi
  • Analiza strukture podataka i algoritama - Intervju za posao

Završne napomene

Hvala. Došli ste do kraja članka. Sretno s programerskim putovanjem! To sigurno neće biti lako, ali slijedeći ove tečajeve, korak ste bliže svladavanju strukture podataka i algoritama od ostalih.

Ako vam se sviđa ovaj članak, podijelite sa svojim prijateljima i kolegama i ne zaboravite pratiti Javinpaula na Twitteru!