Java. Zaawansowane zastosowania - ebook
Java. Zaawansowane zastosowania - ebook
Twój przewodnik w głąb języka Java!
Czy wiesz, jaki język programowania wybierany jest jako podstawa najbardziej skomplikowanych i zaawansowanych projektów IT? Tak, to Java! Sprawdza się doskonale wszędzie tam, gdzie wymagane są najwyższa wydajność, pełne bezpieczeństwo oraz realizacja skomplikowanych reguł biznesowych. Jeżeli chcesz zapoznać się z nietypowym i sprytnym wykorzystaniem tego języka, to trafiłeś na doskonałą książkę.
W trakcie lektury będziesz mieć niepowtarzalną okazję, by przygotować zaawansowane algorytmy oraz zaimplementować je z użyciem języka Java. Ponadto dogłębnie poznasz listy, stosy i kolejki oraz dowiesz się, jak efektywnie na nich operować. W kolejnych rozdziałach zaznajomisz się z technikami sortowania danych oraz generowania liczb losowych. Co jeszcze? Operacje na plikach, drzewa binarne oraz haszowanie to tylko niektóre z poruszanych tu tematów. Książka jest doskonałą lekturą dla wszystkich programistów języka Java, chcących wycisnąć z niego jeszcze więcej!
Dzięki tej książce:
- poznasz i zaimplementujesz zaawansowane algorytmy
- wygenerujesz liczby losowe
- poznasz zaawansowane metody sortowania danych
- zaznajomisz się z tematem rekurencji
- poznasz niuanse języka Java
Poznaj zaawansowane możliwości języka Java!
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)
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)
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)
Kategoria: | Programowanie |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-246-9427-3 |
Rozmiar pliku: | 4,5 MB |