Tytuł: | Algorytmy Wydanie IV | | Autor: | Robert Sedgewick, Kevin Wayne | | ISBN: | 978-83-246-3536-8 | | Ilość stron: | 952 | | Data wydania: | 01/2012 | | Oprawa: | Twarda | | Format: | 172x245 | | Wydawnictwo: | HELION | |
| Cena: | 149.00zł | |
Nie odkrywaj koła na nowo - sprawdź gotowe rozwiązania.
- Jak oceniać wydajność algorytmów?
- Jak wydajnie sortować elementy?
- Jak kompresować dane?
Algorytmy od zawsze porównywane były do przepisów kucharskich. Z celnością tego porównania trudno dyskutować, na pewno jednak przesolenie zupy ma zupełnie inne konsekwencje niż błędnie opracowany lub zaimplementowany algorytm. To właśnie algorytmy decydują o czasie wykonania skomplikowanych operacji przez programy komputerowe, a ich odpowiednia implementacja może niejednokrotnie decydować o sukcesie lub porażce projektu wartego fortunę.
Dzięki tej książce masz szansę uniknąć typowych programistycznych błędów i porażek. Jej lektura zapozna Cię z najpopularniejszymi algorytmami, ich licznymi zaletami oraz słabymi stronami. Sprawdzisz, do czego można je zastosować, a w jakich miejscach lepiej zrezygnować z ich wykorzystania. Ponadto nauczysz się analizować działanie algorytmów, mierzyć ich wydajność oraz dobierać dane testowe.
W książce zostały omówione klasyczne algorytmy sortowania, wyszukiwania, operacji na grafach oraz kompresji danych. Jej ogromnym atutem są przykładowe implementacje algorytmów w języku JAVA oraz to, że przedstawiony kod jest gotowy do natychmiastowego użycia! Pozycja ta jest obowiązkową lekturą dla każdego programisty, któremu zależy na najwyższej wydajności tworzonych rozwiązań.
- Podstawowe pojęcia
- Struktura programu w języku JAVA
- Instrukcje, typy danych, wyrażenia w języku JAVA
- Korzystanie z abstrakcyjnych typów danych
- Stosy, kolejki
- Analiza algorytmów
- Algorytmy sortowania i wyszukiwania
- Wykorzystanie grafów
- Znajdowanie najkrótszej ścieżki
- Operacja na łańcuchach znaków
- Algorytmy kompresji danych
Nie trać czasu i energii - korzystaj ze sprawdzonych rozwiązań.
Spis treści:
1. Podstawy (14)
- 1.1. Podstawowy model programowania (20)
- 1.2. Abstrakcja danych (76)
- 1.3. Wielozbiory, kolejki i stosy (132)
- 1.4. Analizy algorytmów (184)
- 1.5. Studium przypadku - problem Union-Find (228)
2. Sortowanie (254)
- 2.1. Podstawowe metody sortowania (256)
- 2.2. Sortowanie przez scalanie (282)
- 2.3. Sortowanie szybkie (300)
- 2.4. Kolejki priorytetowe (320)
- 2.5. Zastosowania (348)
3. Wyszukiwanie (372)
- 3.1. Tablice symboli (374)
- 3.2. Drzewa wyszukiwań binarnych (408)
- 3.3. Zbalansowane drzewa wyszukiwań (436)
- 3.4. Tablice z haszowaniem (470)
- 3.5. Zastosowania (498)
4. Grafy (526)
- 4.1. Grafy nieskierowane (530)
- 4.2. Grafy skierowane (578)
- 4.3. Minimalne drzewa rozpinające (616)
- 4.4. Najkrótsze ścieżki (650)
5. Łańcuchy znaków (706)
- 5.1. Sortowanie łańcuchów znaków (714)
- 5.2. Drzewa trie (742)
- 5.3. Wyszukiwanie podłańcuchów (770)
- 5.4. Wyrażenia regularne (800)
- 5.5. Kompresja danych (822)
6. Kontekst (864)
Algorytmy (944) Klienty (945)
|