Moje obľúbené bezplatné kurzy na hlbšie naučenie sa dátových štruktúr a algoritmov

Dátové štruktúry a algoritmy sú niektoré z najdôležitejších tém pre programátorov, a to ako pri hľadaní zamestnania, tak aj pri úspešnom vykonaní práce. Dobrá znalosť dátových štruktúr a algoritmov je základom písania dobrého kódu.

Ak poznáte základné dátové štruktúry, napr. Pole, reťazec, prepojený zoznam, strom, mapu a pokročilé dátové štruktúry, ako sú pokusy, a vyvážené stromy, ako sú stromy AVL, atď., Budete vedieť, kedy použiť ktorú dátovú štruktúru a vypočítať náklady na procesor a pamäť vášho kódu.

Aj keď nemusíte písať svoje vlastné pole, prepojený zoznam alebo hashtable, vzhľadom na to, že ich poskytuje každé veľké programovacie SDK, napr. Knižnica JDK alebo C ++ STL, musíte im porozumieť, aby ste ich mohli použiť na správnom mieste .

Používanie správnej dátovej štruktúry môže drasticky zvýšiť výkonnosť algoritmu.

V ideálnom prípade by sme sa všetci mali naučiť dátové štruktúry a algoritmy na našich školách a univerzitách, ale zriedka sú vždy zahrnuté. Väčšina programátorov, vrátane mňa, sa v našich kurzoch informatiky zoznámila iba s dátovou štruktúrou, ale skutočne sme sa nedozvedeli ich skutočný význam, a preto sme im lepšie nerozumeli.

Pre nás sú to iba algoritmy a dátové štruktúry, napr. Nejaký koncept, nie nástroj, ktorý môžete použiť na napísanie dobrých programov. Nevedeli sme, že Facebook ich použije na ukladanie našich údajov alebo že Google ich použije na ukladanie webových stránok a odkazov na vyhľadávacie dotazy.

Každopádne nikdy nie je neskoro.

Ak si myslíte, že vaše znalosti o dátovej štruktúre nie sú na úrovni alebo chcete zlepšiť svoje znalosti o dátovej štruktúre, ste na správnom mieste.

Predtým som zdieľal niekoľko kníh zadarmo, aby som sa naučil dátové štruktúry a algoritmy, a v tomto článku sa dozviete o niektorých najlepších kurzoch dátových štruktúr a algoritmov, ktoré sú online dostupné zadarmo.

Bezplatné kurzy na osvojenie dátových štruktúr a algoritmov

Tu je môj zoznam niektorých najlepších kurzov na učenie sa dátových štruktúr a algoritmov, ktoré sú tiež zadarmo. Mnoho programátorov si myslí, že bezplatné zdroje nie sú dobré, čo nie je pravda.

Aj keď niekedy nezodpovedajú kvalite a pokrytiu platených zdrojov, sú to v skutočnosti najlepšie zdroje, s ktorými treba začať.

Pomocou týchto kurzov sa môžete oboznámiť so základnými údajovými štruktúrami a naučiť sa základné veci.

Niektoré z nich sú obzvlášť dobré z hľadiska pohovoru, takže ich môžete použiť popri akejkoľvek knihe, ktorú používate, na prípravu na pohovor o programovaní.

Kurz č. 1: Koncepty dátovej štruktúry v C

Toto je ďalší bezplatný výcvikový kurz online zameraný na výučbu základných dátových štruktúr v počítačovom programovaní, ktorý sa týka online algoritmov a dátových štruktúr.

Dátové štruktúry vyučované v kurze zahŕňajú Stack, Queue a Linked List pomocou programovacieho jazyka C.

Hlavným cieľom tohto kurzu je umožniť študentom a softvérovým inžinierom vizualizovať, ako fungujú rôzne dátové štruktúry.

Toto nie je vyčerpávajúci kurz, ale dozviete sa o Stack, Queue a Linked List.

Stručne povedané, je to skvelý kurz pre programátorov, ktorí začínajú s dátovými štruktúrami, a pre tých, ktorí sa práve naučili programovací jazyk a chcú sa naučiť základy fungovania dátových štruktúr.

Kurz č. 2: Algoritmy, 1. časť - Coursera

Toto je prvá časť dvojdielnej série kurzov týkajúcich sa algoritmov a dátových štruktúr na Courere od Roberta Sedgewicka.

V tejto časti sa naučíte základné dátové štruktúry ako prepojené zoznamy, zásobníky, fronty, binárne stromy a hašovacie tabuľky a algoritmy vyhľadávania a triedenia ako binárne vyhľadávanie, rýchle triedenie, zlúčenie, triedenie vloženia atď.

Ďalej sa dozviete o základných dátových štruktúrach a algoritmoch používaných v každodenných aplikáciách a pochopíte kompromisy spojené s výberom každej dátovej štruktúry spolu s algoritmami prechodu, načítania a aktualizácie.

Všetky funkcie tohto kurzu sú k dispozícii zadarmo, ale po ukončení neposkytuje certifikát.

Kurz č. 3: Algoritmy - 2. časť

Toto je druhá časť dvojdielnej série bezplatných online kurzov Coursera, ktoré sa zaoberajú dátovými štruktúrami a algoritmami od Roberta Sedgewicka a Kevina Wayna, obaja sú profesormi informatiky.

Robert Sedgewick je tiež autorom knihy Algorithms 4th Edition , jednej z najobľúbenejších kníh o algoritmoch pre vývojárov Java.

V tejto časti sa dozviete o algoritmoch spracovania grafov a reťazcov.

Naučíte sa tiež niektoré pokročilé dátové štruktúry a algoritmy používané pri vývoji aplikácií.

Keď už hovoríme o sociálnom dôkaze, Algoritmy časť 1 a Algoritmy časť 2 sú veľmi odporúčané kurzy a majú pôsobivé recenzie a hodnotenia.

Kurz č. 4. Dátové štruktúry v Jave

Toto je úvodný online kurz o dátových štruktúrach, algoritmoch a analýzach zložitosti. Naučí vás navrhovať, implementovať a analyzovať základné dátové štruktúry pomocou jazyka Java.

Najlepšou časťou tohto kurzu je množstvo praktických príkladov, ktoré sa zameriavajú skôr na intuíciu ako na vzorce a matematické dôkazy.

Kurz poskytuje dobrý úvod do „analýzy zložitosti“, ktorá umožňuje spoznať slabo (a skvelo) fungujúci program, a to aj bez potreby jeho vykonávania.

To je všetko o niektorých bezplatných kurzoch štruktúry dát a algoritmov dostupných online. Tieto kurzy môžete využiť na osvojenie dátových štruktúr a algoritmov vlastným tempom.

Možno nie všetky sú komplexné, ale poskytujú dobrý úvod. Po absolvovaní týchto kurzov si môžete vybrať dobrú knihu, ako je Úvod do algoritmov, ktorá vám umožní ďalšie doplnenie vašich vedomostí.

Kurz č. 5. Jednoduché až pokročilé dátové štruktúry

Aktualizácia: tento kurz už nie je zadarmo, ale je to skvelý kurz a možno by pre vás stál za to. Tento kurz dátových štruktúr a algoritmov od Udemy je určený pre všetkých ľudí, ktorí sa chcú naučiť dátové štruktúry od absolútnej základnej až po pokročilú úroveň.

Tento kurz neočakáva, že by ste mali nejaké predchádzajúce znalosti o dátových štruktúrach, ale užitočné sú skôr základné znalosti jazyka Java.

Autor @William Fiset je softvérový inžinier v spoločnosti Google a bývalý svetový finalista ACM-ICPC. Má vynikajúce schopnosti v oblasti počítačového programovania a riešenia problémov.

Pokiaľ ide o sociálny dôkaz, kurz má viac ako 25 000 študentov a priemerné hodnotenie 4,1 z 683 hodnotení, čo je pôsobivé.

Stručne povedané, je to kompletný sprievodca, ako sa naučiť všetko, čo treba vedieť o dátových štruktúrach.

Je to tiež ideálny kurz pre študentov informatiky a pracujúcich softvérových profesionálov, ktorí sa chcú naučiť dátové štruktúry a algoritmy z pohľadu pohovoru.

Ak teda hľadáte prácu v produktových spoločnostiach ako Amazon, Google, Microsoft alebo Facebook, môžete pomocou tohto kurzu naštartovať svoju prípravu.

Ďalšie vzdelávanie

  • Dátové štruktúry a algoritmy: Hlboký ponor pomocou Java
  • Štruktúra údajov a algoritmy - časť 1 a 2
  • 10 kníh na prípravu technického programovania / kódovania pracovných pohovorov
  • 10 kníh o algoritmoch, ktoré by si mal prečítať každý programátor
  • Najobľúbenejších 5 kníh o štruktúre dát a algoritmoch pre vývojárov Java
  • Od 0 do 1: Dátové štruktúry a algoritmy v Jave
  • Analýza dátovej štruktúry a algoritmov - pracovný pohovor

Záverečné poznámky

Vďaka. Dostali ste sa až na koniec článku. Veľa šťastia pri programovaní Cesta! Určite to nebude ľahké, ale absolvovaním týchto kurzov ste o krok bližšie k zvládnutiu dátovej štruktúry a algoritmov ako ostatní.

Ak sa vám tento článok páči, potom ho zdieľajte so svojimi priateľmi a kolegami a nezabudnite sledovať javinpaul na Twitteri!