• Produkt wycofany

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
Niedostępny
Produkt wycofany
Producent: Helion

Uwaga!

Sprzedaż produktu została zakończona. Sprawdź inne w tej kategorii.

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!

Kraj pochodzenia: Polska

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

Produkty z tej samej kategorii: