Ta strona wykorzystuje pliki cookies. Korzystając ze strony, zgadzasz się na ich użycie. OK Polityka Prywatności Zaakceptuj i zamknij X

Projektowanie i analiza algorytmów

19-01-2012, 15:30
Aukcja w czasie sprawdzania była zakończona.
Najwyzsza cena licytacji: 53 zł      Aktualna cena: 53 zł     
Użytkownik Didedodi
numer aukcji: 2037959644
Miejscowość Szczecin
Kupiono sztuk: 1    Licytowało: 1    Wyświetleń: 17   
Koniec: 14-01-2012 14:45:47

Dodatkowe informacje:
Stan: Używany
Okładka: twarda
Rok wydania (xxxx): 2003
Kondycja: bez śladów używania
Język: polski
Tematyka: Techniki programowania
info Niektóre dane mogą być zasłonięte. Żeby je odsłonić przepisz token po prawej stronie. captcha




Projektowanie i analiza algorytmów
Autorzy: Alfred V. Aho, John E. Hopcroft, Jeffrey D. Ullman
Data wydania: 2003
Stron: 488
Tłumaczenie: Wojciech Derechowski
ISBN: 83-7197-770-0
Format: B5
Oprawa: twarda
Stan: bardzo dobry jak nowa

Badanie algorytmów leży w samym sercu nauk komputerowych. W ostatnich latach dokonano znaczących postępów w tej dziedzinie. Opracowano m.in. wiele efektywniejszych algorytmów (szybkie przekształcenie Fouriera), odkryto także istnienie pewnych naturalnych zadań, dla których wszystkie algorytmy są nieefektywne. Wyniki te powodują wzrost zainteresowania badaniami algorytmów, co przyczynia się do intensywnego rozwoju tej dziedziny wiedzy.
Książka jest podręcznikiem wstępnego kursu projektowania i analizy algorytmów. Autorzy położyli nacisk raczej na prezentacji najważniejszych idei i przystępności wykładu, niż na szczegółach realizacji i sztuczkach programistycznych. Autorzy przedstawiają na ogół nieformalne, intuicyjne objaśnienia zamiast długich i pracochłonnych dowodów. Książka nie wymaga żadnego szczególnego przygotowania z zakresu matematyki, czy języków programowania. Pożądana jest jednak pewna dojrzałość w stosowaniu pojęć matematycznych, ogólne obycie w językach programowania wysokiego poziomu, takich jak FORTRAN lub ALGOL, a także podstawowa znajomość algebry liniowej.

W książce omówiono m.in.:

Podstawowe pojęcia i modele (w tym maszynę Turniga)
Najważniejsze struktury danych, rekurencję, programowanie dynamiczne
Algorytmy sortowania, operacje na zbiorach, drzewach i grafach
Szybkie przekształcenie Fouriera z zastosowaniami
Algorytmy arytmetyczne, operacje na wielomianach
Algorytmy dopasowania wzorców
Problemy NP-zupełne
Dolne ograniczenia złożoności obliczeniowej
Ważnym uzupełnieniem treści książki są ćwiczenia o zróżnicowanych poziomach trudności. "Projektowanie i analiza algorytmów" to doskonały podręcznik dla studentów informatyki i kierunków pokrewnych, a także wspaniała pomoc dla osób prowadzących wykłady i ćwiczenia na tych kierunkach.

Przedmowa (7)
1. Modele obliczania 11

1.1 Algorytmy i ich złożoność (11)
1.2 Maszyny o dostępie swobodnym 14
1.3 Złożoność obliczeniowa programów RAM 20
1.4 Model z zapamiętanym programem 23
1.5 Abstrakcje RAM 28
1.6 Pierwotny model obliczania: maszyna Turinga 34
1.7 Związek pomiędzy maszyną Turinga i modelem RAM (39)
1.8 Pidgin ALGOL - język wysokiego poziomu (41)
2. Projektowanie efektywnych algorytmów 51

2.1 Struktury danych: listy, kolejki i stosy 52
2.2 Reprezentacje zbioru 56
2.3 Grafy 57
2.4 Drzewa (60)
2.5 Rekurencja (63)
2.6 Dziel i zwyciężaj 67
2.7 Zrównoważenie (73)
2.8 Programowanie dynamiczne 74
2.9 Zakończenie (77)
3. Sortowanie i statystyka pozycyjna 85

3.1 Problem sortowania 86
3.2 Sortowanie pozycyjne (87)
3.3 Sortowanie przez porównania (95)
3.4 Heapsort - algorytm sortowania przez O(n log n) porównań (96)
3.5 Quicksort - algorytm sortowania w czasie oczekiwanym O(n log n) 101
3.6 Statystyka pozycyjna 106
3.7 Czas oczekiwany dla statystyki pozycyjnej 108
4. Struktury danych dla zadań operujących na zbiorach 117

4.1 Operacje pierwotne na zbiorach 117
4.2 Haszowanie (120)
4.3 Poszukiwanie binarne (122)
4.4 Drzewa poszukiwań binarnych (124)
4.5 Optymalne drzewa poszukiwań binarnych 128
4.6 Prosty algorytm sumy zbiorów rozłącznych (132)
4.7 Struktury drzew dla problemu UNION-FIND 136
4.8 Zastosowania i rozszerzenia algorytmu UNION-FIND 146
4.9 Schematy z drzewami zrównoważonymi 152
4.10 Słowniki i kolejki priorytetowe 155
4.11 Kopce złączane (159)
4.12 Kolejki konkatenowane (162)
4.13 Podział (164)
4.14 Podsumowanie rozdziału 169
5. Algorytmy na grafach 179

5.1 Drzewa rozpinające o minimalnym koszcie 179
5.2 Przeszukiwanie w głąb (183)
5.3 Dwuspójność 187
5.4 Przeszukiwanie w głąb grafu skierowanego 195
5.5 Spójność silna 197
5.6 Problemy znajdowania ścieżek (203)
5.7 Algorytm przechodniego domknięcia (207)
5.8 Algorytm najkrótszych ścieżek 208
5.9 Problemy ścieżek i mnożenie macierzy 210
5.10 Problemy jednego źródła 215
5.11 Dominatory w acyklicznym grafie skierowanym (218)
6. Mnożenie macierzy i pokrewne operacje 235

6.1 Podstawy 235
6.2 Algorytm Strassena mnożenia macierzy (239)
6.3 Odwracanie macierzy 241
6.4 Rozkład LUP 242
6.5 Zastosowania rozkładu LUP 250
6.6 Mnożenie macierzy zero-jedynkowych (252)
7. Szybkie przekształcenie Fouriera z zastosowaniami (263)

7.1 Dyskretna transformata Fouriera i transformata odwrotna (264)
7.2 Algorytm szybkiego przekształcenia Fouriera 268
7.3 FFT z operacjami na bitach 276
7.4 Iloczyny wielomianów (281)
7.5 Mnożenie liczb całkowitych według algorytm Schonhagego-Strassena 282
8. Arytmetyka na liczbach całkowitych i wielomianach (289)

8.1 Podobieństwo między liczbami całkowitymi i wielomianami 290
8.2 Mnożenie i dzielenie liczb całkowitych 291
8.3 Mnożenie i dzielenie wielomianów (298)
8.4 Arytmetyka modularna 300
8.5 Arytmetyka modularna na wielomianach i wartości wielomianów .304
8.6 Chińskie zliczanie reszt (306)
8.7 Chińskie zliczanie reszt i interpolacja wielomianów (310)
8.8 Największy wspólny dzielnik i algorytm Euklidesa (312)
8.9 Asympotycznie szybki algorytm GCD dla wielomianów (315)
8.10 Największy wspólny dzielnik liczb całkowitych 320
8.11 Chińskie zliczanie reszt - raz jeszcze (322)
8.12 Wielomiany rzadkie 323
9. Algorytmy dopasowania wzorców (329)

9.1 Automaty skończone i wyrażenia regularne (329)
9.2 Rozpoznawanie wzorców przez wyrażenia regularne (338)
9.3 Rozpoznawanie podnapisów 341
9.4 Dwukierunkowe deterministyczne automaty ze stosem (347)
9.5 Drzewa pozycji i identyfikatory podnapisowe 358
10. Problemy NP-zupełne 375

10.1 Niedeterministyczne maszyny Turinga 376
10.2 Klasy P i NP (383)
10.3 Języki i problemy 385
10.4 NP-zupełność problemu spełnialności (388)
10.5 Inne problemy NP-zupełne 395
10.6 Problemy o wielomianowej złożoności pamięciowej (406)
11. Problemy niełatwe na podstawie dowodu 417

11.1 Hierarchie złożoności 417
11.2 Hierarchia pamięciowa dla deterministycznych maszyn Turinga 418
11.3 Problem wymagający wykładniczego czasu i pamięci 421
11.4 Problem nieelementarny 430
12. Ograniczenia dolne liczby operacji arytmetycznych (439)

12.1 Ciała (439)
12.2 Kod liniowy - raz jeszcze (440)
12.3 Macierzowe formułowanie problemów (443)
12.4 Ograniczenie dolne liczby mnożeń zależne od liczby wierszy 443
12.5 Ograniczenie dolne liczby mnożeń zależne od liczby kolumn 445
12.6 Ograniczenie dolne liczby mnożeń zależne od liczby wierszy i kolumn 450
12.7 Nastawianie (452)
Bibliografia (463)
Indeks 477