Cena detaliczna 49,00 zł
Cena promocyjna 40,18 zł
nie zaw. kosztów wysyłki
MODEL: 978-83-246-3481-1
Wydrukuj kartę produktu
Dostawa: 1-2 Dni
Perełki programowania. Wydanie II
Autor: Jon Bentley
Data wydania: 2012/01
Stron: 256
Tytuł oryginału: Programming Pearls 2nd Edition
Tłumaczenie: Ireneusz Jakóbik
ISBN: 9788324634811 / 978-83-246-3481-1
Format: 172x245
Oprawa: twarda
Numer z katalogu: 6796
Wydawnictwo Helion
Przykłady na ftp Helion
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!
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
Autor: Bentley Jon
Rok wydania: 2012
ISBN: 978-83-246-3481-1
Data dodania do sklepu sobota, 21 styczeń 2012.