Nauka algorytmów. Poradnik pisania lepszego kodu - George Heineman

Indeks: KSZ-21566 EAN: 9788328387997

Podręcznik pozwalający uzyskać wiedzę o algorytmach, zawiera praktyczne przykłady napisane w języku Python. Wyjaśnia pojęcia takie jak klasy złożoności, analiza asymptoniczna. Książka przedstawia najważniejsze algorytmy, w tym różne sposoby haszowania, sortowania czy przeszukiwania. Książka jest przeznaczona dla osób, które znają już podstawy programowania w języku Python i chcą ulepszyć swój kod o algorytmy szybsze czy o mniejszej złożoności pamięciowej lub czasowej.

Nauka algorytmów. Poradnik pisania lepszego kodu - George Heineman
36,90 zł
35,14 zł netto
Zapłać później
Producent: Helion

Opis produktu: Nauka algorytmów. Poradnik pisania lepszego kodu - George Heineman

Podręcznik pozwalający uzyskać wiedzę o algorytmach, zawiera praktyczne przykłady napisane w języku Python. Wyjaśnia pojęcia takie jak klasy złożoności, analiza asymptoniczna. Książka przedstawia najważniejsze algorytmy, w tym różne sposoby haszowania, sortowania czy przeszukiwania. Książka jest przeznaczona dla osób, które znają już podstawy programowania w języku Python i chcą ulepszyć swój kod o algorytmy szybsze czy o mniejszej złożoności pamięciowej lub czasowej. Książka zawiera m.in.

  • Podstawowe algorytmy wykorzystywane w inżynierii oprogramowania
  • Standardowe strategie wydajnego rozwiązywania problemów
  • Ocenę 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
Nauka algorytmów. Poradnik pisania lepszego kodu - George Heineman

Książka dla programistów: Nauka algorytmów. Poradnik pisania lepszego kodu - George Heineman.

Nauka algorytmów. Poradnik pisania lepszego kodu - George Heineman

Nauka algorytmów. Poradnik pisania lepszego kodu.

Informacje o autorze

George Heineman - naukowiec i wykładowca akademicki. Od ponad 20 lat zajmuje się inżynierią oprogramowania i algorytmiką. Autor i współautor książek technicznych, często też prowadzi szkolenia dotyczące stosowania algorytmów. Twórca odmiany sudoku Sujiken i Trexagon.

Informacje o książce

  • Tytuł oryginalny: Learning Algorithms: A Programmer's Guide to Writing Better Code
  • Autor: George Heineman
  • Tłumaczenie: Tomasz Walczak
  • ISBN: 978-83-283-8799-7
  • Rok wydania: 2022
  • Format: 168 x 237 mm
  • Oprawa: miękka
  • Ilość stron: 232
  • Wydawnictwo: Helion S.A.

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

Książka - Autor George Heineman
Książka - ISBN 978-83-283-8799-7
Książka - Oprawa miękka
Książka - Wydawnictwo Helion S.A.
Tematyka Python
Szerokość opakowania 17 cm
Wysokość opakowania 1.2 cm
Głębokość opakowania 23.6 cm
Masa opakowania 0.38 kg

Jako pierwszy zadaj pytanie dotyczące tego produktu!

Klienci którzy zakupili ten produkt kupili również:

Produkty z tej samej kategorii: