Allen B. Downey zrozum struktury danych. algorytmy i praca na danych w javie cała książka.pdf

(7951 KB) Pobierz
Spis treści
Wstęp ..........................................................................................................7
1. Interfejsy ............................................................................................13
Dlaczego są dwa rodzaje list?
Interfejsy w języku Java
Interfejs List
Ćwiczenie 1.
14
15
16
17
2. Analiza algorytmów ..........................................................................21
Sortowanie przez wybieranie
Notacja dużego O
Ćwiczenie 2.
23
25
26
3. Klasa ArrayList ...................................................................................31
Klasyfikacja metod klasy MyArrayList
Klasyfikacja metody add
Wielkość problemu obliczeniowego
Powiązane struktury danych
Ćwiczenie 3.
Uwaga na temat odśmiecania pamięci
31
33
36
37
39
42
4. Klasa LinkedList .................................................................................45
Klasyfikacja metod klasy MyLinkedList
Porównanie klas MyArrayList i MyLinkedList
Profilowanie
Interpretacja wyników
Ćwiczenie 4.
45
48
49
52
53
5. Lista dwukierunkowa ........................................................................55
Wyniki profilowania wydajnościowego
Profilowanie metod klasy LinkedList
Dodawanie na końcu listy będącej obiektem klasy LinkedList
55
57
59
Spis treści
Kup książkę
3
Poleć książkę
Lista dwukierunkowa
Wybór struktury
61
62
6. Przechodzenie przez drzewo ...........................................................65
Mechanizmy wyszukiwania
Parsowanie kodu HTML
Używanie biblioteki jsoup
Iterowanie po drzewie DOM
Przeszukiwanie w głąb
Stosy w języku Java
Iteracyjna implementacja DFS
65
67
69
71
72
73
75
7. Dochodzenie do filozofii ...................................................................77
Pierwsze kroki
Interfejsy Iterable i Iterator
Klasa WikiFetcher
Ćwiczenie 5.
77
78
80
82
8. Indekser ..............................................................................................85
Wybór struktury danych
Klasa TermCounter
Ćwiczenie 6.
85
87
90
9. Interfejs Map ......................................................................................95
Implementacja klasy MyLinearMap
Ćwiczenie 7.
Analiza klasy MyLinearMap
95
96
98
10. Mieszanie .........................................................................................101
Mieszanie
Jak działa mieszanie?
Mieszanie i zmiany
Ćwiczenie 8.
101
104
106
107
11. Klasa HashMap ................................................................................109
Ćwiczenie 9.
Analiza klasy MyHashMap
Kompromisy
Profilowanie klasy MyHashMap
Poprawianie klasy MyHashMap
Diagramy klas UML
109
111
113
114
114
117
4
Spis treści
Poleć książkę
Kup książkę
12. Klasa TreeMap .................................................................................119
Co jest nie tak z mieszaniem?
Binarne drzewo poszukiwań
Ćwiczenie 10.
Implementacja klasy TreeMap
119
120
122
124
13. Binarne drzewo poszukiwań ..........................................................129
Prosta klasa MyTreeMap
Wyszukiwanie wartości
Implementacja metody put
Przechodzenie poprzeczne
Metody logarytmiczne
Drzewa samorównoważące się
Jeszcze jedno ćwiczenie
129
130
132
133
135
137
138
14. Trwałość ...........................................................................................139
Redis
Serwery i klienty Redisa
Tworzenie indeksu przy użyciu Redisa
Typy danych Redisa
Ćwiczenie 11.
Więcej sugestii, z których możesz skorzystać
Kilka wskazówek dotyczących projektu
140
141
142
144
146
148
149
15. Pełzanie po Wikipedii .....................................................................151
Indekser wykorzystujący Redisa
Analiza operacji przeglądania
Analiza operacji indeksowania
Przechodzenie grafu
Ćwiczenie 12.
151
154
155
156
157
16. Wyszukiwanie logiczne ..................................................................161
Implementacja pełzacza
Pozyskiwanie informacji
Wyszukiwanie logiczne
Ćwiczenie 13.
Interfejsy Comparable i Comparator
Rozszerzenia
161
163
164
165
168
170
Spis treści
Kup książkę
5
Poleć książkę
17. Sortowanie .......................................................................................173
Sortowanie przez wstawianie
Ćwiczenie 14.
Analiza sortowania przez scalanie
Sortowanie pozycyjne
Sortowanie przez kopcowanie
Kopiec ograniczony
Złożoność pamięciowa
174
176
178
180
182
185
185
Skorowidz ...............................................................................................189
6
Spis treści
Poleć książkę
Kup książkę
Zgłoś jeśli naruszono regulamin