Facebook - konwersja
  • promocja

Algorytmy w Pythonie. Techniki programowania dla praktyków - ebook

Wydawnictwo:
Data wydania:
13 września 2022
Format ebooka:
EPUB
Format EPUB
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najpopularniejszych formatów e-booków na świecie. Niezwykle wygodny i przyjazny czytelnikom - w przeciwieństwie do formatu PDF umożliwia skalowanie czcionki, dzięki czemu możliwe jest dopasowanie jej wielkości do kroju i rozmiarów ekranu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, PDF
Format PDF
czytaj
na laptopie
czytaj
na tablecie
Format e-booków, który możesz odczytywać na tablecie oraz laptopie. Pliki PDF są odczytywane również przez czytniki i smartfony, jednakze względu na komfort czytania i brak możliwości skalowania czcionki, czytanie plików PDF na tych urządzeniach może być męczące dla oczu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, MOBI
Format MOBI
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najczęściej wybieranych formatów wśród czytelników e-booków. Możesz go odczytać na czytniku Kindle oraz na smartfonach i tabletach po zainstalowaniu specjalnej aplikacji. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
(3w1)
Multiformat
E-booki sprzedawane w księgarni Virtualo.pl dostępne są w opcji multiformatu - kupujesz treść, nie format. Po dodaniu e-booka do koszyka i dokonaniu płatności, e-book pojawi się na Twoim koncie w Mojej Bibliotece we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu przy okładce. Uwaga: audiobooki nie są objęte opcją multiformatu.
czytaj
na laptopie
Pliki PDF zabezpieczone watermarkiem możesz odczytać na dowolnym laptopie po zainstalowaniu czytnika dokumentów PDF. Najpowszechniejszym programem, który umożliwi odczytanie pliku PDF na laptopie, jest Adobe Reader. W zależności od potrzeb, możesz zainstalować również inny program - e-booki PDF pod względem sposobu odczytywania nie różnią niczym od powszechnie stosowanych dokumentów PDF, które odczytujemy każdego dnia.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na tablecie
Aby odczytywać e-booki na swoim tablecie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. Bluefire dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na czytniku
Czytanie na e-czytniku z ekranem e-ink jest bardzo wygodne i nie męczy wzroku. Pliki przystosowane do odczytywania na czytnikach to przede wszystkim EPUB (ten format możesz odczytać m.in. na czytnikach PocketBook) i MOBI (ten fromat możesz odczytać m.in. na czytnikach Kindle).
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na smartfonie
Aby odczytywać e-booki na swoim smartfonie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. iBooks dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.

Algorytmy w Pythonie. Techniki programowania dla praktyków - ebook

Książka Najlepszą Polską Książkę Informatyczną 2023r. organizowanym przez Polskie Towarzystwo Informatyczne.

 

Python? Idealny dla praktyków!

Wiernym czytelnikom publikacji spod znaku wydawnictwa Helion Piotra Wróblewskiego przedstawiać nie trzeba. Dość wspomnieć, że jest on autorem wielu publikacji poświęconych głównie programowaniu i obsłudze komputerów. Jego najnowsza książka, Algorytmy w Pythonie. Techniki programowania dla praktyków, to ponad 500 stron konkretnych informacji związanych z nauką programowania w Pythonie.

Podręcznik jest przeznaczony przede wszystkim dla tych, którzy poszukują prostego i praktycznego samouczka. Z powodzeniem jednak skorzystają z niego również osoby chcące się znaleźć na wyższym - bardziej świadomym - poziomie programowania, na którym pisanie kodu nie odbywa się już metodą prób i błędów.

Konwencja przyjęta przez autora opiera się na zasadzie "minimum teorii, maksimum praktyki". Pracę z podręcznikiem ułatwiają liczne zadania, definicje, listingi, uwagi, rysunki, tabele i ostrzeżenia; nie brak tu także humoru. Porady dotyczące instalacji i korzystania ze środowiska Pythona pozwalają szybko przejść od teorii do praktyki. Podane kody źródłowe programów zaś są gotowe do uruchomienia i zostały przetestowane w najnowszej edycji Pythona działającego pod kontrolą systemów operacyjnych Windows, macOS i Linux.

Na koniec ciekawostka. Podręcznik rozpoczynają dwa haiku Dariusza Brzóski-Brzóskiewicza, gdańskiego performera i poety, co samo w sobie stanowi nietuzinkową zapowiedź książki na temat programowania.

  • Systemy obliczeniowe bez tajemnic
  • Typy proste i złożone oferowane przez Pythona
  • Rekurencja nie boli, a nawet pomaga!
  • Modelowanie abstrakcyjnych struktur danych
  • Przykładowe realizacje wybranych struktur danych
  • Struktury danych o dostępie ograniczonym
  • Drzewa i ich reprezentacje
  • Algorytmy przeszukiwania, sortowania, grafowe
  • Derekursywacja i optymalizacja algorytmów
  • Przeszukiwanie tekstów
  • Zastosowania tablic NumPy i biblioteki Matplotlib
  • Zaawansowane techniki programowania
  • Kodowanie i kompresja danych

Programowanie w Pythonie - praktycznie i z poczuciem humoru!

Spis treści

Przedmowa

  • Przykładowe programy w Pythonie
  • Co odróżnia tę książkę od innych podręczników?
  • Jak należy czytać tę książkę?
  • Co zostało opisane w tej książce?
  • Konwencje typograficzne i oznaczenia

Rozdział 1. Zanim wystartujemy

  • Czym powinien się charakteryzować algorytm?
  • Jak to wcześniej bywało, czyli wyjątki z historii maszyn algorytmicznych
  • Jak to się niedawno odbyło, czyli o tym, kto wymyślił metodologię programowania
  • Proces koncepcji programów
  • Poziomy abstrakcji opisu i wybór języka
  • Maszyna Turinga
  • Modelowanie i realizacja algorytmów
    • Schematy blokowe
    • Przetwarzanie danych - operatory
    • Grupowanie fragmentów kodu w funkcje
    • Pobieranie lub wyświetlanie wartości
    • Iteracyjne wykonywanie kodu
    • Operatory logiczne
  • Poprawność algorytmów
  • Zadania
  • Rozwiązania i wskazówki do zadań

Rozdział 2. Systemy obliczeniowe i podstawy kodowania

  • Systemy pozycyjne w pigułce
  • System dwójkowy
  • System szesnastkowy
  • System ósemkowy
  • Operacje arytmetyczne na liczbach dwójkowych
  • Kod BCD
  • Kodowanie liczb ze znakiem
    • Kod znak-moduł (ZM)
    • Kod U2 (system uzupełnienia dwójkowego)
  • Zmienne w pamięci komputera
  • Kodowanie znaków
  • Kodowanie obrazów
    • Mapy bitowe na przykładzie formatu BMP

Rozdział 3. Rekurencja

  • Definicja rekurencji
  • Ilustracja pojęcia rekurencji
  • Jak wykonują się programy rekurencyjne?
  • Niebezpieczeństwa rekurencji
    • Ciąg Fibonacciego
    • Stack overflow!
  • Pułapek ciąg dalszy
    • Stąd do wieczności
    • Definicja poprawna, ale.
  • Typy programów rekurencyjnych
  • Myślenie rekurencyjne
    • Przykład 1. Spirala
    • Przykład 2. Kwadraty "parzyste"
  • Przeszukiwanie binarne
  • Uwagi praktyczne na temat technik rekurencyjnych
  • Zadania
  • Rozwiązania i wskazówki do zadań

Rozdział 4. Analiza złożoności algorytmów

  • Definicje i przykłady
    • Jeszcze raz funkcja silnia
    • Wyszukiwanie wspólnego elementu w kolekcjach
    • Zerowanie fragmentu tablicy
    • Wpadamy w pułapkę
    • Różne typy złożoności obliczeniowej
  • Nowe zadanie: uprościć obliczenia!
  • Analiza programów rekurencyjnych
    • Terminologia i definicje
    • Ilustracja metody na przykładzie
    • Rozkład logarytmiczny
    • Przeszukiwanie binarne. tym razem bez matematyki wyższej!
    • Zamiana dziedziny równania rekurencyjnego
    • Funkcja Ackermanna, czyli coś dla smakoszy
  • Złożoność obliczeniowa to nie religia!
  • Techniki optymalizacji programów
  • Trochę praktyki: pomiary czasów wykonania
  • Zadania
  • Rozwiązania i wskazówki do zadań

Rozdział 5. Typy proste wbudowane

  • Zmienne (nie zawsze) proste
    • Typy proste
    • Stałe symboliczne
    • Pojęcie referencji
    • Zasięg zmiennych
    • Napis niezmienny jest i basta!
    • Konwersje napisów na liczby (i odwrotnie)
  • Formatowanie wyników z użyciem notacji f"
  • Tablice (nie całkiem) klasyczne
    • Inicjalizacja tablic o stałym wymiarze
  • Tuple (czasem zwane krotkami)
    • Modyfikacja tupli
    • Zastosowania programistyczne

Rozdział 6. Modelowanie abstrakcyjnych struktur danych

  • Szablon nowej struktury danych
  • Dokładamy logikę biznesową
    • Błędne użycie obiektów klasy i wyjątki
  • Przeciążanie operatorów arytmetycznych
  • Poszerzanie definicji modelu danych
  • Rekurencyjne struktury danych
  • Pułapki OOP w Pythonie

Rozdział 7. Przykładowe realizacje wybranych struktur danych

  • Listy jednokierunkowe
  • "Tablicowa" implementacja list
  • Listy innych typów
  • Listy z iteratorem
  • Zbiory
  • Modelowanie kolekcji - podsumowanie

Rozdział 8. Typy złożone wbudowane

  • Listy, czyli tablice dynamiczne
    • Metody dostępne dla list w Pythonie
    • Listy tworzone na podstawie wyrażeń
  • Zbiory
    • Zbiory tworzone na podstawie wyrażeń
  • Słowniki
  • Szybkie tablice NumPy
    • Instalacja
    • N-wymiarowe tablice NumPy
    • Tablice i macierze NumPy
    • Deklarowanie tablic i macierzy NumPy
    • Funkcje tablicowe NumPy
    • Zmiany układu i rozmiaru tablic NumPy
  • Wycinki w tablicach

Rozdział 9. Struktury danych o dostępie ograniczonym

  • Stos
    • Zasada działania stosu
    • Realizacja programowa stosu
    • Sprawdzanie typu danych obiektu
  • Kolejki FIFO
  • Sterty i kolejki priorytetowe
    • Sortowanie za pomocą sterty

Rozdział 10. Drzewa i ich reprezentacje

  • Binarne drzewa poszukiwań (BST)
  • Drzewa binarne i wyrażenia arytmetyczne
  • Uniwersalna struktura słownikowa
    • Zajętość pamięci słownika
    • Drzewa "egzotyczne"

Rozdział 11. Algorytmy przeszukiwania

  • Przeszukiwanie liniowe
  • Generyczne funkcje porównawcze
  • Przeszukiwanie binarne
  • Transformacja kluczowa (hashing)
    • W poszukiwaniu funkcji H()
    • Najbardziej znane funkcje H()
    • Obsługa konfliktów dostępu
    • Powrót do źródeł
    • Jeszcze raz tablice!
    • Próbkowanie liniowe
    • Podwójne kluczowanie
    • Zastosowania transformacji kluczowej
    • Klasyczne funkcje hashujące
    • Piszemy własną tablicę hashującą
  • Podsumowanie metod transformacji kluczowej
  • Przeszukiwanie danych w wybranych strukturach Pythona

Rozdział 12. Algorytmy sortowania

  • Sortowanie przez wstawianie, algorytm klasy O(N2)
  • Sortowanie bąbelkowe, algorytm klasy O(N2)
  • Sortowanie szybkie (Quicksort) - algorytm klasy O(N log N)
  • Scalanie zbiorów posortowanych
  • Sortowanie przez scalanie, algorytm klasy O(N log N)
  • Sortowanie zewnętrzne
  • Sortowanie z użyciem bibliotek Pythona
  • Uwagi praktyczne

Rozdział 13. Derekursywacja i optymalizacja algorytmów

  • Jak pracuje kompilator?
  • Odrobina formalizmu nie zaszkodzi!
  • Kilka przykładów derekursywacji algorytmów
  • Derekursywacja z wykorzystaniem stosu
    • Eliminacja zmiennych lokalnych
  • Metoda funkcji przeciwnych
  • Klasyczne schematy derekursywacji
    • Schemat typu while
    • Schemat typu if-else
    • Schemat z podwójnym wywołaniem rekurencyjnym
  • Podsumowanie

Rozdział 14. Przeszukiwanie tekstów

  • Algorytm typu brute force
  • Nowe algorytmy poszukiwań
    • Algorytm KMP
    • Algorytm Boyera-Moore'a
    • Algorytm Rabina-Karpa
  • Kilka prostych zadań
    • Rozwiązania

Rozdział 15. Zaawansowane techniki programowania

  • Programowanie typu "dziel i zwyciężaj"
    • Znajdowanie minimum i maksimum w tablicy liczb
    • Mnożenie macierzy o rozmiarze NxN
    • Mnożenie liczb całkowitych
    • Inne znane algorytmy "dziel i zwyciężaj"
  • Algorytmy "żarłoczne", czyli przekąsić coś nadszedł już czas.
    • Problem plecakowy, czyli niełatwe jest życie turysty piechura
    • Wydawanie reszty, czyli "A nie ma pan drobnych?" w praktyce
  • Programowanie dynamiczne
    • Ciąg Fibonacciego
    • Równania z wieloma zmiennymi
    • Najdłuższa wspólna podsekwencja
    • Najdłuższy wspólny podłańcuch
  • Heurystyki i inne techniki programowania
  • Uwagi bibliograficzne

Rozdział 16. Algorytmy grafowe

  • Definicje i pojęcia podstawowe
    • Etykiety i wartości
  • Cykle w grafach
  • Sposoby reprezentacji grafów
    • Reprezentacja tablicowa
    • Słowniki węzłów
    • Listy kontra zbiory
  • Podstawowe operacje na grafach
    • Suma grafów
    • Kompozycja grafów
    • Graf do potęgi
  • Algorytm Warshalla
  • Algorytm Floyda-Warshalla
  • Algorytm Dijkstry
  • Algorytm Bellmana-Forda
  • Drzewo rozpinające minimalne
    • Algorytm Kruskala
    • Algorytm Prima
  • Przeszukiwanie grafów
    • Strategia "w głąb" (przeszukiwanie zstępujące)
    • Strategia "wszerz"
    • Inne strategie przeszukiwania
  • Problem właściwego doboru
  • Podsumowanie

Rozdział 17. Matematyka i Python

  • Biblioteki naukowe dla Pythona
  • Klasyczne funkcje i metody matematyczne
  • Funkcje matematyczne NumPy
  • Poszukiwanie miejsc zerowych funkcji
  • Iteracyjne obliczanie wartości funkcji
  • Interpolacja funkcji metodą Lagrange'a
    • Różniczkowanie funkcji
  • Całkowanie funkcji metodą Simpsona
  • Rozwiązywanie układów równań liniowych metodą Gaussa
  • Uwagi końcowe
  • Wizualizacja danych z użyciem Matplotlib
    • Instalacja pakietu
    • Pierwszy wykres
    • Modyfikacje wyglądu wykresu
    • Wykresy statystyczne

Rozdział 18. Kodowanie i kompresja danych

  • Kodowanie danych i arytmetyka dużych liczb
    • Metody prymitywne
    • Kodowanie symetryczne
    • Kodowanie asymetryczne
    • Kodowanie Base64
  • Obliczenia na bardzo dużych liczbach całkowitych
    • Reprezentacja dużych liczb całkowitych
    • Wyliczanie wartości modulo
  • Wybrane techniki łamania kodów
    • Jakość klucza szyfrującego
    • Metody łamania szyfrów
  • Techniki kompresji danych
    • Kompresja za pomocą modelowania matematycznego
    • Kompresja metodą RLE
    • Kompresja danych metodą Huffmana
    • Kodowanie LZW

Rozdział 19. Czy komputery mogą myśleć.?

  • Przegląd obszarów zainteresowań sztucznej inteligencji (SI)
    • Systemy eksperckie
    • Sieci neuronowe
  • Reprezentacja problemów
  • Gry dwuosobowe i drzewa gier
    • Algorytm min-max

Dodatek A. Python - lokalne środowisko pracy

  • Testujemy poprawność instalacji Pythona
  • Instalator pip i biblioteki Pythona
  • Edytory do Pythona
  • Środowiska IDE (i dlaczego PyCharm)
    • IDLE
    • PyCharm
    • Visual Studio Community
  • Dokumentacja Pythona
  • Używanie zasobów GitHuba

Literatura

Spis rysunków

Spis tabel

Skorowidz

Kategoria: Programowanie
Zabezpieczenie: Watermark
Watermark
Watermarkowanie polega na znakowaniu plików wewnątrz treści, dzięki czemu możliwe jest rozpoznanie unikatowej licencji transakcyjnej Użytkownika. E-książki zabezpieczone watermarkiem można odczytywać na wszystkich urządzeniach odtwarzających wybrany format (czytniki, tablety, smartfony). Nie ma również ograniczeń liczby licencji oraz istnieje możliwość swobodnego przenoszenia plików między urządzeniami. Pliki z watermarkiem są kompatybilne z popularnymi programami do odczytywania ebooków, jak np. Calibre oraz aplikacjami na urządzenia mobilne na takie platformy jak iOS oraz Android.
ISBN: 978-83-8322-161-8
Rozmiar pliku: 11 MB

BESTSELLERY

Kategorie: