Java Zaawansowane zastosowania.pdf
(
854 KB
)
Pobierz
Tytuł oryginału: Advanced Topics in Java: Core Concepts in Data Structures
Tłumaczenie: Piotr Rajca
ISBN: 978-83-246-9426-6
Original edition copyright © 2014 by Noel Kalicharan.
All rights reserved.
Polish edition copyright © 2014 by HELION SA.
All rights reserved.
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means,
electronic or mechanical, including photocopying, recording or by any information storage retrieval system,
without permission from the Publisher.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej
publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną,
fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje
naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich
właścicieli.
Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje były
kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane
z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION nie
ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji
zawartych w książce.
Wydawnictwo HELION
ul. Kościuszki 1c, 44-100 GLIWICE
tel. 32 231 22 19, 32 230 98 63
e-mail: helion@helion.pl
WWW: http://helion.pl (księgarnia internetowa, katalog książek)
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/javazz
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Printed in Poland.
•
Kup książkę
•
Poleć książkę
•
Oceń książkę
•
Księgarnia internetowa
•
Lubię to! » Nasza społeczność
Spis tre ci
O autorach ...............................................................................................................9
Recenzenci techniczni ............................................................................................11
Wprowadzenie ......................................................................................................13
Rozdzia 1.
Sortowanie, przeszukiwanie i scalanie ..................................................................15
1.1. Sortowanie tablic: sortowanie przez wybieranie ...................................................................... 15
1.2. Sortowanie tablic: sortowanie przez wstawianie ...................................................................... 19
1.3. Wstawianie elementu w odpowiednim miejscu ...................................................................... 26
1.4. Sortowanie tablicy łańcuchów znaków ..................................................................................... 27
1.5. Sortowanie tablic równoległych ................................................................................................. 29
1.6. Wyszukiwanie binarne ................................................................................................................ 30
1.7. Przeszukiwanie tablicy łańcuchów znaków .............................................................................. 32
1.8. Przykład: zliczanie wystąpień wyrazów ..................................................................................... 34
1.9. Scalanie posortowanych list ........................................................................................................ 37
Ćwiczenia .............................................................................................................................................. 40
Rozdzia 2.
Wprowadzenie do obiektów .................................................................................43
2.1. Obiekty ........................................................................................................................................... 44
2.2. Definiowanie klas i tworzenie obiektów ................................................................................... 44
2.3. Konstruktory ................................................................................................................................. 48
2.4. Hermetyzacja danych, metody akcesorów i mutatorów ......................................................... 51
2.5. Wyświetlanie danych obiektów .................................................................................................. 55
2.6. Klasa Part ....................................................................................................................................... 57
2.7. Jakie nazwy nadawać plikom źródłowym? ............................................................................... 59
2.8. Stosowanie obiektów .................................................................................................................... 60
2.9. Wskaźnik null ............................................................................................................................... 63
2.10. Przekazywanie obiektu jako argumentu ................................................................................. 64
2.11. Tablice obiektów ......................................................................................................................... 65
2.12. Przeszukiwanie tablicy obiektów ............................................................................................. 67
2.13. Sortowanie tablicy obiektów ..................................................................................................... 70
2.14. Zastosowanie klasy do grupowania danych: licznik występowania słów .......................... 71
2.15. Zwracanie więcej niż jednej wartości: głosowanie ................................................................. 74
Ćwiczenia .............................................................................................................................................. 80
Kup książkę
Poleć książkę
SPIS TRE CI
Rozdzia 3.
Listy powi zane .....................................................................................................83
3.1. Definiowanie list powiązanych ................................................................................................... 83
3.2. Proste operacje na listach powiązanych .................................................................................... 85
3.3. Tworzenie listy powiązanej: dodawanie elementów na końcu listy ...................................... 88
3.4. Wstawianie elementów do list powiązanych ............................................................................ 91
3.5. Tworzenie listy powiązanej: dodawanie elementu na początku listy ................................... 93
3.6. Usuwanie elementów z list powiązanych .................................................................................. 94
3.7. Tworzenie posortowanej listy powiązanej ................................................................................ 95
3.8. Klasa listy powiązanej .................................................................................................................. 99
3.9. Jak zorganizować pliki źródłowe Javy? .................................................................................... 104
3.10. Rozszerzanie klasy LinkedList ................................................................................................ 106
3.11. Przykład: palindromy .............................................................................................................. 107
3.12. Zapisywanie listy powiązanej .................................................................................................. 111
3.13. Tablice a listy powiązane ......................................................................................................... 111
3.14. Przechowywanie list powiązanych przy użyciu tablic ......................................................... 112
3.15. Scalanie dwóch posortowanych list powiązanych ............................................................... 113
3.16. Listy cykliczne i dwukierunkowe ........................................................................................... 116
Ćwiczenia ............................................................................................................................................ 120
Rozdzia 4.
Stosy i kolejki ......................................................................................................123
4.1. Abstrakcyjne typy danych ......................................................................................................... 123
4.2. Stosy .............................................................................................................................................. 124
4.3. Ogólny typ Stack ......................................................................................................................... 130
4.4. Konwertowanie wyrażenia z zapisu wrostkowego na przyrostkowy .................................. 134
4.5. Kolejki .......................................................................................................................................... 142
Ćwiczenia ............................................................................................................................................ 151
Rozdzia 5.
Rekurencja ...........................................................................................................153
5.1. Definicje rekurencyjne ............................................................................................................... 153
5.2. Pisanie funkcji rekurencyjnych w języku Java ....................................................................... 154
5.3. Konwersja liczby dziesiątkowej na dwójkową przy użyciu rekurencji ............................... 156
5.4. Wyświetlanie listy powiązanej w odwrotnej kolejności ........................................................ 159
5.5. Problem wież Hanoi ................................................................................................................... 160
5.6. Funkcja podnosząca liczbę do potęgi ...................................................................................... 162
5.7. Sortowanie przez scalanie .......................................................................................................... 163
5.8. Zliczanie organizmów ................................................................................................................ 166
5.9. Odnajdywanie drogi przez labirynt ......................................................................................... 170
Ćwiczenia ............................................................................................................................................ 174
Rozdzia 6.
Liczby losowe, gry i symulacje ............................................................................177
6.1. Liczby losowe .............................................................................................................................. 177
6.2. Liczby losowe i pseudolosowe .................................................................................................. 178
6.3. Komputerowe generowanie liczb losowych ........................................................................... 179
6.4. Zgadywanka ................................................................................................................................. 180
6.5. Ćwiczenia z dodawania .............................................................................................................. 181
6.6. Gra Nim ....................................................................................................................................... 182
6.7. Rozkłady nierównomierne ........................................................................................................ 186
6.8. Symulowanie realnych problemów .......................................................................................... 189
6.9. Symulacja kolejki ........................................................................................................................ 190
6.10. Szacowanie wartości liczbowych przy użyciu liczb losowych ............................................ 193
Ćwiczenia ............................................................................................................................................ 196
6
Kup książkę
Poleć książkę
SPIS TRE CI
Rozdzia 7.
Praca z plikami ....................................................................................................199
7.1. Operacje wejścia-wyjścia w Javie .............................................................................................. 199
7.2. Pliki tekstowe i binarne ............................................................................................................. 200
7.3. Wewnętrzne i zewnętrzne nazwy plików ................................................................................ 200
7.4. Przykład: porównywanie dwóch plików ................................................................................. 201
7.5. Konstrukcja try…catch .............................................................................................................. 202
7.6. Operacje wejścia-wyjścia na plikach binarnych ..................................................................... 205
7.7. Pliki o dostępie swobodnym ..................................................................................................... 209
7.8. Pliki indeksowane ....................................................................................................................... 213
7.9. Aktualizacja pliku o dostępie swobodnym ............................................................................. 221
Ćwiczenia ............................................................................................................................................ 224
Rozdzia 8.
Wprowadzenie do zagadnie drzew binarnych ...................................................225
8.1. Drzewa ......................................................................................................................................... 225
8.2. Drzewa binarne ........................................................................................................................... 227
8.3. Przechodzenie drzew binarnych .............................................................................................. 228
8.4. Sposoby reprezentacji drzew binarnych ................................................................................. 231
8.5. Budowanie drzewa binarnego .................................................................................................. 233
8.6. Binarne drzewa poszukiwań ..................................................................................................... 237
8.7. Budowanie binarnego drzewa poszukiwań ............................................................................ 240
8.8. Budowanie drzew binarnych ze wskaźnikami rodzica ......................................................... 244
8.9. Przechodzenie drzewa poziomami .......................................................................................... 249
8.10. Użyteczne funkcje operujące na drzewach binarnych ........................................................ 254
8.11. Usuwanie wierzchołków z binarnego drzewa poszukiwań ................................................ 255
8.12. Tablice jako sposób reprezentacji drzew binarnych ........................................................... 257
Ćwiczenia ............................................................................................................................................ 260
Rozdzia 9.
Zaawansowane metody sortowania ....................................................................263
9.1. Sortowanie przez kopcowanie .................................................................................................. 263
9.2. Budowanie kopca przy użyciu metody siftUp ........................................................................ 269
9.3. Analiza algorytmu sortowania przez kopcowanie ................................................................. 272
9.4. Kopce i kolejki priorytetowe ..................................................................................................... 273
9.5. Sortowanie listy elementów przy użyciu sortowania szybkiego .......................................... 274
9.6. Sortowanie Shella (z użyciem malejących odstępów) ........................................................... 284
Ćwiczenia ............................................................................................................................................ 288
Rozdzia 10. Haszowanie .........................................................................................................291
10.1. Podstawy haszowania .............................................................................................................. 291
10.2. Rozwiązanie problemu wyszukiwania i wstawiania przy użyciu haszowania ................. 292
10.3. Rozwiązywanie kolizji .............................................................................................................. 297
10.4. Przykład: licznik występowania słów .................................................................................... 307
Ćwiczenia ............................................................................................................................................ 310
Skorowidz ............................................................................................................313
7
Kup książkę
Poleć książkę
Plik z chomika:
PDFator
Inne pliki z tego folderu:
Java Podstawy Wydanie XI.pdf
(3127 KB)
Algorytmy struktury danych i techniki programowania dla programistow Java.pdf
(1654 KB)
Java dla bystrzakow Wydanie VII.pdf
(2759 KB)
Hibernate Search Skuteczne wyszukiwanie.pdf
(882 KB)
Google App Engine Tworzenie wydajnych aplikacji w Javie.pdf
(677 KB)
Inne foldery tego chomika:
3ds max
50 zadań i zagadek szachowych
Access
Acrobat
Administracja
Zgłoś jeśli
naruszono regulamin