reklama - zainteresowany?

Algorytmy, struktury danych i techniki programowania dla programist贸w Java - Helion

Algorytmy, struktury danych i techniki programowania dla programist贸w Java
Autor: Piotr Wr贸blewski
ISBN: 978-83-283-5465-4
ok艂adka: mi臋kka
Data wydania: 2019-04-01
Ksi臋garnia: Helion

Cena ksi膮偶ki: 46,90 z艂 (poprzednio: 67,00 z艂)
Oszcz臋dzasz: 30% (-20,10 z艂)

Dodaj do koszyka Algorytmy, struktury danych i techniki programowania dla programist贸w Java

Dodaj do koszyka Algorytmy, struktury danych i techniki programowania dla programist贸w Java

 

Osoby kt贸re kupowa艂y "Algorytmy, struktury danych i techniki programowania dla programist贸w Java", wybiera艂y tak偶e:

  • Biologika Sukcesji Pokoleniowej. Sezon 3. Konflikty na terytorium
  • Windows Media Center. Domowe centrum rozrywki
  • Podr臋cznik startupu. Budowa wielkiej firmy krok po kroku
  • Ruby on Rails. 膯wiczenia
  • Scrum. O zwinnym zarz

Dodaj do koszyka Algorytmy, struktury danych i techniki programowania dla programist贸w Java

Spis tre艣ci

Algorytmy, struktury danych i techniki programowania dla programist贸w Java -- spis tre艣ci

  • Przedmowa
    • Dlaczego Java?
    • Co odró偶nia t臋 ksi膮偶k臋 od innych podr臋czników?
    • Jak nale偶y czyta膰 t臋 ksi膮偶k臋?
    • Co zosta艂o opisane w tej ksi膮偶ce?
      • Rozdzia艂 1. Zanim wystartujemy
      • Rozdzia艂 2. Systemy obliczeniowe i podstawy kodowania
      • Rozdzia艂 3. Rekurencja
      • Rozdzia艂 4. Analiza z艂o偶ono艣ci algorytmów
      • Rozdzia艂 5. Podstawy modelowania danych
      • Rozdzia艂 6. Modelowanie abstrakcyjnych typów danych
      • Rozdzia艂 7. Struktury danych o dost臋pie ograniczonym
      • Rozdzia艂 8. Drzewa i zbiory
      • Rozdzia艂 9. java.util, czyli struktury danych dla leniuchów
      • Rozdzia艂 10. Algorytmy przeszukiwania
      • Rozdzia艂 11. Algorytmy sortowania
      • Rozdzia艂 12. Derekursywacja i optymalizacja algorytmów
      • Rozdzia艂 13. Przeszukiwanie tekstów
      • Rozdzia艂 14. Zaawansowane techniki programowania
      • Rozdzia艂 15. Algorytmy grafowe
      • Rozdzia艂 16. Algorytmy numeryczne
      • Rozdzia艂 17. Kodowanie i kompresja danych
      • Rozdzia艂 18. Czy komputery mog膮 my艣le膰?
      • Rozdzia艂 19. Zadania ró偶ne
      • Dodatek A
    • Programy przyk艂adowe
    • Konwencje typograficzne i oznaczenia
  • Rozdzia艂 1. Zanim wystartujemy
    • Czym powinien si臋 charakteryzowa膰 algorytm?
    • Jak to wcze艣niej bywa艂o, czyli wyj膮tki z historii maszyn algorytmicznych
      • 1804
      • 1830 i pó藕niej
      • 1890
      • lata 30. XX w.
      • lata 40. XX w.
      • okres powojenny
      • 1969
      • teraz
    • Jak to si臋 niedawno odby艂o, czyli o tym, kto wymy艣li艂 metodologi臋 programowania
    • Proces koncepcji programów
    • Poziomy abstrakcji opisu i wybór j臋zyka
    • Modelowanie dzia艂ania algorytmów (maszyna Turinga)
    • Poprawno艣膰 algorytmów
    • Zadania
      • Zadanie 1.
      • Zadanie 2.
      • Zadanie 3.
    • Rozwi膮zania i wskazówki do zada艅
      • Zadanie 1.
      • Zadanie 2.
      • Zadanie 3.
  • Rozdzia艂 2. Systemy obliczeniowe i podstawy kodowania
    • System dziesi臋tny i kilka definicji
    • System dwójkowy
      • Operacje arytmetyczne na liczbach dwójkowych
      • Operacje logiczne na liczbach dwójkowych
    • Kod BCD
    • System ósemkowy
    • System szesnastkowy
    • Kodowanie liczb ze znakiem
      • Kod znak-modu艂 (ZM)
      • Kod U2 (system uzupe艂nienia dwójkowego)
        • Przyk艂ad wyliczania liczby dziesi臋tnej w U2:
        • Przyk艂ad wyliczania liczby przeciwnej w U2:
    • Zmienne w pami臋ci komputera
    • Kodowanie znaków
    • Kodowanie obrazów
      • Mapy bitowe na przyk艂adzie formatu BMP
  • Rozdzia艂 3. Rekurencja
    • Definicja rekurencji
    • Ilustracja poj臋cia rekurencji
    • Jak wykonuj膮 si臋 programy rekurencyjne?
    • Niebezpiecze艅stwa rekurencji
      • Ci膮g Fibonacciego
      • Stack overflow!
        • 膯wiczenie 3.1.
        • 膯wiczenie 3.2.
    • Pu艂apek ci膮g dalszy
      • St膮d do wieczno艣ci
      • Definicja poprawna, ale
    • Typy programów rekurencyjnych
    • My艣lenie rekurencyjne
      • Przyk艂ad 1. Spirala
      • Przyk艂ad 2. Kwadraty parzyste
    • Uwagi praktyczne na temat technik rekurencyjnych
    • Zadania
      • Zadanie 1.
      • Zadanie 2.
      • Zadanie 3.
        • Pytanie 1.
        • Pytanie 2.
      • Zadanie 4.
      • Zadanie 5.
      • Zadanie 6.
    • Rozwi膮zania i wskazówki do zada艅
      • Zadanie 1.
      • Zadanie 2.
      • Zadanie 3.
      • Zadanie 4.
      • Zadanie 5.
      • Zadanie 6.
  • Rozdzia艂 4. Analiza z艂o偶ono艣ci algorytmów
    • Definicje i przyk艂ady
      • Jeszcze raz funkcja silnia
      • Zerowanie fragmentu tablicy
      • Wpadamy w pu艂apk臋
      • Ró偶ne typy z艂o偶ono艣ci obliczeniowej
    • Nowe zadanie: upro艣ci膰 obliczenia!
    • Analiza programów rekurencyjnych
      • Terminologia i definicje
      • Ilustracja metody na przyk艂adzie
      • Rozk艂ad logarytmiczny
      • Przeszukiwanie binarne tym razem bez matematyki wy偶szej!
      • Zamiana dziedziny równania rekurencyjnego
      • Funkcja Ackermanna, czyli co艣 dla smakoszy
    • Z艂o偶ono艣膰 obliczeniowa to nie religia!
    • Techniki optymalizacji programów
    • Zadania
      • Zadanie 1.
      • Zadanie 2.
      • Zadanie 3.
      • Zadanie 4.
    • Rozwi膮zania i wskazówki do zada艅
      • Zadanie 2.
      • Zadanie 4.
  • Rozdzia艂 5. Podstawy modelowania danych
    • Typy proste i z艂o偶one
      • Operatory i zmienne
      • Obiektowe typy proste, czyli klasy os艂onowe
      • Ci膮gi znaków i napisy
      • Tablice
      • Poj臋cie referencji, czyli gdzie te wska藕niki z dawnych lat
    • Programowanie obiektowe jako narz臋dzie modelowania danych i algorytmów
      • Terminologia
      • Modelowanie danych na przyk艂adzie liczb zespolonych
      • Pola i metody statyczne klas
      • Dziedziczenie w艂asno艣ci
    • Struktury rekurencyjne w Javie
  • Rozdzia艂 6. Modelowanie abstrakcyjnych typów danych
    • Abstrakcyjne typy danych
      • Listy jednokierunkowe
        • Realizacja struktur danych listy jednokierunkowej
        • Proste do艂膮czanie elementów do listy
        • Do艂膮czanie elementów do listy z sortowaniem
        • Usuwanie danych z listy
        • Metody 艂膮czenia list
        • Sortowanie list za pomoc膮 list referencji
      • Tablicowa implementacja list
        • Klasyczna reprezentacja tablicowa
        • Metoda tablic równoleg艂ych
      • Listy innych typów
        • Lista dwukierunkowa
        • Lista cykliczna
      • Listy z iteratorem
    • Podsumowanie
  • Rozdzia艂 7. Struktury danych o dost臋pie ograniczonym
    • Stos
      • Zasada dzia艂ania stosu
      • Realizacja programowa stosu
    • Kolejki FIFO
    • Sterty i kolejki priorytetowe
    • Zadania
      • Zadanie 1.
    • Rozwi膮zania i wskazówki do zada艅
      • Zadanie 1.
  • Rozdzia艂 8. Drzewa i zbiory
    • Drzewa i ich reprezentacje
      • Binarne drzewa poszukiwa艅 (BST)
      • Drzewa binarne i wyra偶enia arytmetyczne
      • Uniwersalna struktura s艂ownikowa
      • Drzewa egzotyczne
    • Zbiory
    • Zadania
      • Zadanie 1.
      • Zadanie 2.
      • Zadanie 3.
      • Zadanie 4.
    • Rozwi膮zania zada艅
      • Zadanie 1.
  • Rozdzia艂 9. java.util, czyli struktury danych dla leniuchów
    • Java i interfejsy
    • Klasa Arrays, operacje na tablicach
    • Klasa Vector, czyli tablice dynamiczne
    • Listy
    • Iteratory, czyli wygodne indeksowanie kolekcji
    • Stos
    • Sortowanie kolekcji
    • Klasa HashSet, czyli szybko do celu
  • Rozdzia艂 10. Algorytmy przeszukiwania
    • Przeszukiwanie liniowe
    • Przeszukiwanie binarne
    • Transformacja kluczowa (hashing)
      • W poszukiwaniu funkcji H
      • Najbardziej znane funkcje H
        • Suma modulo 2
        • Suma modulo Rmax
        • Mno偶enie
      • Obs艂uga konfliktów dost臋pu
      • Powrót do 藕róde艂
      • Jeszcze raz tablice!
      • Próbkowanie liniowe
      • Podwójne kluczowanie
      • Zastosowania transformacji kluczowej
      • Klasyczne funkcje C/C++ oraz Java
    • Funkcje hashuj膮ce a klasy Javy
    • Podsumowanie metod transformacji kluczowej
  • Rozdzia艂 11. Algorytmy sortowania
    • Sortowanie przez wstawianie, algorytm klasy O(N2)
    • Sortowanie b膮belkowe, algorytm klasy O(N2)
    • Sortowanie szybkie (Quicksort) algorytm klasy O(N log N)
    • Heapsort sortowanie przez kopcowanie
    • Scalanie zbiorów posortowanych
    • Sortowanie przez scalanie, algorytm klasy O(N log N)
    • Sortowanie zewn臋trzne
    • Uwagi praktyczne
  • Rozdzia艂 12. Derekursywacja i optymalizacja algorytmów
    • Jak pracuje kompilator?
    • Odrobina formalizmu nie zaszkodzi!
      • Przyk艂ad
    • Kilka przyk艂adów derekursywacji algorytmów
    • Derekursywacja z wykorzystaniem stosu
      • Eliminacja zmiennych lokalnych
    • Metoda funkcji przeciwnych
    • Klasyczne schematy derekursywacji
      • Schemat typu while
      • Schemat typu if-else
      • Schemat z podwójnym wywo艂aniem rekurencyjnym
    • Podsumowanie
  • Rozdzia艂 13. Przeszukiwanie tekstów
    • Algorytm typu brute force
    • Nowe algorytmy poszukiwa艅
      • Algorytm KMP
      • Algorytm Boyera-Moorea
      • Algorytm Rabina-Karpa
  • Rozdzia艂 14. Zaawansowane techniki programowania
    • Programowanie typu dziel i zwyci臋偶aj
      • Odszukiwanie minimum i maksimum w tablicy liczb
        • 膯wiczenie 1.
      • Mno偶enie macierzy o rozmiarze N×N
      • Mno偶enie liczb ca艂kowitych
      • Inne znane algorytmy dziel i zwyci臋偶aj
    • Algorytmy 偶ar艂oczne, czyli przek膮si膰 co艣 nadszed艂 ju偶 czas
      • Problem plecakowy, czyli nie艂atwe jest 偶ycie turysty piechura
      • Wydawanie reszty, czyli A nie ma pan drobnych? w praktyce
    • Programowanie dynamiczne
      • Ci膮g Fibonacciego
      • Równania z wieloma zmiennymi
      • Najd艂u偶sza wspólna podsekwencja
      • Najd艂u偶szy wspólny pod艂a艅cuch
    • Heurystyczne techniki programowania
    • Uwagi bibliograficzne
  • Rozdzia艂 15. Algorytmy grafowe
    • Definicje i poj臋cia podstawowe
      • Etykiety i warto艣ci
    • Cykle w grafach
    • Sposoby reprezentacji grafów
      • Reprezentacja tablicowa
      • S艂owniki w臋z艂ów
      • Listy kontra zbiory
    • Podstawowe operacje na grafach
      • Suma grafów
      • Kompozycja grafów
      • Graf do pot臋gi
    • Algorytm Roya-Warshalla
    • Algorytm Floyda-Warshalla
    • Algorytm Dijkstry
    • Algorytm Bellmana-Forda
    • Drzewo rozpinaj膮ce minimalne
      • Algorytm Kruskala
      • Algorytm Prima
    • Przeszukiwanie grafów
      • Strategia w g艂膮b (przeszukiwanie zst臋puj膮ce)
      • Strategia wszerz
      • Inne strategie przeszukiwania
    • Problem w艂a艣ciwego doboru
    • Podsumowanie
    • Zadania
      • Zadanie 1.
      • Zadanie 2.
      • Zadanie 3.
      • Zadanie 4.
  • Rozdzia艂 16. Algorytmy numeryczne
    • Poszukiwanie miejsc zerowych funkcji
    • Iteracyjne obliczanie warto艣ci funkcji
    • Interpolacja funkcji metod膮 Lagrangea
    • Ró偶niczkowanie funkcji
    • Ca艂kowanie funkcji metod膮 Simpsona
    • Biblioteki naukowe dla Javy
    • Uwagi ko艅cowe
  • Rozdzia艂 17. Kodowanie i kompresja danych
    • Kodowanie danych i arytmetyka du偶ych liczb
      • Metody prymitywne
      • Kodowanie symetryczne
      • Kodowanie asymetryczne
      • Obliczenia na bardzo du偶ych liczbach ca艂kowitych
      • Klasa BigInteger
    • 艁amanie kodów
      • Jako艣膰 klucza szyfruj膮cego
      • Metody 艂amania szyfrów
    • Techniki kompresji danych
      • Kompresja za pomoc膮 modelowania matematycznego
      • Kompresja metod膮 RLE
      • Kompresja danych metod膮 Huffmana
        • FAZA REDUKCJI (kierunek: w dó艂)
        • FAZA KONSTRUKCJI KODU (kierunek: w gór臋)
      • Kodowanie LZW
        • Przyk艂ad kodowania LZW
        • Przyk艂ad dekodowania LZW
        • Praktyczne u偶ycie LZW w formacie GIF
  • Rozdzia艂 18. Czy komputery mog膮 my艣le膰?
    • Przegl膮d obszarów zainteresowa艅 sztucznej inteligencji (SI)
      • Systemy eksperckie
      • Sieci neuronowe
    • Reprezentacja problemów
      • Przyk艂ad 1.
      • Przyk艂ad 2.
      • 膯wiczenie 1.
    • Gry dwuosobowe i drzewa gier
      • Algorytm min-max
  • Rozdzia艂 19. Zadania ró偶ne
    • Teksty zada艅
      • Zadanie 1.
      • Zadanie 2.
      • Zadanie 3.
      • Zadanie 4.
      • Zadanie 5.
      • Zadanie 6.
      • Zadanie 7.
      • Zadanie 8.
      • Zadanie 9.
      • Zadanie 10.
      • Zadanie 11.
      • Zadanie 12.
    • Rozwi膮zania
      • Zadanie 1.
      • Zadanie 3.
      • Zadanie 4.
      • Zadanie 10.
      • Zadanie 11.
  • Dodatek A Java szybki start
    • Instalacja 艣rodowiska Java
    • 艢rodowiska IDE do Javy
    • Konfiguracja 艣rodowiska Java
      • Systemy pochodne UNIX (np. Linux)
      • System Windows
    • Kompilujemy program w Javie
    • Pakiety w Javie
    • Poznaj Jav臋 w 5 minut!
      • Elementy j臋zyka Java na przyk艂adach
      • Sterowanie przebiegiem programu
        • Instrukcja if else
        • Instrukcja wyboru (switch)
        • Iteracje
          • P臋tla for
          • P臋tle while
      • Konwersje typów i wprowadzanie danych
      • Operacje na plikach w Javie
      • Funkcje matematyczne w Javie
  • Literatura
  • Spis rysunków
  • Spis tabel

Dodaj do koszyka Algorytmy, struktury danych i techniki programowania dla programist贸w Java

Code, Publish & WebDesing by CATALIST.com.pl



(c) 2005-2025 CATALIST agencja interaktywna, znaki firmowe nale偶膮 do wydawnictwa Helion S.A.