reklama - zainteresowany?

Rekurencyjna ksi - Helion

Rekurencyjna ksi
ebook
Autor: Al Sweigart
Tytuł oryginału: The Recursive Book of Recursion: Ace the Coding Interview with Python and JavaScript
TÅ‚umaczenie: Filip Kami
ISBN: 978-83-8322-654-5
stron: 336, Format: ebook
Data wydania: 2023-07-01
Księgarnia: Helion

Cena książki: 43,45 zł (poprzednio: 77,59 zł)
Oszczędzasz: 44% (-34,14 zł)

Dodaj do koszyka Rekurencyjna ksi

Tagi: JavaScript - Programowanie | Python - Programowanie

Rekurencja jest

Dodaj do koszyka Rekurencyjna ksi

 

Osoby które kupowały "Rekurencyjna ksi", wybierały także:

  • Matematyka dla programistów JavaScript
  • Vue.js 2. Wprowadzenie dla profesjonalistów
  • D3.js w akcji
  • Baw siÄ™ kodem! Twoja wÅ‚asna gra. CoderDojo Nano
  • Tablice informatyczne. Node.js

Dodaj do koszyka Rekurencyjna ksi

Spis treści

Rekurencyjna książka o rekurencji. Zostań mistrzem rozmów kwalifikacyjnych poświęconych językom Python i JavaScript eBook -- 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 algorytmy rekurencyjne

  • 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

Dodaj do koszyka Rekurencyjna ksi

Code, Publish & WebDesing by CATALIST.com.pl



(c) 2005-2024 CATALIST agencja interaktywna, znaki firmowe należą do wydawnictwa Helion S.A.