reklama - zainteresowany?

Od matematyki do programowania uogólnionego - Helion

Od matematyki do programowania uogólnionego
ebook
Autor: Alexander A. Stepanov, Daniel E. Rose
Tytuł oryginału: From Mathematics to Generic Programming
Tłumaczenie: Zdzisław Płoski
ISBN: 978-83-283-1031-5
stron: 288, Format: ebook
Data wydania: 2015-09-17
Księgarnia: Helion

Cena książki: 36,75 zł (poprzednio: 49,00 zł)
Oszczędzasz: 25% (-12,25 zł)

Dodaj do koszyka Od matematyki do programowania uogólnionego

Tagi: Algorytmy - Programowanie | Matematyka | secret-sale | Techniki programowania

Pasjonująca matematyka dla programistów!

Program to nic innego jak ciąg poleceń realizujących zadany algorytm. A gdy mówimy o algorytmach, jesteśmy tylko o krok od matematyki! To wyjątkowo interesująca dziedzina, którą w praktyce powinien znać każdy programista. Jeżeli chciałbyś zrozumieć uogólnione zasady programowania oraz podstawy matematycznych abstrakcji, na których się ono opiera, to trzymasz w rękach odpowiednią publikację.

Na kolejnych stronach znajdziesz interesujące informacje na temat pierwszych algorytmów, historii zera oraz nowoczesnych teorii liczb. Po zdobyciu podstawowych wiadomości oraz poznaniu ogólnej historii matematyki przejdziesz do zaznajamiania się z abstrakcjami, takimi jak grupy, monoidy, półgrupy. Następnie opanujesz m.in. takie zagadnienia, jak wyprowadzanie algorytmu uogólnionego, struktury algebraiczne oraz sposoby organizacji wiedzy matematycznej. Sprawdzisz też, jak wyglądają najważniejsze koncepcje programowania, co to są algorytmy permutacyjne i czym zajmuje się kryptologia. Książka ta jest doskonałą lekturą, która pochłonie Cię na wiele godzin!

Poznasz między innymi:
  • jak uogólnić liczÄ…cy cztery tysiÄ…ce lat algorytm, niezrównane ujÄ™cie klarownoÅ›ci i wydajnoÅ›ci;
  • starożytne paradoksy, piÄ™kne twierdzenia i produktywne napiÄ™cie wystÄ™pujÄ…ce miÄ™dzy tym, co ciÄ…gÅ‚e, i tym, co dyskretne;
  • prosty algorytm znajdowania najwiÄ™kszego wspólnego dzielnika (NWD) i nowoczesne, wywodzÄ…ce siÄ™ z niego abstrakcje;
  • solidne matematyczne podejÅ›cia do abstrakcji;
  • że algebra abstrakcyjna dostarcza koncepcji pozostajÄ…cych w samym centrum programowania uogólnionego;
  • aksjomaty, dowody, teorie i modele, czyli zastosowanie metod matematycznych do organizowania wiedzy o Twoich algorytmach i strukturach danych;
  • zaskakujÄ…ce subtelnoÅ›ci tkwiÄ…ce w prostych zadaniach programistycznych i co jest w nich pouczajÄ…cego;
  • jak wykorzystać wiedzÄ™ teoretycznÄ… w praktycznych implementacjach,
a także poczujesz ducha i aurę, które otaczały myślicieli, matematyków i twórców algorytmów od najdawniejszych czasów po współczesność.

Przekonaj się, jakie tajemnice kryje świat matematyki!



Alexander A. Stepanov — jest autorem licznych prac o podstawach programowania. W swojej karierze programowaÅ‚ systemy operacyjne, narzÄ™dzia, kompilatory oraz dodatkowe biblioteki. Jest laureatem nagrody Excellence in Programming, przyznawanej przez miesiÄ™cznik „Dr. Dobb’s Journal”, i autorem projektu standardowej biblioteki szablonów (STL) w jÄ™zyku C++.

Daniel E. Rose — zajmowaÅ‚ kierownicze stanowiska w firmach Apple, AltaVista, Xigo, Yahoo! i A9.com. W swoich badaniach skupia siÄ™ na wszystkich aspektach zwiÄ…zanych z wyszukiwaniem danych. Na Uniwersytecie Kalifornijskim w San Diego zrobiÅ‚ doktorat z kognitywistyki.

Dodaj do koszyka Od matematyki do programowania uogólnionego

 

Osoby które kupowały "Od matematyki do programowania uogólnionego", wybierały także:

  • Algorytmy kryptograficzne. Przewodnik po algorytmach w blockchain, kryptografii kwantowej, protoko
  • Informatyk samouk. Przewodnik po strukturach danych i algorytmach dla pocz
  • My
  • Nauka algorytm
  • 40 algorytmów, które powinien znać każdy programista. Nauka implementacji algorytmów w Pythonie

Dodaj do koszyka Od matematyki do programowania uogólnionego

Spis treści

Od matematyki do programowania uogólnionego eBook -- spis treści

Podziękowania (7)

O autorach (9)

Nota od autorów (11)

1. O czym jest ta książka (13)

  • 1.1. Programowanie a matematyka (14)
  • 1.2. Perspektywa historyczna (15)
  • 1.3. Wymagania (15)
  • 1.4. Przewodnik (16)

2. Pierwszy algorytm (19)

  • 2.1. Mnożenie po egipsku (20)
  • 2.2. Ulepszenie algorytmu (23)
  • 2.3. PrzemyÅ›lenia zwiÄ…zane z rozdziaÅ‚em (26)

3. Teoria liczb wedÅ‚ug starożytnych Greków (27)

  • 3.1. Geometryczne proporcje liczb caÅ‚kowitych (27)
  • 3.2. Odsiewanie liczb pierwszych (30)
  • 3.3. Implementacja i optymalizacja kodu (33)
  • 3.4. Liczby doskonaÅ‚e (38)
  • 3.5. Program pitagorejski (42)
  • 3.6. Fatalny bÅ‚Ä…d w tym programie (43)
  • 3.7. PrzemyÅ›lenia zwiÄ…zane z rozdziaÅ‚em (47)

4. Algorytm Euklidesa (49)

  • 4.1. Ateny i Aleksandria (49)
  • 4.2. Algorytm Euklidesa znajdowania najwiÄ™kszej wspólnej miary (51)
  • 4.3. TysiÄ…c lat bez matematyki (57)
  • 4.4. Dziwna historia zera (58)
  • 4.5. Algorytmy obliczania reszty i ilorazu (60)
  • 4.6. WspóÅ‚użytkowanie kodu (63)
  • 4.7. Uprawomocnienie tego algorytmu (65)
  • 4.8. PrzemyÅ›lenia zwiÄ…zane z rozdziaÅ‚em (67)

5. Pojawienie siÄ™ nowoczesnej teorii liczb (69)

  • 5.1. Liczby pierwsze Mersenne'a i liczby pierwsze Fermata (69)
  • 5.2. MaÅ‚e twierdzenie Fermata (74)
  • 5.3. Skracanie (78)
  • 5.4. Udowodnienie maÅ‚ego twierdzenia Fermata (82)
  • 5.5. Twierdzenie Eulera (84)
  • 5.6. Zastosowania arytmetyki modularnej (88)
  • 5.7. PrzemyÅ›lenia zwiÄ…zane z rozdziaÅ‚em (89)

6. Abstrakcja w matematyce (91)

  • 6.1. Grupy (91)
  • 6.2. Monoidy i póÅ‚grupy (95)
  • 6.3. Niektóre twierdzenia o grupach (98)
  • 6.4. Podgrupy i grupy cykliczne (101)
  • 6.5. Twierdzenie Lagrange'a (103)
  • 6.6. Teorie i modele (107)
  • 6.7. PrzykÅ‚ady teorii kategorycznych i niekategorycznych (110)
  • 6.8. PrzemyÅ›lenia zwiÄ…zane z rozdziaÅ‚em (113)

7. Wyprowadzenie algorytmu uogólnionego (115)

  • 7.1. RozwikÅ‚anie wymagaÅ„ dotyczÄ…cych algorytmu (115)
  • 7.2. Wymagania dotyczÄ…ce A (116)
  • 7.3. Wymagania dotyczÄ…ce N (120)
  • 7.4. Nowe wymagania (122)
  • 7.5. Zamiana mnożenia na potÄ™gowanie (123)
  • 7.6. Uogólnianie operacji (124)
  • 7.7. Obliczanie liczb Fibonacciego (127)
  • 7.8. PrzemyÅ›lenia zwiÄ…zane z rozdziaÅ‚em (130)

8. Więcej struktur algebraicznych (131)

  • 8.1. Wielomiany Stevina i NWD (131)
  • 8.2. Getynga i matematyka niemiecka (137)
  • 8.3. Noether i narodziny algebry abstrakcyjnej (142)
  • 8.4. PierÅ›cienie (144)
  • 8.5. Mnożenie macierzy i póÅ‚pierÅ›cienie (147)
  • 8.6. Zastosowanie: sieci spoÅ‚eczne i najkrótsze Å›cieżki (149)
  • 8.7. Dziedziny euklidesowe (151)
  • 8.8. CiaÅ‚a i inne struktury algebraiczne (152)
  • 8.9. PrzemyÅ›lenia zwiÄ…zane z rozdziaÅ‚em (154)

9. UporzÄ…dkowanie wiedzy matematycznej (157)

  • 9.1. Dowody (157)
  • 9.2. Pierwsze twierdzenie (160)
  • 9.3. Euklides i metoda aksjomatyczna (163)
  • 9.4. Geometrie alternatywne wobec euklidesowej (165)
  • 9.5. Formalistyczne podejÅ›cie Hilberta (168)
  • 9.6. Peano i jego aksjomaty (171)
  • 9.7. Budowanie arytmetyki (174)
  • 9.8. PrzemyÅ›lenia zwiÄ…zane z rozdziaÅ‚em (177)

10. Podstawowe koncepcje programowania (179)

  • 10.1. Arystoteles i abstrakcja (179)
  • 10.2. WartoÅ›ci i typy (182)
  • 10.3. Koncepty (183)
  • 10.4. Iteratory (187)
  • 10.5. Kategorie, cechy i operacje iteratorowe (188)
  • 10.6. PrzedziaÅ‚y (191)
  • 10.7. Wyszukiwanie liniowe (193)
  • 10.8. Wyszukiwanie binarne (194)
  • 10.9. PrzemyÅ›lenia zwiÄ…zane z rozdziaÅ‚em (199)

11. Algorytmy permutacyjne (201)

  • 11.1. Permutacje i transpozycje (201)
  • 11.2. Zamiana przedziaÅ‚ów (205)
  • 11.3. Rotacja (208)
  • 11.4. Zastosowanie cykli (211)
  • 11.5. Odwracanie (215)
  • 11.6. ZÅ‚ożoność przestrzenna (218)
  • 11.7. Algorytmy dostosowujÄ…ce siÄ™ do pamiÄ™ci (219)
  • 11.8. PrzemyÅ›lenia zwiÄ…zane z rozdziaÅ‚em (220)

12. Rozszerzenia NWD (221)

  • 12.1. Ograniczenia sprzÄ™towe i efektywniejsze algorytmy (221)
  • 12.2. Uogólnienie algorytmu Steina (224)
  • 12.3. Tożsamość Bézouta (227)
  • 12.4. Rozszerzony NWD (231)
  • 12.5. Zastosowania NWD (235)
  • 12.6. PrzemyÅ›lenia zwiÄ…zane z rozdziaÅ‚em (236)

13. Zastosowanie praktyczne (237)

  • 13.1. Kryptologia (237)
  • 13.2. Sprawdzanie pierwszoÅ›ci (240)
  • 13.3. Test Millera-Rabina (243)
  • 13.4. Algorytm RSA - jak dziaÅ‚a i dlaczego (245)
  • 13.5. PrzemyÅ›lenia zwiÄ…zane z rozdziaÅ‚em (248)

14. Wnioski (249)

Lektury uzupełniające (251)

A. Notacja (257)

B. Typowe techniki dowodowe (261)

  • B.1. Dowód nie wprost (261)
  • B.2. Dowód przez indukcjÄ™ (262)
  • B.3. Zasada klatek w goÅ‚Ä™bniku (263)

C. C++ dla nieprogramujÄ…cych w C++ (265)

  • C.1. Funkcje szablonowe (265)
  • C.2. Koncepty (266)
  • C.3. SkÅ‚adnia deklaracji i staÅ‚e z typami (267)
  • C.4. Obiekty funkcyjne (268)
  • C.5. Warunki poczÄ…tkowe i koÅ„cowe oraz asercje (269)
  • C.6. Algorytmy STL i struktury danych (269)
  • C.7. Iteratory i przedziaÅ‚y (271)
  • C.8. Zastosowanie synonimów i funkcji typów w C++11 (272)
  • C.9. Listy inicjatorów w C++11 (272)
  • C.10. Funkcje lambda w C++11 (273)
  • C.11. Uwaga o podprogramach otwartych (273)

Literatura (275)

Skorowidz (279)

ŹródÅ‚a materiaÅ‚u zdjÄ™ciowego (281)

Dodaj do koszyka Od matematyki do programowania uogólnionego

Code, Publish & WebDesing by CATALIST.com.pl



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