Zanurz się w algorytmach. Przygoda dla początkujących odkrywców Pythona - Helion
Autor: Bradford Tuckfield
ISBN: 978-83-283-8344-9
okładka: miękka
Księgarnia: Helion
ISBN: 978-83-283-8344-9
okładka: miękka
Księgarnia: Helion
Książka będzie dostępna od października 2021
Zobacz także:
- Windows Media Center. Domowe centrum rozrywki 66,67 zł, (8,00 zł -88%)
- Ruby on Rails. Ćwiczenia 18,75 zł, (3,00 zł -84%)
- Przywództwo w świecie VUCA. Jak być skutecznym liderem w niepewnym środowisku 58,64 zł, (12,90 zł -78%)
- Scrum. O zwinnym zarządzaniu projektami. Wydanie II rozszerzone 58,64 zł, (12,90 zł -78%)
- Od hierarchii do turkusu, czyli jak zarządzać w XXI wieku 58,64 zł, (12,90 zł -78%)
Spis treści
Zanurz się w algorytmach. Przygoda dla początkujących odkrywców Pythona -- spis treści
O autorze
O korektorze merytorycznym
Podziękowania
Wstęp
- Dla kogo jest ta książka?
- Co znajdziesz w tej książce
- Konfigurowanie środowiska
- Instalacja Pythona w systemie Windows
- Instalacja Pythona w systemie macOS
- Instalacja Pythona w systemie Linux
- Instalacja bibliotek firm trzecich
- Podsumowanie
1. RozwiÄ…zywanie problemów z użyciem algorytmów
- Podejście analityczne
- Model Galileusza
- Metoda rozwiÄ…zywania równaÅ„ z jednÄ… niewiadomÄ…
- Wewnętrzny fizyk
- Podejście algorytmiczne
- Myślenie za pomocą karku
- Zastosowanie algorytmu Chapmana
- RozwiÄ…zywanie problemów z użyciem algorytmów
- Podsumowanie
2. Algorytmy na przestrzeni wieków
- Mnożenie rosyjskich chÅ‚opów
- RÄ™czne obliczanie algorytmu mnożenia rosyjskich chÅ‚opów
- Implementacja algorytmu mnożenia rosyjskich chÅ‚opów z użyciem Pythona
- Algorytm Euklidesa
- Ręczne obliczanie algorytmu Euklidesa
- Implementacja algorytmu Euklidesa z użyciem Pythona
- Japońskie kwadraty magiczne
- Implementacja kwadratu Lo Shu z użyciem Pythona
- Implementacja algorytmu Kurushimy z użyciem Pythona
- Podsumowanie
3. Znajdowanie maksimum i minimum
- Ustalanie stóp podatkowych
- Kroki we właściwym kierunku
- Zmiana pojedynczych kroków na algorytm
- Zastrzeżenia do metody bazującej na gradiencie
- Problem ekstremum lokalnego
- Edukacja i zarobki z całego życia
- Wspinanie siÄ™ na wzgórza edukacji - wÅ‚aÅ›ciwe podejÅ›cie
- Od znajdowania maksimum do znajdowania minimum
- Optymalizacja w ujÄ™ciu ogólnym
- Kiedy nie używać algorytmów
- Podsumowanie
4. Sortowanie i wyszukiwanie
- Sortowanie przez wstawianie
- Sortowanie przez wstawianie - wstawianie
- Sortowanie przez wstawianie - sortowanie
- Mierzenie wydajności algorytmu
- Dlaczego dbamy o wydajność?
- Precyzyjny pomiar czasu
- Zliczanie kroków
- Porównywanie z dobrze znanymi funkcjami
- Jeszcze więcej precyzji
- Notacja dużego O
- Sortowanie przez scalanie
- Scalanie
- Od scalania do sortowania
- Sortowanie przez spanie
- Od sortowania do wyszukiwania
- Wyszukiwanie binarne
- Zastosowania wyszukiwania binarnego
- Podsumowanie
5. Czysta matematyka
- Ułamki łańcuchowe
- Jak wyrazić liczbę fi
- Więcej o ułamkach łańcuchowych
- Algorytm generowania ułamka łańcuchowego
- Od uÅ‚amków dziesiÄ™tnych do uÅ‚amków Å‚aÅ„cuchowych
- Od uÅ‚amków do pierwiastków
- Pierwiastki kwadratowe
- Metoda babilońska
- Pierwiastki kwadratowe w Pythonie
- Generatory liczb losowych
- Umożliwienie losowości
- Liniowe generatory kongruentne
- Ocena generatora liczb pseudolosowych
- Testy Diehard do oceny losowości w sekwencji wyjściowej generatora
- Rejestr przesuwający z liniowym sprzężeniem zwrotnym
- Podsumowanie
6. Zaawansowana optymalizacja
- Życie komiwojażera
- Sformułowanie problemu
- Mózg kontra mięśnie
- Algorytm najbliższego sąsiada
- Implementacja algorytmu najbliższego sąsiada
- Poszukiwanie dalszych ulepszeń
- Algorytmy zachłanne
- Funkcja temperatury
- Symulowane wyżarzanie
- Strojenie naszego algorytmu
- Unikanie zbyt dużego pogarszania
- Umożliwienie powrotu do wcześniejszego rozwiązania
- Testowanie wydajności
- Podsumowanie
7. Geometria
- Problem dyrektora poczty
- TrójkÄ…ty
- Podstawy
- Åšrodek trójkÄ…ta
- Zwiększenie naszych możliwości rysowania
- Triangulacja Delone
- Inkrementacyjne generowanie triangulacji Delone
- Implementacja triangulacji Delone
- Od Delone do Woronoja
- Podsumowanie
8. Analiza języka
- Dlaczego algorytmy przetwarzające język są skomplikowane
- Dodawanie spacji
- Definiowanie listy sÅ‚ów i wyszukiwanie sÅ‚ów
- Radzenie sobie ze słowami złożonymi
- Poszukiwanie potencjalnych sÅ‚ów pomiÄ™dzy nastÄ™pujÄ…cymi po sobie spacjami
- Wykorzystanie korpusu do sprawdzania poprawnoÅ›ci sÅ‚ów
- Odszukiwanie pierwszej i drugiej części potencjalnego słowa
- Dokańczanie fraz
- Tokenizacja i tworzenie n-gramów
- Nasza strategia
- Znajdowanie potencjalnych n+1-gramów
- Wybieranie frazy na podstawie częstości występowania
- Podsumowanie
9. Uczenie maszynowe
- Drzewa decyzyjne
- Tworzenie drzewa decyzyjnego
- Pobranie zbioru danych
- PrzeglÄ…danie zbioru danych
- Dzielenie zbioru danych
- Sprytne dzielenie
- Wybieranie zmiennych do dzielenia
- Zwiększanie głębokości
- Ocena jakości drzewa decyzyjnego
- Problem nadmiernego dopasowania
- Ulepszenia i udoskonalenia
- Losowy las decyzyjny
- Podsumowanie
10. Sztuczna inteligencja
- Gra w kreski
- Rysowanie planszy
- Zapis rozgrywki
- Podliczanie punktów
- Drzewa gry i sposób na wygranÄ…
- Tworzenie drzewa gry
- Wygrywanie gry
- Dodawanie ulepszeń
- Podsumowanie
11. Ruszamy w dal
- Odkrywanie dalszych możliwoÅ›ci algorytmów
- Tworzenie chatbota
- Zamiana sÅ‚ów na wektory liczbowe
- PodobieÅ„stwo wektorów
- Zwiększanie wydajności i prędkości działania
- Algorytmy dla ambitnych
- Rozwiązywanie największych tajemnic
Skorowidz