| | Okładka: | |
Liczba stron:256 Wydawnictwo:Helion Wymiary: 172 x 245 mm ISBN: 978-83-[zasłonięte]-3481-1 Seria: Kanon informatyki Data wydania: 2[zasłonięte]012-01 | | | | OPIS KSIĄŻKI | Perełka wśród książek o programowaniu!
- Jak tworzyć algorytmy?
- Jak oszacować i zmierzyć wydajność algorytmu?
- Jak skompresować kod programu oraz dane?
Każdy programista w swojej karierze spotyka się z ciekawymi i intrygującymi, a czasami skomplikowanymi problemami. Problemy te potrafią drażnić, pobudzać ciekawość i zmuszać do ciągłego zastanawiania się nad nimi przez wiele dni oraz tygodni o każdej porze dnia i nocy, aż nagle... eureka! Rozwiązanie pojawia się w głowie - najlepsze z możliwych, eleganckie, wydajne i proste. Właśnie takie rozwiązanie to perełka!
"Perełki oprogramowania" są istną kopalnią tego typu skarbów. Znajdziesz tu dziesiątki ciekawych problemów i jeszcze ciekawszych rozwiązań. Autor omawia istotę algorytmów, sposoby na poprawę wydajności programu oraz najlepsze techniki sortowania czy kompresji danych. Twoją ciekawość wzbudzi z pewnością katalog, w którym być może znajdziesz optymalny algorytm, rozwiązujący trapiące Cię problemy. Książka ta jest wymieniana wśród najbardziej wpływowych w branży informatycznej. Przez lata zdobyła ogromną popularność, a zaktualizowana wersja z pewnością utrwali jej pozycję na rynku. Jeśli masz cokolwiek wspólnego z programowaniem, musisz ją mieć!
- Określanie problemu
- Algorytmy
- Sposoby pisania poprawnych programów
- Droga od pseudokodu do programu
- Testowanie
- Szacowanie i mierzenie wydajności programu
- Techniki tworzenia algorytmów
- Optymalizacja kodu
- Kompresja kodu oraz danych
- Szybkie sortowanie oraz wydajne wyszukiwanie
- Kopce
- Katalog algorytmów
Najbardziej wpływowa książka w świecie informatyki w odnowionej, aktualnej wersji! | | Perełki programowania. Wydanie II - SPIS TREŚCI: | Wstęp (7) I: Preliminaria (11) 1. Rozłupywanie ostrygi (13)
- 1.1. Przyjacielska rozmowa (13)
- 1.2. Dokładne określenie problemu (14)
- 1.3. Projekt programu (14)
- 1.4. Szkic implementacji (16)
- 1.5. Reguły (17)
- 1.6. Problemy (18)
- 1.7. Lektury uzupełniające (19)
2. Aha! Algorytmy (21)
- 2.1. Trzy problemy (21)
- 2.2. Wszędobylskie szukanie binarne (22)
- 2.3. Potęga typów podstawowych (23)
- 2.4. Składanie razem: sortowanie (25)
- 2.5. Reguły (26)
- 2.6. Problemy (27)
- 2.7. Lektury uzupełniające (28)
- 2.8. Implementacja programu anagramowego (kolumna boczna) (29)
3. Dane strukturyzują programy (31)
- 3.1. Program kwestionariuszowy (31)
- 3.2. Programowanie listów seryjnych (33)
- 3.3. Tablica przykładów (35)
- 3.4. Strukturyzacja danych (37)
- 3.5. Wydajne narzędzie dla wyspecjalizowanych danych (37)
- 3.6. Reguły (39)
- 3.7. Problemy (40)
- 3.8. Lektury uzupełniające (42)
4. Pisanie poprawnych programów (43)
- 4.1. Wyzwanie szukania binarnego (43)
- 4.2. Pisanie programu (44)
- 4.3. Zrozumieć program (46)
- 4.4. Reguły (49)
- 4.5. Zadania weryfikacji oprogramowania (50)
- 4.6. Problemy (51)
- 4.7. Lektury uzupełniające (53)
5. Drobna kwestia zaprogramowania (55)
- 5.1. Od pseudokodu do C (55)
- 5.2. Zaprzęg testowy (57)
- 5.3. Sztuka asercji (59)
- 5.4. Testowanie zautomatyzowane (60)
- 5.5. Pomiary prędkości (61)
- 5.6. Gotowy program (63)
- 5.7. Reguły (63)
- 5.8. Problemy (64)
- 5.9. Lektury uzupełniające (65)
- 5.10. Debugowanie (kolumna boczna) (66)
II: Wydajność (69) 6. Spojrzenie na wydajność (71)
- 6.1. Studium przypadku (71)
- 6.2. Poziomy projektowania (73)
- 6.3. Reguły (75)
- 6.4. Problemy (75)
- 6.5. Lektury uzupełniające (76)
7. Obliczenia pobieżne (77)
- 7.1. Podstawowe umiejętności (78)
- 7.2. Szacowanie wydajności (80)
- 7.3. Czynniki bezpieczeństwa (82)
- 7.4. Prawo Little'a (83)
- 7.5. Reguły (84)
- 7.6. Problemy (84)
- 7.7. Lektury uzupełniające (85)
- 7.8. Obliczenia pobieżne w życiu codziennym (86)
8. Techniki projektowania algorytmów (87)
- 8.1. Problem i prosty algorytm (87)
- 8.2. Dwa algorytmy kwadratowe (88)
- 8.3. Algorytm dziel i zwyciężaj (89)
- 8.4. Algorytm skanujący (91)
- 8.5. Jakie to ma znaczenie? (92)
- 8.6. Reguły (93)
- 8.7. Problemy (94)
- 8.8. Lektury uzupełniające (96)
9. Optymalizacja kodu (97)
- 9.1. Typowa historia (97)
- 9.2. Zestaw pierwszej pomocy (98)
- 9.3. Poważna operacja - szukanie binarne (102)
- 9.4. Reguły (105)
- 9.5. Problemy (107)
- 9.6. Lektury uzupełniające (108)
10. Oszczędzanie miejsca (109)
- 10.1. Kluczem jest prostota (109)
- 10.2. Problem poglądowy (110)
- 10.3. Techniki zmniejszające wielkość danych (113)
- 10.4. Techniki zmniejszające wielkość kodu (116)
- 10.5. Reguły (118)
- 10.6. Problemy (119)
- 10.7. Lektury uzupełniające (120)
- 10.8. Duża oszczędność (kolumna boczna) (120)
III: Produkt (123) 11. Sortowanie (125)
- 11.1. Sortowanie przez wstawianie (125)
- 11.2. Proste sortowanie szybkie (127)
- 11.3. Lepsze szybkie sortowania (130)
- 11.4. Reguły (132)
- 11.5. Problemy (133)
- 11.6. Lektury uzupełniające (134)
12. Problem próby (137)
- 12.1. Problem (137)
- 12.2. Jedno rozwiązanie (138)
- 12.3. Przestrzeń projektowania (139)
- 12.4. Reguły (142)
- 12.5. Problemy (143)
- 12.6. Lektury uzupełniające (144)
13. Szukanie (145)
- 13.1. Interfejs (145)
- 13.2. Struktury liniowe (147)
- 13.3. Binarne drzewa poszukiwań (150)
- 13.4. Struktury dla liczb całkowitych (153)
- 13.5. Reguły (155)
- 13.6. Problemy (156)
- 13.7. Lektury uzupełniające (156)
- 13.8. Rzeczywisty problem szukania (kolumna boczna) (157)
14. Kopce (161)
- 14.1. Struktura danych (161)
- 14.2. Dwie krytyczne funkcje (163)
- 14.3. Kolejki priorytetowe (166)
- 14.4. Algorytm sortujący (169)
- 14.5. Reguły (171)
- 14.6. Problemy (171)
- 14.7. Lektury uzupełniające (173)
15. Sznury pereł (175)
- 15.1. Słowa (175)
- 15.2. Frazy (178)
- 15.3. Generowanie tekstu (181)
- 15.4. Reguły (185)
- 15.5. Problemy (186)
- 15.6. Lektury uzupełniające (187)
Zakończenie do wydania pierwszego (189) Zakończenie do wydania drugiego (191) A. Katalog algorytmów (193) B. Quiz estymacyjny (199) C. Modele kosztowe czasu i pamięci (201) D. Reguły optymalizacji kodu (207) E. Klasy języka C++ służące do szukania (213) Wskazówki do wybranych problemów (217) Rozwiązania wybranych problemów (223) Skorowidz (251) | | | |