Java. Zaawansowane zastosowania - Helion
Tytuł oryginału: Advanced Topics in Java: Core Concepts in Data Structures
TÅ‚umaczenie: Piotr Rajca
ISBN: 978-83-246-9426-6
stron: 320, Format: 168x237, okładka: miękka
Data wydania: 2014-10-06
Księgarnia: Helion
Cena książki: 59,00 zł
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!
Osoby które kupowały "Java. Zaawansowane zastosowania", wybierały także:
- Wprowadzenie do Javy. Programowanie i struktury danych. Wydanie XII 193,23 zł, (59,90 zł -69%)
- Spring i Spring Boot. Kurs video. Testowanie aplikacji i bezpiecze 129,00 zł, (51,60 zł -60%)
- Metoda dziel i zwyci 89,00 zł, (35,60 zł -60%)
- JavaFX. Kurs video. Wzorce oraz typy generyczne 79,00 zł, (31,60 zł -60%)
- Platforma Xamarin. Kurs video. Poziom drugi. Zaawansowane techniki tworzenia aplikacji cross-platform 99,00 zł, (39,60 zł -60%)
Spis treści
Java. Zaawansowane zastosowania -- 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)