reklama - zainteresowany?

Nauka algorytmów. Poradnik pisania lepszego kodu - Helion

Nauka algorytmów. Poradnik pisania lepszego kodu

MIEJSCE 21 na liście TOP 20
Autor: George Heineman
Tytuł oryginału: Learning Algorithms: A Programmer's Guide to Writing Better Code
Tłumaczenie: Tomasz Walczak
ISBN: 978-83-283-8799-7
stron: 270, Format: 168x237, okładka: miękka
Data wydania: 2021-11-01
Księgarnia: Helion

Cena książki: 41,30 zł (poprzednio: 59,00 zł)
Oszczędzasz: 30% (-17,70 zł)

Dodaj do koszyka Nauka algorytmów. Poradnik pisania lepszego kodu

Tagi: Algorytmy - Programowanie | Inne - Programowanie

DoskonaÅ‚e opanowanie dowolnego jÄ™zyka programowania nie wystarczy do tego, aby stać siÄ™ Å›wietnym programistÄ… czy deweloperem. Konieczne jest również zdobycie praktycznej wiedzy dotyczÄ…cej algorytmów. Oznacza to, że aby pisać lepszy kod, podczas rozwiÄ…zywania rzeczywistych problemów trzeba umieć korzystać z algorytmów, włączajÄ…c w to ich budowanie, modyfikacjÄ™ i implementacjÄ™. Niezależnie od tego, jakÄ… dziedzinÄ… informatyki siÄ™ zajmujesz, biegÅ‚ość w posÅ‚ugiwaniu siÄ™ algorytmami w wymierny sposób uÅ‚atwi Ci pracÄ™ i poprawi jej rezultaty.

Ta książka jest przystÄ™pnym wprowadzeniem do wiedzy o algorytmach wraz z przykÅ‚adami implementacji napisanymi w Pythonie. Oprócz praktycznego omówienia algorytmów znalazÅ‚o siÄ™ tu wyjaÅ›nienie takich pojęć jak klasy zÅ‚ożonoÅ›ci czy analiza asymptotyczna. DokÅ‚adnie omówiono także najważniejsze algorytmy, w tym różne sposoby haszowania, sortowania czy przeszukiwania. Tam, gdzie to niezbÄ™dne, wprowadzono struktury danych jÄ™zyka Python. Z poradnika programiÅ›ci i testerzy dowiedzÄ… siÄ™, w jaki sposób wykorzystywać algorytmy do pomysÅ‚owego rozwiÄ…zywania problemów obliczeniowych. Zrozumienie treÅ›ci uÅ‚atwiajÄ… ciekawe materiaÅ‚y wizualne i ćwiczenia utrwalajÄ…ce, które pozwolÄ… na przetestowanie zdobytej wiedzy w praktyce.

W książce między innymi:

  • podstawowe algorytmy wykorzystywane w inżynierii oprogramowania
  • standardowe strategie wydajnego rozwiÄ…zywania problemów
  • ocena zÅ‚ożonoÅ›ci czasowej kodu z wykorzystaniem notacji dużego O
  • praktyczne stosowanie algorytmów z wykorzystaniem bibliotek i struktury danych Pythona
  • gÅ‚ówne zasady dziaÅ‚ania ważnych algorytmów

Dodaj do koszyka Nauka algorytmów. Poradnik pisania lepszego kodu

 

Osoby które kupowały "Nauka algorytmów. Poradnik pisania lepszego kodu", wybierały także:

  • Projektowanie oprogramowania dla zupeÅ‚nie poczÄ…tkujÄ…cych. Owoce programowania. Wydanie V
  • Nauka algorytm
  • 40 algorytmów, które powinien znać każdy programista. Nauka implementacji algorytmów w Pythonie
  • Komputer kwantowy. Programowanie, algorytmy, kod
  • Matematyka dla programistów Java

Dodaj do koszyka Nauka algorytmów. Poradnik pisania lepszego kodu

Spis treści

Nauka algorytmów. Poradnik pisania lepszego kodu -- spis tre¶ci



Przedmowa

Wprowadzenie

  • Dla kogo przeznaczona jest ta ksi±¿ka?
  • O kodzie
  • Konwencje u¿ywane w tej ksi±¿ce
  • Podziêkowania

1. Rozwi±zywanie problemów

  • Czym jest algorytm?
  • Znajdowanie najwiêkszej warto¶ci w dowolnej li¶cie
  • Zliczanie kluczowych operacji
  • Modele pozwalaj± prognozowaæ wydajno¶æ algorytmu
  • Znajdowanie dwóch najwiêkszych warto¶ci na dowolnej li¶cie
  • Algorytm pucharowy
  • Z³o¿ono¶æ czasowa i pamiêciowa
  • Podsumowanie
  • Æwiczenia

2. Analiza algorytmów

  • U¿ywanie modeli empirycznych do prognozowania wydajno¶ci
  • Mno¿enie mo¿na wykonywaæ szybciej
  • Klasy z³o¿ono¶ci
  • Analiza asymptotyczna
  • Zliczanie wszystkich operacji
  • Zliczanie wszystkich bajtów
  • Gdy zamykaj± siê jedne drzwi, otwieraj± siê inne
  • Wyszukiwanie binarne w tablicy
  • Prawie tak ³atwe jak ?
  • Dwie pieczenie na jednym ogniu
  • £±czenie wszystkich elementów
  • Dopasowywanie do krzywej a dolna i górna granica
  • Podsumowanie
  • Æwiczenia

3. Lepsze ¿ycie dziêki lepszemu haszowaniu

  • £±czenie warto¶ci z kluczami
  • Funkcje haszuj±ce i skróty
  • Tablica z haszowaniem dla par (klucz, warto¶æ)
  • Wykrywanie i rozwi±zywanie kolizji za pomoc± próbkowania liniowego
  • Tworzenie odrêbnych ³añcuchów dziêki listom powi±zanym
  • Usuwanie elementu z listy powi±zanej
  • Ocena wydajno¶ci
  • Zwiêkszanie rozmiaru tablic z haszowaniem
  • Analiza wydajno¶ci dynamicznych tablic z haszowaniem
  • Haszowanie doskona³e
  • Iteracyjne pobieranie par (klucz, warto¶æ)
  • Podsumowanie
  • Æwiczenia

4. Wêdrówka po kopcu

  • Kopce binarne typu max
  • Wstawianie elementu (warto¶æ, priorytet)
  • Usuwanie warto¶ci o najwy¿szym priorytecie
  • Reprezentowanie kopca binarnego za pomoc± tablicy
  • Implementacja "wyp³ywania" i "zatapiania"
  • Podsumowanie
  • Æwiczenia

5. Sortowanie bez tajemnic

  • Sortowanie przez przestawianie
  • Sortowanie przez wybieranie
  • Budowa algorytmu sortowania o z³o¿ono¶ci kwadratowej
  • Analizowanie wydajno¶ci sortowania przez wstawianie i sortowania przez wybieranie
  • Rekurencja oraz podej¶cie dziel i rz±d¼
  • Sortowanie przez scalanie
  • Sortowanie szybkie
  • Sortowanie przez kopcowanie
  • Porównanie wydajno¶ci algorytmów o z³o¿ono¶ci O(N log N)
  • Algorytm timsort
  • Podsumowanie
  • Æwiczenie

6. Drzewa binarne - nieskoñczono¶æ na wyci±gniêcie rêki

  • Wprowadzenie
  • Binarne drzewa poszukiwañ
  • Szukanie warto¶ci w binarnym drzewie poszukiwañ
  • Usuwanie warto¶ci z binarnego drzewa poszukiwañ
  • Przechodzenie drzewa binarnego
  • Analiza wydajno¶ci binarnych drzew poszukiwañ
  • Samoorganizuj±ce siê drzewa binarne
  • Analiza wydajno¶ci drzew samoorganizuj±cych siê
  • U¿ywanie drzewa binarnego jako tablicy symboli (klucz, warto¶æ)
  • U¿ywanie drzewa binarnego jako kolejki priorytetowej
  • Podsumowanie
  • Æwiczenia

7. Grafy - po³±cz punkty

  • Grafy s³u¿± do wydajnego zapisywania przydatnych informacji
  • Znajdowanie drogi w labiryncie za pomoc± przeszukiwania w g³±b
  • Inna strategia - przeszukiwanie wszerz
  • Grafy skierowane
  • Grafy z wagami krawêdzi
  • Algorytm Dijkstry
  • Najkrótsze ¶cie¿ki dla wszystkich par
  • Algorytm Floyda-Warshalla
  • Podsumowanie
  • Æwiczenia

8. Podsumowanie

  • Wbudowane typy Pythona
  • Implementowanie stosu w Pythonie
  • Implementowanie kolejek w Pythonie
  • Implementacje kopca i kolejki priorytetowej
  • Dalsza nauka

O autorach

Dodaj do koszyka Nauka algorytmów. Poradnik pisania lepszego kodu

Code, Publish & WebDesing by CATALIST.com.pl



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