reklama - zainteresowany?

Od matematyki do programowania uogólnionego - Helion

Od matematyki do programowania uogólnionego
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-1028-5
stron: 288, Format: 168x237, okładka: miękka
Data wydania: 2015-09-17
Księgarnia: Helion

Cena książki: 49,00 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 -- 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.