reklama - zainteresowany?

40 algorytmów, które powinien znać każdy programista. Nauka implementacji algorytmów w Pythonie - Helion

40 algorytmów, które powinien znać każdy programista. Nauka implementacji algorytmów w Pythonie
Autor: Imran Ahmad
Tytuł oryginału: 40 Algorithms Every Programmer Should Know: Hone your problem-solving skills by learning different algorithms and their implementation in Python
Tłumaczenie: Katarzyna Bogusławska
ISBN: 978-83-283-7777-6
stron: 320, Format: 168x237, okładka: miękka
Data wydania: 2021-07-19
Księgarnia: Helion

Cena książki: 77,00 zł

Dodaj do koszyka 40 algorytmów, które powinien znać każdy programista. Nauka implementacji algorytmów w Pythonie

Tagi: Algorytmy - Programowanie | Python - Programowanie

Wiedza o algorytmach jest niezbÄ™dna każdemu, kto rozwiÄ…zuje problemy programistyczne. Algorytmy sÄ… również ważne w teorii i praktyce obliczeÅ„. Każdy programista powinien znać możliwie szeroki ich zakres. Powinien też umieć z nich korzystać przy rozwiÄ…zywaniu rzeczywistych problemów, w tym przy projektowaniu algorytmów, ich modyfikacji i implementacji. Niezależnie od tego, czy zajmujesz siÄ™ sztucznÄ… inteligencjÄ…, zabezpieczaniem systemów informatycznych lub inżynieriÄ… danych, musisz dobrze zrozumieć, czym wÅ‚aÅ›ciwie sÄ… i jak dziaÅ‚ajÄ… algorytmy.

Ta książka jest praktycznym wprowadzeniem do algorytmów i ich zastosowania. ZnalazÅ‚y siÄ™ w niej podstawowe informacje i pojÄ™cia dotyczÄ…ce algorytmów, ich dziaÅ‚ania, a także ograniczeÅ„, jakim podlegajÄ…. Opisano też techniki ich projektowania z uwzglÄ™dnieniem wymagaÅ„ dotyczÄ…cych struktur danych. Zaprezentowano klasyczne algorytmy sortowania i wyszukiwania, algorytmy grafowe, jak również wiele zagadnieÅ„ zwiÄ…zanych ze sztucznÄ… inteligencjÄ…: algorytmy uczenia maszynowego, sieci neuronowych i przetwarzania jÄ™zyka naturalnego. WażnÄ… częściÄ… publikacji sÄ… rozdziaÅ‚y poÅ›wiÄ™cone przetwarzaniu danych i kryptografii oraz algorytmom powiÄ…zanym z tymi zagadnieniami. WartoÅ›ciowym podsumowaniem prezentowanych treÅ›ci jest omówienie technik pracy z problemami NP-trudnymi.

W książce między innymi:

  • struktury danych i algorytmy w bibliotekach Pythona
  • algorytm grafowy sÅ‚użący do wykrywania oszustw w procesie analizy sieciowej
  • przewidywanie pogody przy użyciu algorytmów uczenia nadzorowanego
  • rozpoznawanie obrazu za pomocÄ… syjamskich sieci neuronowych
  • tworzenie systemu rekomendacji filmów
  • szyfrowanie symetryczne i asymetryczne podczas wdrażania modelu uczenia maszynowego

Oto algorytm: poznaj, zaimplementuj, zastosuj!

Dodaj do koszyka 40 algorytmów, które powinien znać każdy programista. Nauka implementacji algorytmów w Pythonie

 

Osoby które kupowały "40 algorytmów, które powinien znać każdy programista. Nauka implementacji algorytmów w Pythonie", wybierały także:

  • Python na maturze. Kurs video. Algorytmy i podstawy j
  • Algorytmy kryptograficzne. Przewodnik po algorytmach w blockchain, kryptografii kwantowej, protoko
  • Informatyk samouk. Przewodnik po strukturach danych i algorytmach dla pocz
  • My
  • Nauka algorytm

Dodaj do koszyka 40 algorytmów, które powinien znać każdy programista. Nauka implementacji algorytmów w Pythonie

Spis treści

40 algorytmów, które powinien znać każdy programista. Nauka implementacji algorytmów w Pythonie -- spis treści

 

O autorze 11

 

O recenzencie 13

Przedmowa 15

WSTĘP I PODSTAWOWE ALGORYTMY 21

RozdziaÅ‚ 1. Wprowadzenie do algorytmów 23

  • Co to jest algorytm? 24
    • Fazy algorytmu 24
  • OkreÅ›lenie logiki algorytmu 26
    • Zrozumienie pseudokodu 26
    • Korzystanie z fragmentów kodu (snippetów) 28
    • Stworzenie planu wykonania 28
  • Wprowadzenie do pakietów w Pythonie 29
    • Pakiety w Pythonie 30
    • Programowanie w Pythonie z Jupyter Notebook 31
  • Techniki projektowania algorytmów 31
    • Wymiar danych 33
    • Wymiar obliczeniowy 33
  • Analiza efektywnoÅ›ci 35
    • Analiza pamiÄ™ciowej zÅ‚ożonoÅ›ci obliczeniowej 35
    • Czasowa zÅ‚ożoność obliczeniowa 36
    • Szacowanie efektywnoÅ›ci 37
    • Wybór algorytmu 37
    • Notacja dużego O 38
  • Walidacja algorytmu 41
    • Algorytmy dokÅ‚adne, aproksymacyjne i randomizowane 41
    • Możliwość wyjaÅ›nienia 43
  • Podsumowanie 43

Rozdział 2. Struktury danych w algorytmach 45

  • Struktury danych w Pythonie 46
    • Lista 46
    • Krotka 50
    • SÅ‚ownik 51
    • Zbiór 52
    • Ramka danych 54
    • Macierz 56
  • Abstrakcyjne typy danych 57
    • Wektor 57
    • Stos 58
    • Kolejka 60
    • Kiedy używać stosów i kolejek? 62
    • Drzewo 62
  • Podsumowanie 65

Rozdział 3. Algorytmy sortowania wyszukiwania 67

  • Wprowadzenie do algorytmów sortowania 68
    • Zamiana wartoÅ›ci zmiennych w Pythonie 68
    • Sortowanie bÄ…belkowe 68
    • Sortowanie przez wstawianie 71
    • Sortowanie przez scalanie 72
    • Sortowanie Shella 74
    • Sortowanie przez wymianÄ™ 76
  • Wprowadzenie do algorytmów wyszukiwania 78
    • Wyszukiwanie liniowe 78
    • Wyszukiwanie binarne 79
    • Wyszukiwanie interpolacyjne 79
  • Praktyczne przykÅ‚ady 80
  • Podsumowanie 83

RozdziaÅ‚ 4. Projektowanie algorytmów 85

  • Wprowadzenie do projektowania algorytmów 86
    • Kwestia 1: Czy algorytm zwraca rezultat, jakiego oczekujemy? 87
    • Kwestia 2: Czy robi to w optymalny sposób? 87
    • Kwestia 3: Jak efektywny bÄ™dzie ten algorytm zastosowany do wiÄ™kszych zbiorów danych? 90
  • Strategie algorytmiczne 91
    • Strategia "dziel i rzÄ…dź" 91
    • Strategia programowania dynamicznego 93
    • Strategia algorytmu zachÅ‚annego 93
  • Praktyczny przykÅ‚ad - rozwiÄ…zanie problemu komiwojażera 94
    • Metoda siÅ‚owa 95
    • Zastosowanie algorytmu zachÅ‚annego 98
  • Algorytm PageRank 99
    • Definicja problemu 100
    • Implementacja algorytmu PageRank 100
  • Programowanie liniowe 102
    • Definicja problemu w programowaniu liniowym 102
  • Praktyczny przykÅ‚ad - planowanie przepustowoÅ›ci za pomocÄ… programowania liniowego 103
  • Podsumowanie 105

Rozdział 5. Algorytmy grafowe 107

  • Reprezentacja grafów 108
    • Rodzaje grafów 109
    • Specjalne rodzaje krawÄ™dzi 111
    • Sieci egocentryczne 112
    • Analiza sieciowa 112
  • Wprowadzenie do teorii analizy sieciowej 113
    • Najkrótsza Å›cieżka 113
    • OkreÅ›lanie sÄ…siedztwa 114
    • Wskaźnik centralnoÅ›ci 115
    • Obliczanie wskaźników centralnoÅ›ci w Pythonie 117
  • Trawersowanie grafu 119
    • Wyszukiwanie wszerz 119
    • Wyszukiwanie w gÅ‚Ä…b 121
  • Studium przypadku - analiza oszustw 125
    • Prosta analiza pod kÄ…tem oszustwa 127
    • PodejÅ›cie strażnicy 128
  • Podsumowanie 130

ALGORYTMY UCZENIA MASZYNOWEGO 131

Rozdział 6. Algorytmy nienadzorowanego uczenia maszynowego 133

  • Wprowadzenie do nienadzorowanego uczenia maszynowego 134
    • Uczenie nienadzorowane w cyklu życia eksploracji danych 134
    • Trendy badawcze w zakresie uczenia nienadzorowanego 137
    • Praktyczne przykÅ‚ady 137
  • Algorytmy klasteryzacji 138
    • Wyliczanie podobieÅ„stw 139
    • Grupowanie hierarchiczne 145
    • Ocena klastrów 147
    • Zastosowania klasteryzacji 148
  • Redukcja wymiarów 148
    • Analiza gÅ‚ównych skÅ‚adowych 149
    • Ograniczenia analizy gÅ‚ównych skÅ‚adowych 151
  • ReguÅ‚y asocjacyjne 151
    • PrzykÅ‚ady użycia 151
    • Analiza koszykowa 152
    • ReguÅ‚y asocjacyjne 153
    • Wskaźniki reguÅ‚ 154
    • Algorytmy analizy asocjacyjnej 156
  • Praktyczny przykÅ‚ad - grupowanie podobnych tweetów 160
    • Modelowanie tematów 161
    • Klasteryzacja 162
  • Algorytmy wykrywania odchyleÅ„ 162
    • Wykorzystanie klastrów 162
    • Wykorzystanie wykrywania odchyleÅ„ opartego na gÄ™stoÅ›ci 162
    • Wykorzystanie maszyny wektorów noÅ›nych 163
  • Podsumowanie 163

Rozdział 7. Tradycyjne algorytmy uczenia nadzorowanego 165

  • Nadzorowane uczenie maszynowe 166
    • Å»argon nadzorowanego uczenia maszynowego 166
    • Warunki konieczne 168
    • Rozróżnienie miÄ™dzy klasyfikatorami a regresorami 169
  • Algorytmy klasyfikujÄ…ce 169
    • Wyzwanie dla klasyfikatorów 170
    • Inżynieria cech w przetwarzaniu potokowym 171
    • Ocena klasyfikatorów 173
    • OkreÅ›lenie faz klasyfikacji 177
    • Algorytm drzewa decyzyjnego 178
    • Metody zespolone 181
    • Regresja logistyczna 185
    • Maszyna wektorów noÅ›nych 187
    • Naiwny klasyfikator bayesowski 189
    • ZwyciÄ™zcÄ… wÅ›ród algorytmów klasyfikacji jest... 192
  • Algorytmy regresji 193
    • Wyzwanie dla regresji 193
    • Regresja liniowa 195
    • Algorytm drzewa regresji 199
    • Regresyjny algorytm wzmocnienia gradientowego 199
    • ZwyciÄ™zcÄ… wÅ›ród algorytmów regresji jest... 200
  • Praktyczny przykÅ‚ad, jak przewidywać pogodÄ™ 201
  • Podsumowanie 203

Rozdział 8. Algorytmy sieci neuronowych 205

  • Wprowadzenie do sieci neuronowych 206
  • Ewolucja sieci neuronowych 207
  • Trenowanie sieci neuronowej 209
    • Anatomia sieci neuronowej 209
    • Definicja gradientu prostego 210
    • Funkcje aktywacji 212
  • NarzÄ™dzia i modele 217
    • Keras 217
    • TensorFlow 220
    • Rodzaje sieci neuronowych 222
  • Uczenie transferowe 224
  • Studium przypadku - użycie uczenia gÅ‚Ä™bokiego do wykrywania oszustw 225
    • Metodologia 225
  • Podsumowanie 228

Rozdział 9. Algorytmy przetwarzania języka naturalnego 231

  • Wprowadzenie do przetwarzania jÄ™zyka naturalnego 232
    • Terminologia przetwarzania jÄ™zyka naturalnego 232
    • NLTK 234
  • Model bag-of-words 234
  • Wektorowe przedstawienie sÅ‚ów 237
    • Otoczenie sÅ‚owa 237
    • WÅ‚aÅ›ciwoÅ›ci wektorowego przedstawienia sÅ‚ów 237
  • Użycie rekurencyjnych sieci neuronowych do przetwarzania jÄ™zyka naturalnego 238
  • Wykorzystanie przetwarzania jÄ™zyka naturalnego do analizy sentymentu 239
  • Studium przypadku - analiza sentymentu w recenzjach filmowych 241
  • Podsumowanie 243

Rozdział 10. Silniki poleceń 245

  • Wprowadzenie do silników poleceÅ„ 245
  • Rodzaje silników poleceÅ„ 246
    • Silniki poleceÅ„ oparte na treÅ›ci 246
    • Silniki poleceÅ„ oparte na filtrowaniu kooperacyjnym 248
    • Hybrydowe silniki poleceÅ„ 250
  • Ograniczenia systemów poleceÅ„ 252
    • Zimny start 252
    • Wymagania dotyczÄ…ce metadanych 252
    • Problem rzadkoÅ›ci danych 253
    • Tendencyjność ze wzglÄ™du na wpÅ‚yw spoÅ‚eczny 253
    • Ograniczone dane 253
  • Obszary praktycznych zastosowaÅ„ 253
  • PrzykÅ‚ad praktyczny - stworzenie silnika poleceÅ„ 254
  • Podsumowanie 256

ZAGADNIENIA ZAAWANSOWANE 257

Rozdział 11. Algorytmy danych 259

  • Wprowadzenie do algorytmów danych 259
    • Klasyfikacja danych 260
  • Algorytmy przechowywania danych 261
    • Strategie przechowywania danych 261
  • Algorytmy strumieniowania danych 263
    • Zastosowania strumieniowania 264
  • Algorytmy kompresji danych 264
    • Algorytmy kompresji bezstratnej 264
  • PrzykÅ‚ad praktyczny - analiza sentymentu na Twitterze 266
  • Podsumowanie 269

Rozdział 12. Kryptografia 271

  • Wprowadzenie do kryptografii 271
    • Waga najsÅ‚abszego ogniwa 272
    • Terminologia 272
    • Wymagania bezpieczeÅ„stwa 273
    • Podstawy projektowania szyfrów 275
  • Rodzaje technik kryptograficznych 278
    • Kryptograficzna funkcja skrótu 278
    • Szyfrowanie symetryczne 281
    • Szyfrowanie asymetryczne 283
  • PrzykÅ‚ad - kwestie bezpieczeÅ„stwa we wdrażaniu modelu uczenia maszynowego 286
    • Atak man-in-the-middle 287
    • Obrona przed technikÄ… masquerading 289
    • Szyfrowanie danych i modelu 289
  • Podsumowanie 291

Rozdział 13. Algorytmy przetwarzania danych w dużej skali 293

  • Wprowadzenie do algorytmów przetwarzania danych w dużej skali 294
    • Definicja dobrze zaprojektowanego algorytmu przetwarzania danych w dużej skali 294
    • Terminologia 294
  • Projektowanie algorytmów równolegÅ‚ych 295
    • Prawo Amdahla 295
    • SzczegóÅ‚owość podprocesów 298
    • Równoważenie obciążenia 298
    • Przetwarzanie lokalne 299
    • Procesy wspóÅ‚bieżne w Pythonie 299
  • Tworzenie strategii przetwarzania na puli zasobów 299
    • Architektura CUDA 300
    • Obliczenia w klastrze 303
    • Strategia hybrydowa 305
  • Podsumowanie 305

Rozdział 14. Uwagi praktyczne 307

  • Wprowadzenie do uwag praktycznych 308
    • Smutna historia bota sztucznej inteligencji na Twitterze 308
  • Transparentność algorytmu 309
    • Algorytmy uczenia maszynowego i transparentność 309
  • Etyka i algorytmy 313
    • Problemy z algorytmami uczÄ…cymi siÄ™ 313
    • Znaczenie kwestii etycznych 313
  • Ograniczanie stronniczoÅ›ci modeli 315
  • Problemy NP-trudne 316
    • Uproszczenie problemu 316
    • Dopasowanie dobrze znanego rozwiÄ…zania podobnego problemu 316
    • Metoda probabilistyczna 317
  • Kiedy używać algorytmów 317
    • Praktyczny przykÅ‚ad - teoria czarnego Å‚abÄ™dzia 318
  • Podsumowanie 320

Dodaj do koszyka 40 algorytmów, które powinien znać każdy programista. Nauka implementacji algorytmów w Pythonie

Code, Publish & WebDesing by CATALIST.com.pl



(c) 2005-2024 CATALIST agencja interaktywna, znaki firmowe należą do wydawnictwa Helion S.A.