Używamy cookies, aby ułatwić korzystanie z Portalu. Możesz określić warunki przechowywania, dostępu do plików cookies w Twojej przeglądarce. Dowiedz się więcej.
strona główna Strona główna | Nowości | Promocje | Zapowiedzi Twoje konto | Zarejestruj | Schowek | Kontakt | Pomoc
mapa działów
Szukaj: szukanie zaawansowane
Koszyk
Książki \ Programowanie \ Algorytmy

Zrozum struktury danych. Algorytmy i praca na danych w Javie Język: 1

978-83-283-4092-3

Cena Brutto: 54.90

Cena netto: 52.29

Ilość:
Wersja: Drukowana
Autor Laurent Rosenfeld, Allen B. Downey
Liczba_stron 192
Wydawnictwo Helion
Oprawa miękka
Data_Wydania 2018-04-13
Zrozum struktury danych.

Algorytmy

i praca na danych w Javie


Niezależnie od tego, jakim językiem programowania się posługujesz, nie staniesz się dobrym programistą ani nawet przeciętnym informatykiem, jeśli nie przyswoisz sobie najważniejszych idei inżynierii oprogramowania: algorytmów i struktur danych. Nie są to zagadnienia proste i z pewnością niejednego studenta informatyki kosztowały wiele zarwanych nocy. Niestety, istniejące na rynku książki dotyczące tych zagadnień nie ułatwiają nauki. Najczęściej są przeładowane matematycznymi wywodami, zbyt teoretyczne, zbyt opasłe i... zbyt oderwane od konkretnych zastosowań!


Jeśli postanowiłeś zyskać praktyczną wiedzę o algorytmach i strukturach danych, a przy tym nieźle posługujesz się Javą, to trzymasz w rękach właściwą poublikację. Podstawy teoretyczne zostały w niej ograniczone do niezbędnych, potrzebnych w praktyce zagadnień. Sporo miejsca poświęcono analizie implementacji algorytmów i mierzeniu ich wydajności. Wyczerpująco wyjaśniono tak ważne aspekty praktyki inżynierii oprogramowania, jak kontrola wersji i testy jednostkowe. Mimo niewielkiej objętości książki znalazły się tu również ambitniejsze zagadnienia, np. trwałe struktury danych tworzone przez bazy danych Redis. W każdym rozdziale zamieszczono praktyczne ćwiczenia wraz z odpowiednim kodem testującym.


W tej książce między innymi:

  • Wprowadzenie do interfejsów Javy
  • Analiza algorytmów
  • Binarne drzewo przeszukiwania
  • Wyszukiwanie logiczne
  • Sortowanie

    Wstęp (7)

    1. Interfejsy (13)

    • Dlaczego są dwa rodzaje list? (14)
    • Interfejsy w języku Java (15)
    • Interfejs List (16)
    • Ćwiczenie 1. (17)

    2. Analiza algorytmów (21)

    • Sortowanie przez wybieranie (23)
    • Notacja dużego O (25)
    • Ćwiczenie 2. (26)

    3. Klasa ArrayList (31)

    • Klasyfikacja metod klasy MyArrayList (31)
    • Klasyfikacja metody add (33)
    • Wielkość problemu obliczeniowego (36)
    • Powiązane struktury danych (37)
    • Ćwiczenie 3. (39)
    • Uwaga na temat odśmiecania pamięci (42)

    4. Klasa LinkedList (45)

    • Klasyfikacja metod klasy MyLinkedList (45)
    • Porównanie klas MyArrayList i MyLinkedList (48)
    • Profilowanie (49)
    • Interpretacja wyników (52)
    • Ćwiczenie 4. (53)

    5. Lista dwukierunkowa (55)

    • Wyniki profilowania wydajnościowego (55)
    • Profilowanie metod klasy LinkedList (57)
    • Dodawanie na końcu listy będącej obiektem klasy LinkedList (59)
    • Lista dwukierunkowa (61)
    • Wybór struktury (62)

    6. Przechodzenie przez drzewo (65)

    • Mechanizmy wyszukiwania (65)
    • Parsowanie kodu HTML (67)
    • Używanie biblioteki jsoup (69)
    • Iterowanie po drzewie DOM (71)
    • Przeszukiwanie w głąb (72)
    • Stosy w języku Java (73)
    • Iteracyjna implementacja DFS (75)

    7. Dochodzenie do filozofii (77)

    • Pierwsze kroki (77)
    • Interfejsy Iterable i Iterator (78)
    • Klasa WikiFetcher (80)
    • Ćwiczenie 5. (82)

    8. Indekser (85)

    • Wybór struktury danych (85)
    • Klasa TermCounter (87)
    • Ćwiczenie 6. (90)

    9. Interfejs Map (95)

    • Implementacja klasy MyLinearMap (95)
    • Ćwiczenie 7. (96)
    • Analiza klasy MyLinearMap (98)

    10. Mieszanie (101)

    • Mieszanie (101)
    • Jak działa mieszanie? (104)
    • Mieszanie i zmiany (106)
    • Ćwiczenie 8. (107)

    11. Klasa HashMap (109)

    • Ćwiczenie 9. (109)
    • Analiza klasy MyHashMap (111)
    • Kompromisy (113)
    • Profilowanie klasy MyHashMap (114)
    • Poprawianie klasy MyHashMap (114)
    • Diagramy klas UML (117)

    12. Klasa TreeMap (119)

    • Co jest nie tak z mieszaniem? (119)
    • Binarne drzewo poszukiwań (120)
    • Ćwiczenie 10. (122)
    • Implementacja klasy TreeMap (124)

    13. Binarne drzewo poszukiwań (129)

    • Prosta klasa MyTreeMap (129)
    • Wyszukiwanie wartości (130)
    • Implementacja metody put (132)
    • Przechodzenie poprzeczne (133)
    • Metody logarytmiczne (135)
    • Drzewa samorównoważące się (137)
    • Jeszcze jedno ćwiczenie (138)

    14. Trwałość (139)

    • Redis (140)
    • Serwery i klienty Redisa (141)
    • Tworzenie indeksu przy użyciu Redisa (142)
    • Typy danych Redisa (144)
    • Ćwiczenie 11. (146)
    • Więcej sugestii, z których możesz skorzystać (148)
    • Kilka wskazówek dotyczących projektu (149)

    15. Pełzanie po Wikipedii (151)

    • Indekser wykorzystujący Redisa (151)
    • Analiza operacji przeglądania (154)
    • Analiza operacji indeksowania (155)
    • Przechodzenie grafu (156)
    • Ćwiczenie 12. (157)

    16. Wyszukiwanie logiczne (161)

    • Implementacja pełzacza (161)
    • Pozyskiwanie informacji (163)
    • Wyszukiwanie logiczne (164)
    • Ćwiczenie 13. (165)
    • Interfejsy Comparable i Comparator (168)
    • Rozszerzenia (170)

    17. Sortowanie (173)

    • Sortowanie przez wstawianie (174)
    • Ćwiczenie 14. (176)
    • Analiza sortowania przez scalanie (178)
    • Sortowanie pozycyjne (180)
    • Sortowanie przez kopcowanie (182)
    • Kopiec ograniczony (185)
    • Złożoność pamięciowa (185)

    Skorowidz (189)

powrót
 
Produkty Podobne
Zrozum struktury danych. Algorytmy i praca na danych w Javie
Algorytmy. Ilustrowany przewodnik
Inteligentna sieć. Algorytmy przyszłości. Wydanie II
Naczelny Algorytm. Jak jego odkrycie zmieni nasz świat
Algorytmy
Algorithms in a Nutshell, 2nd Edition
Piramidy, szyszki i inne konstrukcje algorytmiczne
Od matematyki do programowania uogólnionego
Algorytmy, struktury danych i techniki programowania. Wydanie V
Data Algorithms: Recipes for Scaling Up with Hadoop and Spark
Więcej produktów