Struktury danych i techniki obiektowe na przykładzie Javy 5.0
- Autorzy:
- Elliot Koffman, Paul Wolfgang
- Niedostępna
Opis
książki
:
Struktury danych i techniki obiektowe na przykładzie Javy 5.0
Przy tworzeniu systemów informatycznych najważniejsze zadania wykonuje się, zanim powstanie pierwszy fragment kodu źródłowego. Wymogi stawiane współczesnym aplikacjom powodują, że inżynieria oprogramowania staje się kwestią kluczową. Opracowanie odpowiedniego projektu oraz właściwy dobór technologii i metodologii zapewniają szybką i efektywną pracę nad systemem. Niezwykle ważne jest poznanie dostępnych w języku Java struktur danych i umiejętność ich wykorzystania. Prawidłowo dobrana struktura danych znacznie przyspiesza nie tylko implementację aplikacji, ale również działanie gotowego systemu.
Książka "Struktury danych i techniki obiektowe na przykładzie Javy 5.0" przedstawia podstawowe struktury danych i sposoby ich wykorzystania podczas programowania obiektowego. Wszystkie wiadomości zostały zaprezentowane z uwzględnieniem reguł nowoczesnej inżynierii oprogramowania. Czytając kolejne rozdziały książki, poznasz najlepsze zastosowania różnych struktur danych oraz wady i zalety ich implementacji. Przede wszystkim jednak zrozumiesz potrzebę stosowania tak wielu struktur danych.
- Cykl życia oprogramowania
- Zastosowanie języka UML w projektowaniu systemów
- Obsługa błędów i wyjątków
- Testowanie oprogramowania
- Dziedziczenie i hierarchia klas
- Listy jedno- i dwukierunkowe
- Interfejs Collection
- Stosy i kolejki
- Algorytmy rekurencyjne
- Sortowanie danych
- Drzewa wyszukiwania
- Grafy
Po przeczytaniu tej książki zrozumiesz zasadę:
"Pomyśl, a dopiero potem pisz kod".
Wybrane bestsellery
-
Promocja
Java. Podręcznik na start to pozycja idealna dla każdego, kto chce podjąć takie kroki. W przystępny sposób zaznajamia nie tylko z językiem, ale też z podstawowymi koncepcjami stosowanymi podczas programowania - w obrazowy sposób przyrównuje je do sytuacji znanych spoza świata wirtualnego. Autor nie poprzestaje na podstawach i objaśnia także bardziej zaawansowane zagadnienia, dokonuje również przeglądu zmian, jakie w ciągu ostatnich lat zaszły w kolejnych wersjach Javy. Ostatnie rozdziały poświęca bardziej złożonym aspektom korzystania z tego języka programowania, w tym funkcjonowaniu mechanizmów odśmiecania pamięci, maszynie wirtualnej Javy i jej kompilatorom.- Druk
- PDF + ePub + Mobi pkt
(44,85 zł najniższa cena z 30 dni)
44.85 zł
69.00 zł (-35%) -
Promocja
Oto kolejne wydanie zwięzłego podręcznika dla programistów Javy, który ma ułatwić maksymalne wykorzystanie technologii tego języka w wersji 17. Treść została skrupulatnie przejrzana i uzupełniona o materiał dotyczący nowości w obiektowym modelu Javy. Pierwsza część książki obejmuje wprowadzenie do języka i do pracy na platformie Javy. Druga zawiera opis podstawowych pojęć i interfejsów API, których znajomość jest niezbędna każdemu programiście Javy. Mimo niewielkiej objętości w podręczniku znalazły się liczne przykłady wykorzystania potencjału tego języka programowania, a także zastosowania najlepszych praktyk programistycznych w rzeczywistej pracy.- Druk
(57,84 zł najniższa cena z 30 dni)
57.84 zł
89.00 zł (-35%) -
Promocja
Oto zaktualizowane i uzupełnione wydanie zwięzłego wprowadzenia do Javy SE 17, przeznaczonego dla profesjonalnych programistów Javy. Przedstawiono w nim wszystkie istotne zagadnienia, łącznie z takimi koncepcjami jak wyrażenia lambda i strumienie, nowoczesnymi konstrukcjami, jak rekordy i klasy zapieczętowane, a także zaawansowanymi technikami programowania współbieżnego. Książka została pomyślana w taki sposób, aby wszystkie ważne zmiany wprowadzone w najnowszej wersji Javy zostały zaprezentowane w esencjonalnej formie. Informacje uporządkowano tak, aby ułatwić szybki dostęp i łatwe zrozumienie potrzebnego zagadnienia. W przewodniku znalazło się też mnóstwo praktycznych informacji wraz z przykładami kodu, pozwalającymi natychmiast przetestować wszystkie nowości.- Druk
- PDF + ePub + Mobi pkt
(57,84 zł najniższa cena z 30 dni)
57.84 zł
89.00 zł (-35%) -
Promocja
Dzięki tej książce dowiesz się, w jaki sposób uczynić architekturę oprogramowania wystarczająco plastyczną, aby mogła odzwierciedlać zachodzące zmiany biznesowe i technologiczne. W nowym wydaniu rozbudowano pojęcia zmiany kierowanej i przyrostowej, a także przedstawiono najnowsze techniki dotyczące funkcji dopasowania, automatycznego zarządzania architekturą i danych ewolucyjnych. Zaprezentowano praktyki inżynieryjne umożliwiające ewoluowanie systemów oprogramowania, jak również podejścia strukturalne, w tym zasady projektowe, które ułatwiają zarządzanie tą ewolucją. Opisano ponadto, w jaki sposób zasady i praktyki architektury ewolucyjnej wiążą się z różnymi elementami procesu tworzenia oprogramowania.- Druk
- PDF + ePub + Mobi pkt
(43,55 zł najniższa cena z 30 dni)
43.55 zł
67.00 zł (-35%) -
Promocja
Język modelowania UML i będące jego częścią diagramy UML odgrywają ważną rolę w inżynierii oprogramowania. Stanowią komunikacyjny pomost podczas pracy zespołowej i w kontaktach zarówno z menedżerami, jak i klientami biznesowymi, niekoniecznie zorientowanymi w procesach projektowych i deweloperskich. Język UML umożliwia precyzyjne określenie wymagań, analizowanie systemów i tworzenie przejrzystej dokumentacji. Graficzną reprezentacją systemu są diagramy UML, a każda ich grupa jest przeznaczona do modelowania różnych struktur oprogramowania. Można się z nimi spotkać w każdej fazie projektowania systemu: od analizy potrzeb klienta po implementację czy testowanie. Dzięki diagramom UML szybko można przełożyć pomysły na wizualizację interakcji między obiektami, zależności między klasami czy prezentację przepływu sterowania. Nawet najbardziej skomplikowane procesy przedstawione graficznie są prostsze do wyjaśnienia, a warstwa abstrakcji staje się obrazem zrozumiałym dla wszystkich zaangażowanych w powstawanie systemu. Warto wspomnieć, że UML to nie tylko język IT. Jest uniwersalny i równie szeroko stosowany w przemyśle do projektowania oprogramowania, systemów logistycznych, sieci telekomunikacyjnych i wielu innych inżynieryjnych rozwiązań. Dowiedz się, jak biegle modelować i odzwierciedlać funkcjonalności systemu – postaw na praktyczne zastosowanie diagramów UML!- Videokurs pkt
(38,70 zł najniższa cena z 30 dni)
70.95 zł
129.00 zł (-45%) -
Bestseller Promocja
Głębokie sieci neuronowe mają niesamowity potencjał. Osiągnięcia ostatnich lat nadały procesom uczenia głębokiego zupełnie nową jakość. Obecnie nawet programiści niezaznajomieni z tą technologią mogą korzystać z prostych i niezwykle skutecznych narzędzi, pozwalających na sprawne implementowanie programów uczących się z danych.- Druk
(107,40 zł najniższa cena z 30 dni)
116.35 zł
179.00 zł (-35%) -
Promocja
Oto dwunaste wydanie wyczerpującego kompendium, w pełni zaktualizowane, uzupełnione o nowości wprowadzone w Java SE 17. Opisano w nim cały język Java: jego składnię, słowa kluczowe i najistotniejsze zasady programowania. Znalazły się tu także informacje dotyczące biblioteki Java API, takie jak operacje wejście-wyjścia, biblioteka strumieni i techniki programowania współbieżnego. Nie zabrakło opisu biblioteki Swing, JavaBeans i serwletów, jak również licznych przykładów praktycznego zastosowania Javy. Wyczerpująco omówiono najnowsze możliwości języka, takie jak rekordy, klasy zapieczętowane czy też wyrażenia switch. Podręcznik został napisany w sposób przejrzysty, jasnym i zrozumiałym językiem, co znakomicie ułatwia naukę, a poszczególne zagadnienia zilustrowano licznymi przykładowymi fragmentami kodu źródłowego. To sprawia, że z kompendium skorzystają wszyscy programiści Javy, zarówno początkujący, jak i profesjonalni deweloperzy.- Druk
- PDF + ePub + Mobi pkt
(129,35 zł najniższa cena z 30 dni)
129.35 zł
199.00 zł (-35%) -
Promocja
Tę książkę docenią programiści, menedżerowie, inżynierowie i liderzy techniczni. Znajdziesz w niej cenne informacje o filozofii inżynierii oprogramowania, jak również o postępach w sposobie myślenia na jej temat. Na tej bazie oparto zestaw zasad ułatwiających skuteczne radzenie sobie z dwoma podstawowymi procesami inżynierii oprogramowania: uczenia się i eksploracji oraz radzenia sobie ze złożonością. W ten sposób dowiesz się, jak usprawnić wszystkie aspekty swojej pracy, a także jak stosować sprawdzone podejścia prowadzące do sukcesu z uwzględnieniem uwarunkowań ekonomicznych. Dzięki tej przełomowej publikacji nauczysz się technik rozwiązywania problemów z wykorzystaniem zarówno obecnych, jak i przyszłych technologii. W efekcie będziesz szybciej tworzyć lepsze oprogramowanie, i to w bardziej przyjemny i satysfakcjonujący sposób.- Druk
- PDF + ePub + Mobi pkt
(41,40 zł najniższa cena z 30 dni)
44.85 zł
69.00 zł (-35%) -
Promocja
Ta książka, podobnie jak inne pozycje z serii Rusz głową!, została przygotowana zgodnie z jedyną w swoim rodzaju metodyką nauczania, wykorzystującą zasady funkcjonowania ludzkiego mózgu. Dzięki zagadkom, tajemnicom do rozwiązania, zabawnym ćwiczeniom i przystępnie podanej wiedzy bez trudu przyswoisz nawet dość złożone koncepcje, takie jak wyrażenia lambda, typy ogólne czy programowanie sieciowe i funkcyjne. Znajdziesz tu zabawne i niekonwencjonalne ilustracje, świetne analogie, pogawędki prowadzone przy kominku przez programistę i kompilator. To wszystko sprawia, że ta pozycja jest absolutnie wyjątkowym i niezwykle skutecznym podręcznikiem!- Druk
(96,85 zł najniższa cena z 30 dni)
96.85 zł
149.00 zł (-35%) -
Promocja
To nie jest podręcznik dla programistów. Celem autorów jest zaprezentowanie jedynej w swoim rodzaju perspektywy firmy Google, od lat rozwijającej trwały ekosystem oprogramowania, co pozwoliło zebrać pożyteczne wnioski dotyczące skali działalności i czasu jej trwania. W książce zwrócono uwagę na to, że proces tworzenia oprogramowania jest wysiłkiem zespołowym, omówiono najlepsze praktyki związane z utrzymywaniem bazy kodu o dużych rozmiarach i długim stażu, pokazano także narzędzia, które mogą się okazać przydatne w jej utrzymywaniu. Omówione tu zagadnienia uwzględniają doświadczenia, jakie typowy inżynier oprogramowania zdobywa w ramach swojej pracy, służą też wskazaniu różnorodnych sposobów rozwiązywania poszczególnych problemów.- Druk
- PDF + ePub + Mobi pkt
(77,40 zł najniższa cena z 30 dni)
83.85 zł
129.00 zł (-35%)
Ebooka "Struktury danych i techniki obiektowe na przykładzie Javy 5.0" przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook, Onyx Booxs i innych
-
systemach Windows, MacOS i innych
-
systemach Windows, Android, iOS, HarmonyOS
-
na dowolnych urządzeniach i aplikacjach obsługujących formaty: PDF, EPub, Mobi
Masz pytania? Zajrzyj do zakładki Pomoc »
Audiobooka "Struktury danych i techniki obiektowe na przykładzie Javy 5.0" posłuchasz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolonych urządzeniach i aplikacjach obsługujących format MP3 (pliki spakowane w ZIP)
Masz pytania? Zajrzyj do zakładki Pomoc »
Kurs Video "Struktury danych i techniki obiektowe na przykładzie Javy 5.0" zobaczysz:
-
w aplikacjach Ebookpoint i Videopoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych z dostępem do najnowszej wersji Twojej przeglądarki internetowej
Recenzje książki: Struktury danych i techniki obiektowe na przykładzie Javy 5.0 (1) Poniższe recenzje mogły powstać po przekazaniu recenzentowi darmowego egzemplarza poszczególnych utworów bądź innej zachęty do jej napisania np. zapłaty.
-
Recenzja: Magazyn Internet KK; 12/2006Recenzja dotyczy produktu: ksiązka drukowanaCzy recenzja była pomocna:
Rosnące oczekiwania wobec realizowanych współcześnie aplikacji sprawiają, że kluczową kwestią staje się inżynieria oprogramowania. Podczas tworzenia złożonych systemów informatycznych najważniejsze zadania realizowane są przed napisaniem pierwszych linii kodu źródłowego. Sprawny proces implementacji jest w dużym stopniu uzależniony od poprawnego wyboru stosowanych struktur danych. Znajdują one także przełożenie na efektywność funkcjonowania gotowych aplikacji. Programiści, którzy korzystają z języka Java mogą zdobyć wartościowe informacje o strukturach danych i sposobach ich zastosowania w programowaniu obiektowym sięgając po prezentowaną książkę.
Wydana w twardej oprawie pozycja liczy ponad dziewięćset stron. Rozpoczyna się od wprowadzenia do projektowania oprogramowania uwzględniającego m.in. kwestie związane z cyklem życia aplikacji. Autorzy dzielą się następnie spostrzeżeniami na temat poprawności funkcjonowania i wydajności programów, po czym przechodzą do omówienia dziedziczenia i hierarchii klas. Przybliżają czytelnikom możliwości i zasady implementacji takich struktur, jak listy, stosy, kolejki i drzewa. Omawiają także rekurencję i zbiory. Dostarczają informacji o popularnych technikach sortowania oraz o samorównoważących się drzewach. W ostatnim rozdziale przedstawiają natomiast grafy. Warto również zwrócić uwagę na zawartość obszernych dodatków. Znalazły w nich swe miejsce m.in. wprowadzenia do języka Java oraz języka modelowania UML oraz rozważania na temat programowania opartego na zdarzeniach. Całość uzupełnia słowniczek oraz nieodzowny w przypadku pozycji o tak dużej objętości skorowidz.
Prezentowana publikacja to godny uwagi przewodnik po strukturach danych i technikach programowania obiektowego, dostępnych dla programistów korzystających z Javy. Dostarcza im informacji o zaletach i wadach poszczególnych struktur, o obszarach, w których można je efektywnie stosować, a ponadto uświadamia potrzebę sięgania po tak zróżnicowane konstrukcje w kontekście nowoczesnej inżynierii oprogramowania.
Szczegóły książki
- Tytuł oryginału:
- Objects, Abstraction, Data Structures and Design: Using Java version 5.0
- Tłumaczenie:
- Rafał Jońca, Tomasz Żmijewski
- ISBN Książki drukowanej:
- 83-246-0089-2, 8324600892
- Data wydania książki drukowanej :
- 2006-04-25
- Format:
- B5
- Numer z katalogu:
- 3184
- Przykłady na ftp
- Erraty / Zgłoś erratę
- Kategorie:
Programowanie » Java - Programowanie
Programowanie » Techniki programowania
Spis treści książki
- 1.1. Cykl życia oprogramowania (30)
- Modele cyklu życia oprogramowania (31)
- Działania związane z cyklem życia oprogramowania (33)
- Specyfikacja wymagań (34)
- Analiza (35)
- Projektowanie (36)
- Ćwiczenia do podrozdziału 1.1 (38)
- 1.2. Abstrakcja pomaga zarządzać złożonością (39)
- Abstrakcja proceduralna (39)
- Abstrakcja danych (40)
- Ukrywanie informacji (40)
- Ćwiczenia do podrozdziału 1.2 (41)
- 1.3. Abstrakcyjne typy danych, interfejsy, warunki wstępne i końcowe (42)
- Interfejsy (43)
- Klauzula implements (45)
- Deklaracja zmiennej będącej typem interfejsu (45)
- Interfejs dla klasy książki telefonicznej (46)
- Komentarze Javadoc (46)
- Kontrakty i interfejsy (47)
- Warunki początkowe i końcowe (47)
- Ćwiczenia do podrozdziału 1.3 (48)
- 1.4. Analiza wymagań, przypadki użycia i diagramy sekwencji (49)
- ANALIZA PRZYPADKU - projektowanie programu książki telefonicznej (50)
- Ćwiczenia do podrozdziału 1.4 (55)
- 1.5. Projektowanie książki telefonicznej bazującej na tablicy (56)
- ANALIZA PRZYPADKU - projektowanie programu książki telefonicznej (kontynuacja) (56)
- Ćwiczenia do podrozdziału 1.5 (62)
- 1.6. Implementacja i testowanie książki telefonicznej bazującej na tablicy (62)
- ANALIZA PRZYPADKU - projektowanie programu książki telefonicznej (kontynuacja) (62)
- Ćwiczenia do podrozdziału 1.6 (69)
- 1.7. Dwie klasy implementujące interfejs PDUserInterface (69)
- ANALIZA PRZYPADKU - projektowanie programu książki telefonicznej (kontynuacja) (69)
- Ćwiczenia do podrozdziału 1.7 (80)
- Podsumowanie rozdziału (80)
- 2.1. Defekty i błędy w programach (88)
- Błędy składniowe (89)
- Błędy czasu wykonania i wyjątki (90)
- Błędy logiczne (94)
- Ćwiczenia do podrozdziału 2.1 (95)
- 2.2. Hierarchia klas wyjątków (95)
- Klasa Throwable (96)
- Wyjątki weryfikowane i nieweryfikowane (96)
- Ćwiczenia do podrozdziału 2.2 (97)
- 2.3. Wyłapywanie i obsługa wyjątków (99)
- Wyjątki niewyłapane (99)
- Sekwencja try-catch-finally (99)
- Ćwiczenia do podrozdziału 2.3 (106)
- 2.4. Zgłaszanie wyjątków (106)
- Klauzula throws (106)
- Instrukcja throw (108)
- Wyłapywanie wyjątków w programie książki telefonicznej (111)
- Ćwiczenia do podrozdziału 2.4 (113)
- 2.5. Testowanie programów (114)
- Strukturalne ścieżki przejścia (115)
- Poziomy i rodzaje testów (115)
- Przygotowanie do testów (117)
- Wskazówki dotyczące testowania programów (118)
- Przygotowanie danych testowych (119)
- Testowanie warunków granicznych (119)
- Kto wykonuje testy? (122)
- Namiastki (123)
- Programy testujące (124)
- Testowanie klasy (124)
- Wykorzystanie systemu testującego (125)
- Testy regresyjne (127)
- Testy integracyjne (128)
- Ćwiczenia do podrozdziału 2.5 (128)
- 2.6. Usuwanie błędów z programów (129)
- Wykorzystanie programu uruchomieniowego (130)
- Ćwiczenia do podrozdziału 2.6 (134)
- 2.7. Rozważania na temat programów: asercje i niezmienniki pętli (134)
- Asercje (135)
- Niezmienniki pętli (135)
- Rozszerzenie tematu - instrukcja assert języka Java (137)
- Ćwiczenia do podrozdziału 2.7 (138)
- 2.8. Wydajność algorytmów (138)
- Notacja dużego O (141)
- Porównanie wydajności (145)
- Algorytmy o złożoności wykładniczej (146)
- Ćwiczenia do podrozdziału 2.8 (147)
- Podsumowanie rozdziału (148)
- 3.1. Wprowadzenie do dziedziczenia i hierarchii klas (158)
- Związki "jest" i "zawiera" (160)
- Klasa bazowa i podklasa (161)
- Wykorzystanie słowa kluczowego this (162)
- Inicjalizacja pól danych podklasy (163)
- Konstruktor bezparametrowy (164)
- Pola chronione klasy bazowej (164)
- Ćwiczenia do podrozdziału 3.1 (165)
- 3.2. Przeciążanie metod, przesłanianie metod i polimorfizm (166)
- Przesłanianie metod (166)
- Przeciążanie metod (168)
- Polimorfizm (169)
- Ćwiczenia do podrozdziału 3.2 (171)
- 3.3. Klasy abstrakcyjne, przypisanie i rzutowanie w hierarchii klas (172)
- Referencje do obiektów rzeczywistych (174)
- Klasy abstrakcyjne i interfejsy (174)
- Klasa abstrakcyjna Number i klasy opakowujące typy podstawowe (174)
- Podsumowanie cech klas konkretnych, klas abstrakcyjnych i interfejsów (175)
- Ćwiczenia do podrozdziału 3.3 (175)
- 3.4. Klasa Object, rzutowanie i klonowanie (177)
- Metoda toString() (177)
- Dopuszczalne operacje określa typ zmiennej referencyjnej (177)
- Rzutowanie w hierarchii klas (178)
- Metoda Object.equals() (182)
- Klonowanie (183)
- Klonowanie struktury danych (187)
- Ćwiczenia do podrozdziału 3.4 (188)
- 3.5. Dziedziczenie wielobazowe, stosowanie wielu interfejsów i delegacja (189)
- Wykorzystanie wielu interfejsów do emulacji dziedziczenia wielobazowego (189)
- Implementacja wielokrotnego użycia dzięki delegacji (191)
- Ćwiczenia do podrozdziału 3.5 (192)
- 3.6. Pakiety i widoczność (193)
- Pakiety (193)
- Środowisko bez deklaracji nazwy pakietu (193)
- Widoczność w ramach pakietu (194)
- Widoczność pozwala wspomóc hermetyzację (194)
- Ćwiczenia do podrozdziału 3.6 (195)
- 3.7. Hierarchia klas kształtu (196)
- ANALIZA PRZYPADKU - rysowanie figur geometrycznych (196)
- Ćwiczenia do podrozdziału 3.7 (212)
- 3.8. Fabryki obiektów (212)
- ANALIZA PRZYPADKU - obliczanie pól i obwodów figur geometrycznych (213)
- Ćwiczenia do podrozdziału 3.8 (215)
- Podsumowanie rozdziału (215)
- 4.1. Interfejs List i klasa ArrayList (224)
- Klasa ArrayList (225)
- Kolekcje sparametryzowane (227)
- Specyfikacja klasy ArrayList (229)
- Ćwiczenia do podrozdziału 4.1 (230)
- 4.2. Zastosowania ArrayList (230)
- Powrót do programu książki telefonicznej (231)
- Ćwiczenia do podrozdziału 4.2 (232)
- 4.3. Implementacja klasy ArrayList (233)
- Konstruktor klasy KWArrayList<E> (234)
- Metoda add(E anEntry) (234)
- Metoda add(int index, E anEntry) (235)
- Metody set() i get() (236)
- Metoda remove() (237)
- Metoda reallocate() (237)
- Implementacja KWArrayList jako klasy bez parametryzacji (238)
- Wydajność KWArrayList (238)
- Klasa Vector (238)
- Ćwiczenia do podrozdziału 4.3 (239)
- 4.4. Listy jednokierunkowe i dwukierunkowe (239)
- Węzeł listy (241)
- Łączenie węzłów (243)
- Klasa listy jednokierunkowej (243)
- Wstawienie węzła (244)
- Usunięcie węzła (244)
- Przejście przez listę (245)
- Listy dwukierunkowe (246)
- Klasa listy dwukierunkowej (248)
- Listy cykliczne (249)
- Ćwiczenia do podrozdziału 4.4 (250)
- 4.5. Klasa LinkedList oraz interfejsy Iterator, ListIterator i Iterable (252)
- Klasa LinkedList (252)
- Iterator (252)
- Interfejs Iterator (253)
- Interfejs ListIterator (255)
- Porównanie Iterator i ListIterator (258)
- Interfejs ListIterator i indeks (258)
- Rozszerzona pętla for (258)
- Interfejs Iterable (259)
- Ćwiczenia do podrozdziału 4.5 (259)
- 4.6. Implementacja klasy listy dwukierunkowej (260)
- Implementacja metod klasy KWLinkedList (261)
- Klasa implementująca interfejs ListIterator (262)
- Klasy wewnętrzne - statyczne i niestatyczne (268)
- Ćwiczenia do podrozdziału 4.6 (269)
- 4.7. Zastosowania klasy LinkedList (269)
- ANALIZA PRZYPADKU - przechowywanie uporządkowanej listy (270)
- Ćwiczenia do podrozdziału 4.7 (276)
- 4.8. Hierarchia szkieletu Java Collections (277)
- Cechy wspólne kolekcji (278)
- Klasy AbstractCollection, AbstractList i AbstractSequentialList (278)
- Ćwiczenia do podrozdziału 4.8 (279)
- Podsumowanie rozdziału (280)
- 5.1. Stos - abstrakcyjny typ danych (288)
- Specyfikacja stosu jako abstrakcyjnego typu danych (289)
- Ćwiczenia do podrozdziału 5.1 (290)
- 5.2. Zastosowania stosów (291)
- ANALIZA PRZYPADKU - znajdowanie palindromów (291)
- ANALIZA PRZYPADKU - sprawdzanie wyrażeń pod kątem zrównoważenia nawiasów (294)
- Ćwiczenia do podrozdziału 5.2 (299)
- 5.3. Implementacja stosu (299)
- Implementacja stosu jako rozszerzenia klasy Vector (300)
- Implementacja stosu za pomocą komponentu List (301)
- Implementacja stosu wykorzystująca tablicę (303)
- Implementacja stosu jako listy jednokierunkowej (305)
- Porównanie implementacji stosów (307)
- Ćwiczenia do podrozdziału 5.3 (307)
- 5.4. Kolejne zastosowania stosów (308)
- ANALIZA PRZYPADKU - obliczanie wyrażeń w odwrotnej notacji polskiej (309)
- ANALIZA PRZYPADKU - konwersja z zapisu infiksowego na odwrotną notację polską (314)
- ANALIZA PRZYPADKU - część 2., konwersja wyrażeń z nawiasami (322)
- Wypróbowanie obu analiz przypadków w jednym programie (324)
- Ćwiczenia do podrozdziału 5.4 (325)
- Podsumowanie rozdziału (325)
- 6.1. Kolejka - abstrakcyjny typ danych (334)
- Kolejka wydruku (334)
- Nieprzydatność "stosu wydruku" (334)
- Kolejka klientów (335)
- Wykorzystanie kolejki do przejścia przez wielogałęziową strukturę danych (335)
- Specyfikacja interfejsu Queue (336)
- Klasa LinkedList implementuje interfejs Queue (337)
- Ćwiczenia do podrozdziału 6.1 (338)
- 6.2. Zarządzanie kolejką klientów (338)
- ANALIZA PRZYPADKU - zarządzanie kolejką (339)
- Ćwiczenia do podrozdziału 6.2 (343)
- 6.3. Implementacja interfejsu Queue (344)
- Wykorzystanie listy dwukierunkowej do implementacji interfejsu Queue (344)
- Wykorzystanie listy jednokierunkowej do implementacji interfejsu Queue (345)
- Wykorzystanie tablicy cyklicznej do implementacji interfejsu Queue (348)
- Porównanie trzech implementacji (355)
- Ćwiczenia do podrozdziału 6.3 (355)
- 6.4. Symulacja średnich czasów obsługi za pomocą kolejki (356)
- ANALIZA PRZYPADKU - symulacja obsługi pasażerów linii lotniczych (357)
- Ćwiczenia do podrozdziału 6.4 (370)
- Podsumowanie rozdziału (371)
- 7.1. Myśl w sposób rekurencyjny (380)
- Kroki związane z zaprojektowaniem algorytmu rekurencyjnego (382)
- Udowodnienie, iż metoda rekurencyjna jest poprawna (385)
- Śledzenie wykonania metody rekurencyjnej (385)
- Stos wywołań i ramki aktywacji (386)
- Ćwiczenia do podrozdziału 7.1 (388)
- 7.2. Definicje rekurencyjne wybranych wzorów matematycznych (388)
- Rekurencja a iteracja (392)
- Rekurencja prawostronna (392)
- Wydajność rekurencji (393)
- Ćwiczenia do podrozdziału 7.2 (396)
- 7.3. Rekurencyjne przeszukiwanie tablicy (396)
- Zaprojektowanie rekurencyjnego liniowego algorytmu wyszukiwania (397)
- Implementacja wyszukiwania liniowego (397)
- Zaprojektowanie algorytmu wyszukiwania binarnego (398)
- Wydajność wyszukiwania binarnego (400)
- Interfejs Comparable (401)
- Implementacja wyszukiwania binarnego (401)
- Testowanie wyszukiwania binarnego (402)
- Metoda Arrays.binarySearch() (403)
- Ćwiczenia do podrozdziału 7.3 (404)
- 7.4. Rekurencyjne struktury danych (404)
- Rekurencyjna definicja listy (404)
- Klasa LinkedListRec (405)
- Usunięcie węzła z listy (408)
- Ćwiczenia do podrozdziału 7.4 (409)
- 7.5. Rozwiązywanie problemów z wykorzystaniem rekurencji (410)
- Analiza przypadku - wieże Hanoi (410)
- ANALIZA PRZYPADKU - zliczanie pikseli należących do plamy (414)
- Ćwiczenia do podrozdziału 7.5 (419)
- 7.6. Nawroty (419)
- ANALIZA PRZYPADKU - znajdowanie ścieżki przez labirynt (420)
- Ćwiczenia do podrozdziału 7.6 (424)
- Podsumowanie rozdziału (425)
- 8.1. Terminologia dotycząca drzew i ich zastosowania (433)
- Terminologia (433)
- Drzewa binarne (434)
- Niektóre rodzaje drzew binarnych (434)
- Pełność i zupełność (438)
- Drzewa bardziej ogólne (438)
- Ćwiczenia do podrozdziału 8.1 (440)
- 8.2. Sposoby przejścia przez drzewo (440)
- Wizualizacja przejścia przez drzewo (441)
- Przejścia przez binarne drzewa przeszukiwania i drzewa wyrażeń (442)
- Ćwiczenia do podrozdziału 8.2 (443)
- 8.3. Implementacja klasy BinaryTree (443)
- Klasa Node<E> (443)
- Klasa BinaryTree<E> (445)
- Ćwiczenia do podrozdziału 8.3 (451)
- 8.4. Binarne drzewa wyszukiwania (452)
- Omówienie binarnych drzew wyszukiwania (452)
- Wydajność (454)
- Klasa TreeSet i interfejs SearchTree (454)
- Klasa BinarySearchTree (454)
- Wstawianie elementu w drzewie BST (457)
- Usuwanie z drzewa BST (460)
- Testowanie binarnego drzewa przeszukiwania (466)
- ANALIZA PRZYPADKU - tworzenie skorowidza do wypracowania (466)
- Ćwiczenia do podrozdziału 8.4 (468)
- 8.5. Sterty i kolejki priorytetowe (469)
- Wstawianie elementu na stercie (470)
- Usunięcie elementu ze sterty (471)
- Implementacja sterty (472)
- Kolejki priorytetowe (476)
- Klasa PriorityQueue (477)
- Wykorzystanie sterty jako podstawy dla kolejki priorytetowej (477)
- Pozostałe metody (480)
- Wykorzystanie interfejsu Comparator (480)
- Metoda compare() (481)
- Ćwiczenia do podrozdziału 8.5 (483)
- 8.6. Drzewa Huffmana (483)
- ANALIZA PRZYPADKU - wykonanie własnego drzewa Huffmana (484)
- Ćwiczenia do podrozdziału 8.6 (491)
- Podsumowanie rozdziału (492)
- 9.1. Zbiory i interfejs Set (500)
- Abstrakcja zbioru - interfejs Set (500)
- Interfejs Set i jego metody (502)
- Porównanie list i zbiorów (504)
- Ćwiczenia do podrozdziału 9.1 (504)
- 9.2. Odwzorowania i interfejs Map (505)
- Hierarchia Map (507)
- Interfejs Map (507)
- Ćwiczenia do podrozdziału 9.2 (509)
- 9.3. Tablice mieszające (510)
- Funkcja mieszająca i wyliczanie indeksu (510)
- Sposoby określania funkcji mieszających (511)
- Adresacja otwarta (512)
- Zawinięcie tablicy i przerwanie poszukiwania (513)
- Przejście przez tablicę mieszającą (515)
- Usunięcie elementu w adresacji otwartej (515)
- Zmniejszanie liczby kolizji przez zwiększenie pojemności tablicy (515)
- Redukcja kolizji za pomocą próbkowania kwadratowego (516)
- Problemy próbkowania kwadratowego (517)
- Mieszanie łańcuchowe (518)
- Wydajność tablic mieszających (519)
- Ćwiczenia do podrozdziału 9.3 (521)
- 9.4. Implementacja tablicy mieszającej (522)
- Interfejs KWHashMap (523)
- Klasa Entry (523)
- Klasa HashtableOpen (524)
- Klasa HashtableChain (529)
- Testowanie implementacji tablic mieszających (533)
- Ćwiczenia do podrozdziału 9.4 (534)
- 9.5. Zagadnienia związane z implementacją interfejsów Set i Map (534)
- Metody hashCode() i equals() (534)
- Implementacja klasy HashSetOpen (535)
- Wykonanie klasy HashSetOpen jako klasy adapterowej (536)
- Implementacja interfejsów Map i Set Javy (537)
- Interfejs wewnętrzny Map.Entry (537)
- Utworzenie widoku odwzorowania jako zbioru (537)
- Metoda entrySet() i klasy EntrySet oraz SetIterator (538)
- Klasy TreeMap i TreeSet (539)
- Ćwiczenia do podrozdziału 9.5 (540)
- 9.6. Dodatkowe zastosowania odwzorowań (540)
- ANALIZA PRZYPADKU - implementacja książki telefonicznej przy użyciu odwzorowania (540)
- Analiza przypadku - dokończenie problemu kodowania Huffmana (543)
- Ćwiczenia do podrozdziału 9.6 (547)
- Podsumowanie rozdziału (547)
- 10.1. Użycie metod sortowania dostępnych w Javie (554)
- Ćwiczenia do podrozdziału 10.1 (558)
- 10.2. Sortowanie przez wybór (559)
- Analiza sortowania przez wybór (560)
- Kod sortowania przez wybór (560)
- Ćwiczenia do podrozdziału 10.2 (561)
- 10.3. Sortowanie bąbelkowe (562)
- Analiza sortowania bąbelkowego (564)
- Kod sortowania bąbelkowego (564)
- Ćwiczenia do podrozdziału 10.3 (565)
- 10.4. Sortowanie przez wstawianie (566)
- Analiza sortowania przez wstawianie (567)
- Kod sortowania przez wstawianie (568)
- Ćwiczenia do podrozdziału 10.4 (569)
- 10.5. Porównanie metod sortowania działających w czasie kwadratowym (570)
- Porównania a podmiany (571)
- Ćwiczenia do podrozdziału 10.5 (571)
- 10.6. Sortowanie Shella - ulepszone sortowanie przez wstawianie (571)
- Analiza sortowania Shella (573)
- Kod sortownia Shella (574)
- Ćwiczenia do podrozdziału 10.6 (575)
- 10.7. Sortowanie przez złączanie (576)
- Analiza złączania (576)
- Kod złączania (577)
- Algorytm sortowania przez złączanie (578)
- Przykład zastosowania algorytmu sortowania przez złączanie (579)
- Analiza sortowania przez złączanie (579)
- Kod sortowania przez złączanie (580)
- Ćwiczenia do podrozdziału 10.7 (581)
- 10.8. Sortowanie na stercie (581)
- Pierwsza wersja sortowania na stercie (582)
- Sortowanie na stercie - poprawka (582)
- Algorytm tworzenia sterty (584)
- Analiza udoskonalonego algorytmu sortowania na stercie (584)
- Kod sortowania na stercie (585)
- Ćwiczenia do podrozdziału 10.8 (586)
- 10.9. Quicksort (587)
- Algorytm quicksort (588)
- Analiza algorytmu quicksort (588)
- Kod algorytmu quicksort (589)
- Algorytm podziału tablicy (590)
- Kod metody partition (591)
- Udoskonalony algorytm podziału (593)
- Kod udoskonalonej metody partition (595)
- Ćwiczenia do podrozdziału 10.9 (596)
- 10.10. Testowanie algorytmów sortujących (596)
- Ćwiczenia do podrozdziału 10.10 (598)
- 10.11. Problem flagi holenderskiej (temat opcjonalny) (598)
- ANALIZA PRZYPADKU - problem flagi holenderskiej (599)
- Ćwiczenia do podrozdziału 10.11 (602)
- Podsumowanie rozdziału (602)
- 11.1. Zrównoważenie drzewa i rotacja (608)
- Czemu równowaga jest tak ważna? (608)
- Rotacja (609)
- Algorytm rotacji (610)
- Implementacja rotacji (612)
- Ćwiczenia do podrozdziału 11.1 (613)
- 11.2. Drzewa AVL (613)
- Równoważenie drzewa typu "lewa-lewa" (614)
- Równoważenie drzewa typu "lewa-prawa" (615)
- Cztery rodzaje niezrównoważenia (616)
- Implementacja drzew AVL (619)
- Wstawianie wartości do drzewa AVL (621)
- Usuwanie z drzewa AVL (627)
- Wydajność drzew AVL (628)
- Ćwiczenia do podrozdziału 11.2 (628)
- 11.3. Drzewa czerwono-czarne (629)
- Wstawianie do drzewa czerwono-czarnego (629)
- Usuwanie elementów z czerwono-czarnych drzew (642)
- Wydajność drzew czerwono-czarnych (642)
- Klasy TreeMap i TreeSet (643)
- Ćwiczenia do podrozdziału 11.3 (643)
- 11.4. Drzewa 2-3 (643)
- Przeszukiwanie drzewa 2-3 (644)
- Wstawianie elementu do drzewa 2-3 (645)
- Analiza drzew 2-3 i porównanie ich ze zrównoważonymi drzewami binarnymi (649)
- Usuwanie danych z drzewa 2-3 (649)
- Ćwiczenia do podrozdziału 11.4 (650)
- 11.5. Drzewa 2-3-4 i B-drzewa (651)
- Drzewa 2-3-4 (651)
- Implementacja klasy TwoThreeFourTree (654)
- Drzewa 2-3-4 a drzewa czerwono-czarne (659)
- B-drzewa (660)
- Ćwiczenia do podrozdziału 11.5 (662)
- Podsumowanie rozdziału (663)
- 12.1. Terminologia związana z grafami (674)
- Wizualna reprezentacja grafów (674)
- Grafy skierowane i nieskierowane (675)
- Drogi i cykle (676)
- Związek między grafami a drzewami (678)
- Zastosowania grafów (678)
- Ćwiczenia do podrozdziału 12.1 (679)
- 12.2. Graf jako abstrakcyjny typ danych, klasa Edge (679)
- Ćwiczenia do podrozdziału 12.2 (681)
- 12.3. Implementacja grafów (682)
- Listy sąsiedztwa (682)
- Macierz sąsiedztwa (682)
- Hierarchia klas (684)
- Klasa AbstractGraph (685)
- Klasa ListGraph (688)
- Klasa MatrixGraph (690)
- Porównanie obu implementacji (691)
- Ćwiczenia do podrozdziału 12.3 (692)
- 12.4. Metody przeglądania grafów (693)
- Przeszukiwanie wszerz (693)
- Przeszukiwanie w głąb (698)
- Ćwiczenia do podrozdziału 12.4 (706)
- 12.5. Zastosowania algorytmów przeglądania grafów (706)
- ANALIZA PRZYPADKU - najkrótsza droga przez labirynt (706)
- ANALIZA PRZYPADKU - sortowanie topologiczne grafu (710)
- Ćwiczenia do podrozdziału 12.5 (713)
- 12.6. Algorytmy wykorzystujące grafy ważone (713)
- Znajdowanie najkrótszej drogi z danego do wszystkich innych wierzchołków (713)
- Minimalne drzewa rozpinające (718)
- Ćwiczenia do podrozdziału 12.6 (722)
- Podsumowanie rozdziału (723)
- A.1. Środowisko języka Java i klasy (737)
- Wirtualna maszyna Javy (737)
- Kompilator Javy (738)
- Klasy i obiekty (738)
- API języka Java (738)
- Instrukcja import (739)
- Metoda main (739)
- Wykonywanie programu języka Java (740)
- Ćwiczenia do podrozdziału A.1 (740)
- A.2. Elementarne typy danych i zmienne referencyjne (741)
- Elementarne typy danych (741)
- Zmienne typów podstawowych (742)
- Stałe typów elementarnych (743)
- Operatory (743)
- Inkrementacja przyrostkowa i przedrostkowa (743)
- Zgodność typów i konwersja (745)
- Odwoływanie się do obiektów (745)
- Tworzenie obiektów (746)
- Ćwiczenia do podrozdziału A.2 (747)
- A.3. Instrukcje sterujące języka Java (747)
- Instrukcje sekwencji i instrukcje złożone (747)
- Instrukcje wyboru i pętli (747)
- Zagnieżdżone instrukcje if (750)
- Instrukcja switch (751)
- Ćwiczenia do podrozdziału A.3 (752)
- A.4. Metody i klasa Math (752)
- Metody obiektu println i print (752)
- Parametry przekazywane przez wartość (753)
- Klasa Math (754)
- Sekwencje sterujące (755)
- Ćwiczenia do podrozdziału A.4 (756)
- A.5. Klasy String, StringBuilder, StringBuffer oraz StringTokenizer (756)
- Klasa String (756)
- Łańcuchy są niezmienne (759)
- Odśmiecanie (760)
- Porównywanie obiektów (760)
- Metoda String.format (761)
- Klasa Formatter (763)
- Klasy StringBuilder i StringBuffer (763)
- Klasa StringTokenizer (765)
- Ćwiczenia do podrozdziału A.5 (766)
- A.6. Klasy opakowujące typy elementarne (767)
- Ćwiczenia do podrozdziału A.5 (769)
- A.7. Definiowanie własnych klas (769)
- Prywatne pola danych, publiczne metody (773)
- Konstruktory (774)
- Konstruktor bezparametrowy (775)
- Metody modyfikatorów i akcesorowe (775)
- Użycie zapisu this. w metodach (775)
- Metoda toString (776)
- Metoda equals (776)
- Deklarowanie zmiennych lokalnych klasy Person (777)
- Aplikacja korzystająca z klasy Person (778)
- Obiekty w roli parametrów (779)
- Klasy jako składniki innych klas (780)
- Dokumentowanie klas i metod w Javie (781)
- Ćwiczenia do podrozdziału A.7 (781)
- A.8. Tablice (783)
- Pole length (786)
- Metoda System.arraycopy (787)
- Tablicowe pola danych (788)
- Tablice jako wyniki i jako parametry (789)
- Tablice tablic (790)
- Ćwiczenia do podrozdziału A.8 (793)
- A.9. Oprogramowanie wejścia i wyjścia przy użyciu klasy JOptionPane (794)
- Konwersja znakowego zapisu liczby na liczbę (795)
- Menu graficzne oparte na metodzie showOptionDialog (796)
- Ćwiczenia do podrozdziału A.9 (796)
- A.10. Oprogramowanie wejścia i wyjścia przy użyciu strumieni (797)
- Strumienie wejściowe (797)
- Wejście konsolowe (797)
- Strumienie wyjściowe (798)
- Przekazywanie parametrów metodzie main (798)
- Zamykanie strumieni (798)
- Wyjątki (799)
- Cała aplikacja przetwarzająca pliki (799)
- Klasa Scanner (801)
- Wczytywanie danych element po elemencie (803)
- Ćwiczenia do podrozdziału A.10 (804)
- Podsumowanie rozdziału (804)
- B.1. Diagram klas (812)
- Reprezentacja klas i interfejsów (812)
- Generalizacja (815)
- Klasy wewnętrzne, czyli zagnieżdżone (816)
- Asocjacja (816)
- Agregacja i kompozycja (817)
- Klasy sparametryzowane (818)
- B.2. Diagramy sekwencji (818)
- Oś czasu (820)
- Obiekty (820)
- Linie życia (820)
- Linia aktywacji (820)
- Komunikaty (820)
- Użycie notatek (821)
- C.1. Składniki aplikacji opartej na obsłudze zdarzeń (824)
- Komponenty i zdarzenia (826)
- Procedury obsługi zdarzeń (826)
- Interfejs ActionListener (827)
- Rejestracja procedury obsługi zdarzenia (828)
- Tworzenie interfejsu użytkownika (828)
- Ćwiczenia do podrozdziału C.1 (832)
- C.2. Wprowadzenie do AWT i hierarchii Swing (832)
- Przykład i zarazem wprowadzenie: TwoCircles (834)
- JFrame (838)
- JPanel (838)
- Graphics (840)
- Układ współrzędnych w klasie Graphics (841)
- Ćwiczenia do podrozdziału C.2 (841)
- C.3. Menedżery układu (842)
- Menedżer BorderLayout (842)
- Menedżer FlowLayout (844)
- Menedżer BoxLayout (845)
- Menedżer GridLayout (847)
- Łączenie różnych menedżerów układu (848)
- Ćwiczenia do podrozdziału C.3 (848)
- C.4. Komponenty do wprowadzania danych (849)
- Pole opcji (849)
- Przycisk radiowy (851)
- Lista rozwijana (852)
- Pole edycyjne (854)
- Etykieta (856)
- Wielowierszowe pole edycyjne (856)
- Ćwiczenia do podrozdziału C.4 (856)
- C.5. Użycie komponentów do wprowadzania danych (857)
- ANALIZA PRZYPADKU - konwerter miar objętości (857)
- Ograniczanie liczby cyfr znaczących (862)
- Formatowanie walut zgodnie z różnymi ustawieniami lokalnymi (863)
- Ćwiczenia do podrozdziału C.5 (864)
- C.6. Menu i paski narzędziowe (865)
- Klasy JMenuItem, JMenu i JMenuBar (865)
- Ikony (867)
- Paski narzędziowe (867)
- ANALIZA PRZYPADKU - aplikacja do rysowania (868)
- Ćwiczenia do podrozdziału C.6 (876)
- C.7. Obsługa zdarzeń myszy (876)
- MouseAdapter i MouseMotionAdapter (878)
- ANALIZA PRZYPADKU - aplikacja do rysowania, ciąg dalszy (878)
- Ćwiczenia do podrozdziału C.7 (886)
- Podsumowanie rozdziału (886)
Przedmowa (17)
Rozdział 1. Wprowadzenie do projektowania oprogramowania (29)
Rozdział 2. Poprawność i wydajność programów (87)
Rozdział 3. Dziedziczenie i hierarchie klas (157)
Rozdział 4. Listy i interfejs Collection (223)
Rozdział 5. Stosy (287)
Rozdział 6. Kolejki (333)
Rozdział 7. Rekurencja (379)
Rozdział 8. Drzewa (431)
Rozdział 9. Zbiory i odwzorowania (499)
Rozdział 10. Sortowanie (553)
Rozdział 11. Samorównoważące się drzewa wyszukiwania (607)
Rozdział 12. Grafy (673)
Dodatki
Dodatek A Wprowadzenie do języka Java (735)
Dodatek B Wprowadzenie do UML-a (811)
Dodatek C Programowanie oparte na zdarzeniach (823)
Słowniczek (893)
Skorowidz (907)
Helion - inne książki
-
Promocja
Ta książka szczególnie przyda się osobom, które rozpoczynają pracę z Angularem. Dzięki niej szybko zaczniesz tworzyć aplikacje z wykorzystaniem wiersza poleceń (CLI), pisać testy jednostkowe i używać stylów zgodnych ze standardem Material Design. Dowiesz się również, jak wdrażać aplikacje w środowisku produkcyjnym. W tym wydaniu zaprezentowano wiele nowych funkcjonalności i praktyk ułatwiających pracę twórcom frontendów. Dodano nowy rozdział poświęcony klasie Observable i bibliotece RxJS, a także rozszerzono zakres informacji o obsłudze błędów i debugowaniu w Angularze. Poszczególne zagadnienia zostały zilustrowane przykładami rzeczywistych rozwiązań, a prezentowany kod powstał zgodnie z najlepszymi praktykami programistycznymi.- Druk
- PDF + ePub + Mobi pkt
(57,84 zł najniższa cena z 30 dni)
53.40 zł
89.00 zł (-40%) -
Promocja
To książka przeznaczona dla osób, które pracują ze zbiorami danych. Jest praktycznym przewodnikiem po koncepcjach algebry liniowej, pomyślanym tak, by ułatwić ich zrozumienie i zastosowanie w użytecznych obliczeniach. Poszczególne zagadnienia przedstawiono za pomocą kodu Pythona, wraz z przykładami ich wykorzystania w nauce o danych, uczeniu maszynowym, uczeniu głębokim, symulacjach i przetwarzaniu danych biomedycznych. Dzięki podręcznikowi nauczysz się arytmetyki macierzowej, poznasz istotne rozkłady macierzy, w tym LU i QR, a także rozkład według wartości osobliwych, zapoznasz się też z takimi zagadnieniami jak model najmniejszych kwadratów i analiza głównych składowych.- Druk
- PDF + ePub + Mobi pkt
(46,20 zł najniższa cena z 30 dni)
50.05 zł
77.00 zł (-35%) -
Promocja
Skupiamy się w niej na prostych projektach z użyciem legendarnego układu scalonego 555, określanego też jako NE 555. Jest to chip, który pozwala na realizację wielu funkcji, na przykład skonstruowanie układu czasowego czy multiwibratora. Zaprojektowany i skonstruowany przez Hansa R. Camenzinda w 1970 roku, zrobił niesamowitą karierę - jeszcze na początku XXI wieku co roku na potrzeby przemysłu powstawał miliard takich układów. Teraz o wszechstronności NE 555 możesz się przekonać osobiście, projektując i uruchamiając między innymi różnego rodzaju czujniki, generatory, lampki czy mierniki czasu. Sprawdź, jak szerokie zastosowanie ma NE 555!- Druk
- PDF + ePub + Mobi pkt
(29,94 zł najniższa cena z 30 dni)
32.43 zł
49.90 zł (-35%) -
Promocja
Oto praktyczny, przystępnie napisany przewodnik, który stanowi wprowadzenie do pracy z technologią Blazor. Opisuje możliwości modeli Server i WebAssembly, przedstawia także krok po kroku proces powstawania aplikacji internetowej. Dzięki temu płynnie przejdziesz do tworzenia projektów Blazor, nauczysz się składni języka Razor, będziesz też weryfikować zawartość formularzy i budować własne komponenty. W tym wydaniu omówiono również generatory kodu źródłowego i zasady przenoszenia komponentów witryn utworzonych w innych technologiach do platformy Blazor. W trakcie lektury dowiesz się, jak tworzyć uniwersalne aplikacje za pomocą wersji Blazor Hybrid wraz z platformą .NET MAUI.- Druk
- PDF + ePub + Mobi pkt
(44,85 zł najniższa cena z 30 dni)
41.40 zł
69.00 zł (-40%) -
Promocja
Jeśli słowo „szyfr” budzi w Tobie przyjemny dreszczyk emocji, mamy dla Ciebie prawdziwą gratkę. Już za chwilę poznasz największe tajemnice ludzkości. Prezentowane w tej książce tajemnicze kody służyły dyplomatom, armiom pierwszej i drugiej wojny światowej, wreszcie zimnowojennym szpiegom. Były kamyczkami, które wywołały lawinę rewolucji informatycznej. Bez żadnej przesady - oto szyfry, które decydowały o losach świata. I wciąż o nich decydują.- Druk
- PDF + ePub + Mobi pkt
(25,35 zł najniższa cena z 30 dni)
25.35 zł
39.00 zł (-35%) -
Bestseller Promocja
Ta książka stanowi wszechstronne omówienie wszystkich bibliotek Pythona, potrzebnych naukowcom i specjalistom pracującym z danymi. Znalazł się tu dokładny opis IPythona, NumPy, Pandas, Matplotlib, Scikit-Learn i innych narzędzi. Podręcznik uwzględnia przede wszystkim ich aspekty praktyczne, dzięki czemu świetnie się sprawdzi w rozwiązywaniu codziennych problemów z manipulowaniem, przekształcaniem, oczyszczaniem i wizualizacją różnych typów danych, a także jako pomoc podczas tworzenia modeli statystycznych i modeli uczenia maszynowego. Docenią go wszyscy, którzy zajmują się obliczeniami naukowymi w Pythonie.- Druk
- PDF + ePub + Mobi pkt
(77,40 zł najniższa cena z 30 dni)
83.85 zł
129.00 zł (-35%) -
Promocja
Z tą książką stopniowo nauczysz się prostego, podstawowego kodu, a potem bardziej złożonych instrukcji AVX. Nabierzesz wprawy w czytaniu kodu asemblera i zaczniesz łączyć go z kodem w językach wyższego poziomu. Co ważniejsze, teorię ograniczono tu do niezbędnego minimum, za to dokładnie opisano dostępne narzędzia, omówiono sposób ich użytkowania i możliwe problemy. Kod natomiast został zaprezentowany w postaci kompletnych programów asemblera, co pozwoli Ci na dowolne testowanie, zmienianie i inne eksperymenty. W ten sposób przygotujesz się do samodzielnego badania różnych obszarów AVX i korzystania z oficjalnych podręczników Intela.- Druk
- PDF + ePub + Mobi pkt
(50,05 zł najniższa cena z 30 dni)
50.05 zł
77.00 zł (-35%) -
Bestseller Promocja
To trzecie, zaktualizowane i uzupełnione wydanie bestsellerowego podręcznika programowania w Pythonie. Naukę rozpoczniesz od podstawowych koncepcji programowania. Poznasz takie pojęcia jak zmienne, listy, klasy i pętle, a następnie utrwalisz je dzięki praktycznym ćwiczeniom. Dowiesz się, jak zapewnić interaktywność programom, i nauczysz się poprawnego testowania kodu przed dodaniem go do projektu. W kolejnych rozdziałach przystąpisz do praktycznej realizacji trzech projektów: gry zręcznościowej inspirowanej klasyczną Space Invaders, wizualizacji danych za pomocą dostępnych dla Pythona niezwykle użytecznych bibliotek i prostej aplikacji internetowej, gotowej do wdrożenia na serwerze WWW i opublikowania w internecie.- Druk
- PDF + ePub + Mobi pkt
(71,40 zł najniższa cena z 30 dni)
77.35 zł
119.00 zł (-35%) -
Promocja
To książka przeznaczona dla profesjonalnych administratorów i użytkowników Linuksa. Dzięki niej szybciej zrozumiesz, w jakim stopniu dobre zarządzanie systemami na poziomie systemu operacyjnego może wynieść działanie infrastruktury biznesowej na zupełnie inny poziom. Znajdziesz tu najlepsze praktyki zarządzania systemami ― począwszy od wyboru optymalnej dystrybucji Linuksa, poprzez zaprojektowanie architektury systemu, skończywszy na strategiach zarządzania przeprowadzanymi w nim poprawkami i aktualizacjami. Sporo miejsca poświęcono różnym metodom automatyzacji części zadań administratora, a także schematom tworzenia kopii zapasowych i odzyskiwania danych po awarii. Zaproponowano również ciekawe podejście do rozwiązywania problemów, dzięki któremu można szybciej uzyskać satysfakcjonujące rozwiązanie i uniknąć poważniejszych szkód.- Druk
- PDF + ePub + Mobi pkt
(57,84 zł najniższa cena z 30 dni)
57.84 zł
89.00 zł (-35%) -
Promocja
Scrum to sposób na kreatywność i współpracę w każdym projekcie. Książka Scrum dla bystrzaków wprowadzi Cię w ten popularny świat zwinnych ram postępowania w zakresie zarządzania projektami i pokaże, jak Scrum pomaga w pobudzaniu innowacyjności w każdej firmie lub branży, a nawet w życiu prywatnym. Nie musisz być programistą, by korzystać ze sprintów i z innych cech charakterystycznych dla scrumowej metody. Uratuj więcej istnień ludzkich, polepsz edukację swoich dzieci, zoptymalizuj strategię publikacji, zwiększ lojalność klientów, zarządzaj portfelem emerytalnym, zaplanuj ślub — masz nieograniczone możliwości. Stosuj Scruma, by osiągać cele — ten przewodnik pokaże Ci, jak to zrobić.- Druk
- PDF + ePub + Mobi pkt
(41,40 zł najniższa cena z 30 dni)
44.85 zł
69.00 zł (-35%)
Zamknij
Przeczytaj darmowy fragment
Dzięki opcji "Druk na żądanie" do sprzedaży wracają tytuły Grupy Helion, które cieszyły sie dużym zainteresowaniem, a których nakład został wyprzedany.
Dla naszych Czytelników wydrukowaliśmy dodatkową pulę egzemplarzy w technice druku cyfrowego.
Co powinieneś wiedzieć o usłudze "Druk na żądanie":
- usługa obejmuje tylko widoczną poniżej listę tytułów, którą na bieżąco aktualizujemy;
- cena książki może być wyższa od początkowej ceny detalicznej, co jest spowodowane kosztami druku cyfrowego (wyższymi niż koszty tradycyjnego druku offsetowego). Obowiązująca cena jest zawsze podawana na stronie WWW książki;
- zawartość książki wraz z dodatkami (płyta CD, DVD) odpowiada jej pierwotnemu wydaniu i jest w pełni komplementarna;
- usługa nie obejmuje książek w kolorze.
Masz pytanie o konkretny tytuł? Napisz do nas: sklep@helion.pl
Książka drukowana
Oceny i opinie klientów: Struktury danych i techniki obiektowe na przykładzie Javy 5.0 Elliot Koffman, Paul Wolfgang (4) Weryfikacja opinii następuję na podstawie historii zamówień na koncie Użytkownika umieszczającego opinię. Użytkownik mógł otrzymać punkty za opublikowanie opinii uprawniające do uzyskania rabatu w ramach Programu Punktowego.
(0)
(4)
(0)
(0)
(0)
(0)
więcej opinii
ukryj opinie