od javinpaul
Datové struktury a algoritmy jsou jedny z nejzásadnějších témat pro programátory, a to jak pro získání zaměstnání, tak pro dobré pracovní výsledky. Dobrá znalost datových struktur a algoritmů je základem psaní dobrého kódu.
Pokud znáte základní datové struktury, např. pole, řetězce, spojový seznam, strom, mapu, a pokročilé datové struktury, jako jsou tries, a samovyvážené stromy, jako jsou AVL stromy atd, budete vědět, kdy kterou datovou strukturu použít, a spočítáte si náklady na procesor a paměť svého kódu.
I když nemusíte psát vlastní pole, spojový seznam nebo hashtable, vzhledem k tomu, že je poskytuje každá významná programovací sada SDK, např. JDK nebo knihovna C++ STL, budete jim muset rozumět, abyste je mohli použít na správném místě.
Použití správné datové struktury může drasticky zlepšit výkon algoritmu.
Všichni bychom se měli ve školách a na vysokých školách učit datové struktury a algoritmy, ale málokdy se to probírá. Většina programátorů, včetně mě, se s datovou strukturou seznámila pouze v kurzech informatiky, ale nenaučili jsme se jejich skutečný význam, a proto jsme jim lépe nerozuměli.
Pro nás jsou algoritmy a datové struktury pouze např. nějakým konceptem, ne nástrojem, který můžete použít k psaní dobrých programů. Nevěděli jsme, že je Facebook bude používat k ukládání našich údajů nebo že je Google bude používat k ukládání webových stránek a propojení s vyhledávacími dotazy.
V každém případě nikdy není pozdě.
Pokud si myslíte, že vaše znalosti datových struktur nejsou na úrovni, nebo si je chcete zlepšit, pak jste na správném místě.
Již dříve jsem se s vámi podělil o několik bezplatných knih k výuce datových struktur a algoritmů a v tomto článku se dozvíte o několika nejlepších kurzech datových struktur a algoritmů, které jsou k dispozici zdarma online.
- Bezplatné kurzy k výuce datových struktur a algoritmů
- Kurz č. 1: Koncepty datových struktur v jazyce C
- Kurz č. 2: Algoritmy 1. část – Coursera
- Kurz #3: Algoritmy – 2. část
- Kurz č. 4: Algoritmy – 2. část. Datové struktury v Javě
- Kurz č. 5. Snadné až pokročilé datové struktury
- Další vzdělávání
- Závěrečné poznámky
Bezplatné kurzy k výuce datových struktur a algoritmů
Tady je můj seznam několika nejlepších kurzů k výuce datových struktur a algoritmů, které jsou navíc zdarma. Mnoho programátorů si myslí, že bezplatné zdroje nejsou dobré, což není pravda.
I když se někdy nevyrovnají kvalitě a rozsahu placených zdrojů, jsou ve skutečnosti nejlepšími zdroji pro začátek.
Pomocí těchto kurzů se můžete seznámit se základními datovými strukturami a naučit se některé základy.
Některé z nich jsou obzvláště dobré z hlediska přijímacího pohovoru, takže je můžete použít vedle jakékoli knihy, kterou používáte k přípravě na přijímací pohovor do zaměstnání v oboru programování.
Kurz č. 1: Koncepty datových struktur v jazyce C
Jedná se o další bezplatný online výukový kurz algoritmizace a datových struktur, jehož cílem je naučit základní datové struktury v počítačovém programování.
Datové struktury vyučované v kurzu zahrnují zásobník, frontu a propojený seznam pomocí programovacího jazyka C.
Primárním cílem tohoto kurzu je, aby si studenti a softwaroví inženýři dokázali představit, jak různé datové struktury fungují.
Tento kurz není vyčerpávající, ale dozvíte se o zásobníku, frontě a propojeném seznamu.
Krátce řečeno, je to skvělý kurz pro programátory, kteří s datovými strukturami začínají, a pro ty, kteří se právě naučili programovací jazyk a chtějí se naučit základy fungování datových struktur.
Kurz č. 2: Algoritmy 1. část – Coursera
Jedná se o první část dvoudílné série kurzů věnovaných algoritmům a datovým strukturám na serveru Courera od Roberta Sedgewicka.
V této části se seznámíte se základními datovými strukturami, jako jsou spojové seznamy, zásobníky, fronty, binární stromy a hašovací tabulky, a vyhledávacími a třídicími algoritmy, jako je binární vyhledávání, quicksort, mergesort, insertion sort atd.
Dozvíte se také o základních datových strukturách a algoritmech používaných v každodenních aplikacích a pochopíte kompromisy spojené s výběrem jednotlivých datových struktur spolu s algoritmy procházení, vyhledávání a aktualizace.
Všechny funkce tohoto kurzu jsou k dispozici zdarma, ale nenabízí certifikát po dokončení.
Kurz #3: Algoritmy – 2. část
Jedná se o druhou část dvoudílné série bezplatných online kurzů Coursera zabývajících se datovými strukturami a algoritmy, jejichž autory jsou Robert Sedgewick a Kevin Wayne, oba profesoři informatiky.
Robert Sedgewick je také autorem knihy Algoritmy 4. vydání, jedné z nejpopulárnějších knih o algoritmech pro vývojáře v jazyce Java.
V této části se seznámíte s algoritmy pro zpracování grafů a řetězců.
Dozvíte se také o některých pokročilých datových strukturách a algoritmech používaných při vývoji aplikací.
Mluvíme-li o sociálním důkazu, jak Algoritmy – 1. část, tak Algoritmy – 2. část jsou velmi doporučované kurzy a mají působivé recenze a hodnocení.
Kurz č. 4: Algoritmy – 2. část. Datové struktury v Javě
Jedná se o úvodní online kurz zaměřený na datové struktury, algoritmy a analýzu složitosti. Naučí vás navrhovat, implementovat a analyzovat základní datové struktury pomocí jazyka Java.
Nejlepší na tomto kurzu je množství praktických příkladů a to, že se zaměřuje spíše na intuici než na vzorce a matematické důkazy.
Kurz poskytuje dobrý úvod pro „analýzu složitosti“, která umožňuje odhalit špatně (a skvěle) fungující program, a to i bez nutnosti jeho spuštění.
To je vše o některých bezplatných kurzech datových struktur a algoritmů dostupných online. Pomocí těchto kurzů se můžete učit datové struktury a algoritmy vlastním tempem.
Ne všechny jsou sice vyčerpávající, ale poskytují dobrý úvod. Jakmile si tyto kurzy projdete, můžete si vybrat dobrou knihu, například Úvod do algoritmů, která vaše znalosti dále doplní.
Kurz č. 5. Snadné až pokročilé datové struktury
Aktualizace: tento kurz již není zdarma, ale je to skvělý kurz a možná se vám vyplatí. Tento kurz datových struktur a algoritmů od Udemy je určen pro všechny, kteří se chtějí naučit datové struktury od naprostých základů až po pokročilou úroveň.
Tento kurz neočekává, že budete mít nějaké předchozí znalosti datových struktur, ale základní předchozí znalost Javy je užitečná.
Autor @William Fiset je softwarový inženýr ve společnosti Google a bývalý světový finalista ACM-ICPC a má vynikající schopnosti v oblasti počítačového programování a řešení problémů.
Mluvíme-li o sociálním důkazu, kurz má více než 25 tisíc studentů a průměrné hodnocení 4,1 z 683 hodnocení, což je působivé.
Krátce řečeno, je to kompletní průvodce, jak se naučit vše, co je třeba vědět o datových strukturách.
Je to také ideální kurz pro studenty informatiky a pracující softwarové profesionály, kteří se chtějí naučit datové struktury a algoritmy z pohledu rozhovoru.
Pokud tedy chcete získat práci v produktových společnostech, jako je Amazon, Google, Microsoft nebo Facebook, můžete tento kurz využít k nastartování své přípravy.
Další vzdělávání
- Datové struktury a algoritmy:
- Datové struktury a algoritmy – 1. a 2. část
- 10 knih pro přípravu na pracovní pohovor v oblasti technického programování/kódování
- 10 knih o algoritmech, které by si měl přečíst každý programátor
- 5 nejlepších knih o datových strukturách a algoritmech pro vývojáře v Javě
- Od 0 do 1: Struktura dat &Algoritmy v Javě
- Analýza struktury dat a algoritmů – pracovní pohovor
Závěrečné poznámky
Díky. Dostali jste se až na konec článku. Hodně štěstí na vaší programátorské Cestě! Určitě to nebude snadné, ale díky těmto kurzům jste o krok blíž ke zvládnutí datové struktury a algoritmů než ostatní.
Pokud se vám tento článek líbil, sdílejte ho se svými přáteli a kolegy a nezapomeňte sledovat javinpaul na Twitteru!
.