Hodnotenie:
Kniha 50 algoritmov, ktoré by mal poznať každý programátor od Imrana Ahmada je chválená za komplexné pokrytie algoritmov, najmä so zameraním na strojové učenie a umelú inteligenciu. Je určená pre začiatočníkov aj skúsených programátorov a poskytuje jasné vysvetlenia, príklady v jazyku Python a praktické aplikácie. Hoci mnohí recenzenti chvália jej štruktúru a prehľadnosť, niektorí vyjadrujú obavy z jej rozsahu, pričom spomínajú problémy s úpravou a nedostatočnú hĺbku v niektorých oblastiach.
Výhody:⬤ Komplexné pokrytie algoritmov vrátane základných pojmov, strojového učenia a umelej inteligencie.
⬤ Jasné vysvetlenia a praktické príklady v jazyku Python sprístupňujú zložité témy.
⬤ Vhodné pre začiatočníkov aj skúsených programátorov.
⬤ Dobre organizovaná štruktúra umožňuje jednoduchú navigáciu ku konkrétnym témam.
⬤ Pútavý štýl písania, ktorý zjednodušuje matematické pojmy.
⬤ Zahŕňa aplikácie z reálneho sveta, čím zvyšuje význam učenia.
⬤ Využívanie cloudových platforiem, ako je Google Colab, na jednoduché vykonávanie kódu.
⬤ Niektoré problémy s úpravou vrátane chýbajúcich odkazov na kód v texte.
⬤ Niektoré algoritmy, ako napríklad quicksort a mergesort, nie sú podrobne opísané, zatiaľ čo menej používané algoritmy môžu dostať viac pozornosti.
⬤ Zmiešané pocity zo zahrnutia širokého spektra tém bez dostatočnej hĺbky každej z nich.
⬤ Mal by sa predpokladať určitý stupeň predchádzajúcich znalostí v oblasti programovania a matematiky, čo nemusí vyhovovať úplným začiatočníkom.
(na základe 42 čitateľských recenzií)
50 Algorithms Every Programmer Should Know - Second Edition: An unbeatable arsenal of algorithmic solutions for real-world problems
Riešte klasické problémy informatiky od základných algoritmov, ako je triedenie a vyhľadávanie, až po moderné algoritmy v strojovom učení a kryptografii
Kľúčové vlastnosti:
⬤ Diskusia o pokročilých architektúrach hlbokého učenia.
⬤ Nové kapitoly o sekvenčných modeloch vysvetľujúce moderné techniky hlbokého učenia, ako sú LSTM, GRU a RNN a veľké jazykové modely (LLM).
⬤ Preskúmajte novšie témy, ako napríklad ako sa vysporiadať so skrytým skreslením v údajoch a vysvetľovaním algoritmov.
⬤ Zoznámte sa s rôznymi programovými algoritmami a vyberte správne dátové štruktúry pre ich optimálnu implementáciu.
Popis knihy:
Schopnosť používať algoritmy na riešenie reálnych problémov je nevyhnutnou zručnosťou každého vývojára alebo programátora. Táto kniha vám pomôže nielen rozvíjať zručnosti pri výbere a používaní algoritmu na riešenie problémov v reálnom svete tým, že pochopíte, ako funguje.
Začnete úvodom do algoritmov a spoznáte rôzne techniky návrhu algoritmov, potom sa na praktických príkladoch dozviete, ako implementovať rôzne typy algoritmov. Ako budete postupovať, dozviete sa o lineárnom programovaní, zoraďovaní stránok a grafoch, a dokonca budete pracovať s algoritmami strojového učenia, aby ste pochopili matematiku a logiku, ktorá sa za nimi skrýva.
Prípadové štúdie vám ukážu, ako tieto algoritmy optimálne aplikovať, a až potom sa zameriate na algoritmy hlbokého učenia a spoznáte rôzne typy modelov hlbokého učenia spolu s ich praktickým využitím.
Dozviete sa aj o moderných sekvenčných modeloch a ich variantoch, algoritmoch, metodikách a architektúrach, ktoré sa používajú na implementáciu veľkých jazykových modelov (LLM), napríklad ChatGPT.
Nakoniec sa dobre zorientujete v technikách, ktoré umožňujú paralelné spracovanie, vďaka čomu budete môcť tieto algoritmy používať na výpočtovo náročné úlohy.
Na konci tejto knihy o programovaní sa stanete zručnými v riešení reálnych výpočtových problémov pomocou širokej škály algoritmov.
Čo sa naučíte:
⬤ Navrhovať algoritmy na riešenie zložitých problémov.
⬤ Zoznámite sa s neurónovými sieťami a technikami hlbokého učenia.
⬤ Preskúmajte existujúce dátové štruktúry a algoritmy v knižniciach Pythonu.
⬤ Vykonajte grafové algoritmy na odhaľovanie podvodov pomocou sieťovej analýzy.
⬤ Pracovať s algoritmami strojového učenia na zhlukovanie podobných tweetov a spracovávať údaje zo siete Twitter v reálnom čase.
⬤ Vytvorte odporúčací engine, ktorý predplatiteľom navrhuje relevantné filmy.
⬤ Vykonať spoľahlivé zabezpečenie pomocou symetrického a asymetrického šifrovania na platforme Google Cloud Platform.
Pre koho je táto kniha určená:
Táto kniha o informatike je určená pre programátorov alebo vývojárov, ktorí chcú pochopiť používanie algoritmov na riešenie problémov a písanie efektívneho kódu.
Či už ste začiatočník, ktorý sa chce stručne naučiť najpoužívanejšie algoritmy, alebo skúsený programátor, ktorý chce preskúmať najmodernejšie algoritmy v oblasti dátovej vedy, strojového učenia a kryptografie, táto kniha vám bude užitočná.
Skúsenosti s programovaním v jazyku Python sú nevyhnutnosťou, znalosť dátovej vedy bude užitočná, ale nie nevyhnutná.