Facebook - konwersja
Pobierz fragment

Rekurencyjna książka o rekurencji. Zostań mistrzem rozmów kwalifikacyjnych poświęconych językom Python i JavaScript - ebook

Wydawnictwo:
Tłumacz:
Data wydania:
8 sierpnia 2023
Format ebooka:
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.
, 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.
, 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.
Pobierz fragment
79,00

Rekurencyjna książka o rekurencji. Zostań mistrzem rozmów kwalifikacyjnych poświęconych językom Python i JavaScript - ebook

Rekurencja jest świetna ... co więcej, dla Ciebie może oznaczać udaną rozmowę kwalifikacyjną! To metoda pomocna w rozwiązywaniu trudnych zagadnień: sprowadza złożone problemy do znacznie łatwiejszych. Myślenie rekurencyjne przydaje się często podczas projektowania oprogramowania, nawet jeśli nie stosuje się w nim wprost rekurencji. Wielu twórców oprogramowania jej unika, uważa ją bowiem za trudną i niezrozumiałą. Przekonaj się, że jest inaczej!

Dzięki tej książce zrozumiesz, że w rekurencji nie kryje się żadna magia. Dowiesz się, na czym polega jej działanie i kiedy warto zastosować algorytm rekursywny, a kiedy lepiej tego nie robić. Poznasz szereg klasycznych i mniej znanych algorytmów rekurencyjnych. Pracę z zawartym tu materiałem ułatwią Ci liczne przykłady programów napisanych w Pythonie i JavaScripcie, pokazujące, jak rozwiązywać przeróżne problemy związane z przechodzeniem przez drzewa, kombinatoryką i innymi trudnymi zagadnieniami. Nauczysz się także skutecznie poprawiać wydajność kodu i algorytmów rekurencyjnych.

Sprawdź i zrozum:

  • czym jest rekurencja i jak działają klasyczne algorytmy rekurencyjne
  • w jaki sposób funkcje rekurencyjne wykorzystują stos wywołań
  • jak rekurencja ogonowa upraszcza pisanie funkcji rekurencyjnych
  • dlaczego rekurencja ułatwia rozwiązywanie niestandardowych problemów
  • w jaki sposób optymalizacja i memoizacja zwiększają wydajność algorytmów rekurencyjnych

Przygotuj swój mózg na niezłą gimnastykę!

David Beazley, legenda Pythona, dwukrotny laureat IEEE Gordon Bell Priz

Zanim zastosujesz rekurencję, musisz najpierw... zrozumieć rekurencję!

Spis treści

Przedmowa

Podziękowania

Wprowadzenie

Część I. Zrozumieć rekurencję

1. Czym jest rekurencja?

  • Definicja rekurencji
  • Czym są funkcje?
  • Czym są stosy?
  • Czym jest stos wywołań?
  • Czym są funkcje rekurencyjne i przepełnienie stosu?
  • Przypadki bazowe i rekurencyjne
  • Kod przed wywołaniem rekurencyjnym i po wywołaniu rekurencyjnym
  • Podsumowanie
  • Materiały dodatkowe
  • Pytania praktyczne

2. Rekurencja a iteracja

  • Obliczanie silni
    • Iteracyjny algorytm obliczania silni
    • Rekurencyjny algorytm obliczania silni
    • Dlaczego rekurencyjny algorytm obliczania silni jest szalenie nieefektywny?
  • Znajdowanie wyrazów ciągu Fibonacciego
    • Iteracyjny algorytm wyznaczania n-tego wyrazu ciągu Fibonacciego
    • Rekurencyjny algorytm wyznaczania n-tego wyrazu ciągu Fibonacciego
    • Dlaczego rekurencyjny algorytm wyznaczania n-tego wyrazu ciągu Fibonacciego jest mocno nieefektywny?
  • Zamiana algorytmu rekurencyjnego na iteracyjny
  • Zamiana algorytmu iteracyjnego na rekurencyjny
  • Studium przypadku: obliczanie potęg
    • Rekurencyjna funkcja potęgująca
    • Iteracyjne obliczanie potęgi na podstawie wniosków z algorytmu rekurencyjnego
  • Kiedy powinno się korzystać z rekurencji?
  • Tworzenie algorytmów rekurencyjnych
  • Podsumowanie
  • Materiały dodatkowe
  • Pytania praktyczne
  • Zadania

3. Klasyczne algorytmyrekurencyjne

  • Dodawanie liczb zapisanych w tablicy
  • Odwracanie łańcucha znaków
  • Wykrywanie palindromów
  • Wieże Hanoi
  • Algorytm flood fill
  • Funkcja Ackermanna
  • Podsumowanie
  • Materiały dodatkowe
  • Pytania praktyczne
  • Zadania

4. Algorytmy z nawrotami i algorytmy przechodzenia przez drzewa

  • Algorytmy przechodzenia przez drzewo
    • Drzewa w Pythonie i JavaScripcie
    • Przechodzenie przez drzewo
    • Przechodzenie przez drzewo w porządku preorder
    • Przechodzenie przez drzewo w porządku postorder
    • Przechodzenie przez drzewo w porządku inorder
  • Znajdowanie ośmioliterowych słów w drzewie
  • Ustalanie maksymalnej głębokości drzewa
  • Szukanie wyjścia z labiryntu
  • Podsumowanie
  • Materiały dodatkowe
  • Pytania praktyczne
  • Zadania

5. Algorytmy typu "dziel i zwyciężaj"

  • Wyszukiwanie binarne - znajdowanie książki na półce z ułożonymi alfabetycznie pozycjami
  • Sortowanie szybkie - dzielenie nieposortowanej sterty książek na posortowane stosy
  • Sortowanie przez scalanie - łączenie małych stosów kart do gry w większe posortowane stosy
  • Sumowanie liczb zapisanych w tablicy
  • Algorytm mnożenia Karacuby
  • Matematyka kryjąca się za algorytmem Karacuby
  • Podsumowanie
  • Materiały dodatkowe
  • Pytania praktyczne
  • Zadania

6. Permutacje i kombinacje

  • Podstawy teorii mnogości
  • Znajdowanie permutacji bez powtórzeń - usadzanie gości przy weselnym stole
  • Znajdowanie permutacji za pomocą zagnieżdżonych pętli - podejście dalekie od ideału
  • Permutacje z powtórzeniami - narzędzie do łamania haseł
  • Znajdowanie k-elementowych kombinacji za pomocą rekurencji
  • Znajdowanie wszystkich kombinacji zawierających poprawne nawiasowanie
  • Zbiór potęgowy - znajdowanie wszystkich podzbiorów zbioru
  • Podsumowanie
  • Materiały dodatkowe
  • Pytania praktyczne
  • Zadania

7. Memoizacja i programowanie dynamiczne

  • Memoizacja
    • Programowanie dynamiczne z zastosowaniem strategii top-down
    • Memoizacja w programowaniu funkcyjnym
    • Memoizacja w rekurencyjnym algorytmie wyznaczania elementów ciągu Fibonacciego
  • Moduł functools Pythona
  • Co się stanie, gdy przeprowadzimy memoizację "nieczystej" funkcji?
  • Podsumowanie
  • Materiały dodatkowe
  • Pytania praktyczne

8. Optymalizacja rekurencji ogonowej

  • Jak działa rekurencja ogonowa i na czym polega jej optymalizacja?
  • Akumulatory w rekurencji ogonowej
  • Ograniczenia rekurencji ogonowej
  • Rekurencja ogonowa - studium przypadku
    • Rekurencja ogonowa - odwracanie łańcuchów znaków
    • Rekurencja ogonowa - znajdowanie podłańcuchów
    • Rekurencja ogonowa - potęgowanie
    • Rekurencja ogonowa - parzysty/nieparzysty
  • Podsumowanie
  • Materiały dodatkowe
  • Pytania praktyczne

9. Rysowanie fraktali

  • Grafika żółwia
  • Podstawowe funkcje modułu turtle
  • Trójkąt Sierpińskiego
  • Dywan Sierpińskiego
  • Drzewa fraktalne
  • Jak długie jest wybrzeże Wielkiej Brytanii? Krzywa i płatek śniegu Kocha
  • Krzywa Hilberta
  • Podsumowanie
  • Materiały dodatkowe
  • Pytania praktyczne
  • Zadania

Część II. Projekty

10. Wyszukiwarka plików

  • Program do wyszukiwania plików
  • Funkcje dopasowujące
    • Znajdowanie plików, których rozmiar w bajtach jest parzysty
    • Znajdowanie plików, których nazwy zawierają każdą z pięciu samogłosek
  • Rekurencyjna funkcja walk()
  • Wywoływanie funkcji walk()
  • Funkcje biblioteki standardowej Pythona przydatne w pracy z plikami
    • Ustalanie nazwy pliku
    • Wyszukiwanie informacji o znacznikach czasowych pliku
    • Modyfikowanie plików
  • Podsumowanie
  • Materiały dodatkowe

11. Generator labiryntów

  • Kod generatora labiryntów
  • Stałe w generatorze labiryntu
  • Tworzenie struktury danych labiryntu
  • Wyświetlanie struktury danych labiryntu
  • Korzystanie z rekurencyjnego algorytmu z nawrotami
  • Rozpoczynanie łańcucha wywołań rekurencyjnych
  • Podsumowanie
  • Materiały dodatkowe

12. Układanie "piętnastki"

  • Rekurencyjny algorytm układania "piętnastki"
  • Kod programu do układania "piętnastki"
  • Stałe w programie
  • Reprezentacja układanki w danych
    • Wyświetlanie układanki
    • Tworzenie nowej układanki
    • Znajdowanie współrzędnych pustego pola
    • Wykonywanie ruchu
    • Cofanie ruchu
  • Tworzenie nowej układanki
  • Rekurencyjne rozwiązywanie piętnastki
    • Funkcja solve()
    • Funkcja attemptMove()
  • Uruchamianie solvera
  • Podsumowanie
  • Materiały dodatkowe

13. Program do rysowania fraktali

  • Fraktale dostępne w programie
  • Algorytm zastosowany w programie
  • Kod programu Fractal Art Maker
  • Stałe w programie i konfiguracja modułu turtle
  • Praca z funkcjami rysującymi kształty
    • Funkcja drawFilledSquare()
    • Funkcja drawTriangleOutline()
  • Funkcja drawFractal()
    • Początek funkcji
    • Obsługa słownika specyfikacji
    • Wykorzystywanie specyfikacji
  • Tworzenie przykładowych fraktali
    • Cztery rogi
    • Spirala kwadratów
    • Podwójna spirala kwadratów
    • Spirala trójkątów
    • Glider z "gry w życie" Conwaya
    • Trójkąt Sierpińskiego
    • Fala
    • Róg
    • Płatek śniegu
    • Rysowanie pojedynczego kwadratu lub trójkąta
  • Tworzenie własnych fraktali
  • Podsumowanie
  • Materiały dodatkowe

14. Efekt Droste

  • Instalowanie biblioteki Pillow
  • Przygotowanie obrazka
  • Kod programu Droste Maker
  • Początek implementacji
  • Znajdowanie obszaru w kolorze magenty
  • Zmiana rozmiaru obrazka
  • Rekurencyjne umieszczanie obrazu w obrazie
  • Podsumowanie
  • Materiały dodatkowe
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-654-5
Rozmiar pliku: 23 MB

BESTSELLERY

Kategorie: