- Wydawnictwo:
- Helion
- Wydawnictwo:
- Helion
- Ocena:
- 5.3/6 Opinie: 7
- Stron:
- 952
- Druk:
- oprawa twarda
- Dostępne formaty:
-
PDFePubMobi
Opis
książki
:
Algorytmy. Wydanie IV
Nie odkrywaj koła na nowo — sprawdź gotowe rozwiązania!
- Jak oceniać wydajność algorytmów?
- Jak wydajnie sortować elementy?
- Jak kompresować dane?
Algorytmy od zawsze porównywane były do przepisów kucharskich. Z celnością tego porównania trudno dyskutować, na pewno jednak przesolenie zupy ma zupełnie inne konsekwencje niż błędnie opracowany lub zaimplementowany algorytm. To właśnie algorytmy decydują o czasie wykonania skomplikowanych operacji przez programy komputerowe, a ich odpowiednia implementacja może niejednokrotnie decydować o sukcesie lub porażce projektu wartego fortunę.
Dzięki tej książce masz szansę uniknąć typowych programistycznych błędów i porażek. Jej lektura zapozna Cię z najpopularniejszymi algorytmami, ich licznymi zaletami oraz słabymi stronami. Sprawdzisz, do czego można je zastosować, a w jakich miejscach lepiej zrezygnować z ich wykorzystania. Ponadto nauczysz się analizować działanie algorytmów, mierzyć ich wydajność oraz dobierać dane testowe. W książce zostały omówione klasyczne algorytmy sortowania, wyszukiwania, operacji na grafach oraz kompresji danych. Jej ogromnym atutem są przykładowe implementacje algorytmów w języku JAVA oraz to, że przedstawiony kod jest gotowy do natychmiastowego użycia! Pozycja ta jest obowiązkową lekturą dla każdego programisty, któremu zależy na najwyższej wydajności tworzonych rozwiązań.
- Podstawowe pojęcia
- Struktura programu w języku JAVA
- Instrukcje, typy danych, wyrażenia w języku JAVA
- Korzystanie z abstrakcyjnych typów danych
- Stosy, kolejki
- Analiza algorytmów
- Algorytmy sortowania i wyszukiwania
- Wykorzystanie grafów
- Znajdowanie najkrótszej ścieżki
- Operacja na łańcuchach znaków
- Algorytmy kompresji danych
Nie trać czasu i energii — korzystaj ze sprawdzonych rozwiązań!
Wybrane bestsellery
-
Promocja
Trzymasz w rękach znakomity, interdyscyplinarny podręcznik programowania, w którym skupiono się na zastosowaniu kodu Javy do badań z wielu ciekawych dziedzin. Przedstawiono tu zagadnienia podstawowe (zmienne, typy danych, przepływ sterowania, operacje wejścia-wyjścia) oraz bardziej zaawansowane (funkcje, zagadnienia programowania obiektowego, własne typy danych). W książce znalazło się również solidne wprowadzenie do algorytmów i struktur danych z uwzględnieniem charakterystyki wydajności implementacji. Kluczowym elementem wyróżniającym tę publikację spośród innych jest jednak zastosowanie prezentowanych koncepcji do rozwiązania konkretnych problemów nauki i inżynierii.- PDF + ePub + Mobi
- Druk 49 pkt
(34,90 zł najniższa cena z 30 dni)
49.50 zł
99.00 zł (-50%) -
Nowość Promocja
Przetwarzanie obrazów to dynamicznie rozwijająca się dziedzina, która znajduje zastosowanie w licznych branżach, takich jak medycyna, motoryzacja, przemysł rozrywkowy, bezpieczeństwo, rolnictwo czy marketing. Umożliwia automatyczne rozpoznawanie obiektów, analizę obrazów medycznych i tworzenie interaktywnych aplikacji korzystających ze sztucznej inteligencji. Warto się zagłębić w techniki przetwarzania obrazów, które stały się dostępniejsze i skuteczniejsze niż kiedykolwiek wcześniej dzięki lepszemu wykorzystaniu mocy obliczeniowej niezbędnej do procesowania sieci konwolucyjnych (CNN) i algorytmów YOLO. Ponadto modele generatywne, jak DALL-E czy Midjourney, oferują możliwości generowania obrazów na potrzeby trenowania modeli AI, co pozwala zwiększać różnorodność i wielkość puli danych (ang. data augmentation). Powszechnym narzędziem w segmencie computer vision jest biblioteka OpenCV. Jest używana do analizy obrazów, rozpoznawania obiektów, detekcji twarzy, wykrywania ruchu czy segmentacji obrazów. OpenCV oferuje dostęp do szerokiego zakresu narzędzi i algorytmów, a dobre opanowanie biblioteki otwiera drzwi do ciekawych projektów związanych z widzeniem komputerowym. Umiejętność przetwarzania obrazów jest niezwykle ceniona na rynku pracy – specjaliści mogą liczyć na atrakcyjne stanowiska i różnorodne wyzwania technologiczne.- Videokurs 64 pkt
(34,65 zł najniższa cena z 30 dni)
64.35 zł
99.00 zł (-35%) -
Promocja
Ta zwięzła publikacja przyda się profesjonalistom, którzy lubią drobne ulepszenia prowadzące do dużych korzyści. Zrozumiale wyjaśniono w niej, na czym polega proces tworzenia czystego i niezawodnego kodu. W rozsądnej dawce podano zagadnienia teoretyczne, takie jak sprzężenie, kohezja, zdyskontowane przepływy pieniężne i opcjonalność. Porządkowanie kodu jest tu przedstawione jako element codziennej pracy programisty, prowadzący do poprawy struktury całego projektu. W książce znalazło się mnóstwo praktycznych przykładów, dzięki którym można wypróbować wybrane techniki, najlepiej sprawdzające się w danym przypadku.- PDF + ePub + Mobi
- Druk 24 pkt
(22,90 zł najniższa cena z 30 dni)
24.95 zł
49.90 zł (-50%) -
Promocja
Blisko siedemdziesiąt lat po wizycie Ramy Excalibur, olbrzymi generator sygnałów radarowych, wykrywa następny statek Obcych. Ludzkość, która dopiero co wyszła z Wielkiego Chaosu i wznowiła programy kosmiczne, znów staje przed szansą poznania innych istot. Mimo długotrwałych przygotowań misja zaczyna się źle. Kosmonauci kontynuują prace, jednak walczą nie tylko z trudnościami, jakich nastręcza obca cywilizacja, ale także z bagażem typowych ludzkich słabości.- ePub + Mobi
- Audiobook MP3 38 pkt
(24,90 zł najniższa cena z 30 dni)
38.92 zł
49.90 zł (-22%) -
Promocja
W tej rewolucyjnej publikacji doktor Gabor Maté analizuje, jak kraje zachodnie, które szczycą się swoimi systemami opieki zdrowotnej, faktycznie odnotowują wzrost liczby chorób przewlekłych i ogólnego złego stanu zdrowia. Prawie 70 procent Amerykanów stosuje co najmniej jeden lek na receptę; ponad połowa bierze dwa. W Kanadzie co piąta osoba ma nadciśnienie tętnicze. W Europie rozpoznaje się je u ponad 30 procent populacji. Wszędzie wzrasta liczba chorób psychicznych nastolatków. Więc co tak naprawdę jest normalne, jeśli chodzi o zdrowie?- ePub + Mobi 38 pkt
(26,90 zł najniższa cena z 30 dni)
38.49 zł
49.99 zł (-23%) -
Promocja
Samochód to wolność. Za pomocą samochodu pokazujemy, na co nas stać. Polacy od lat przodują w liczbie samochodów na jednego mieszkańca, zajmując także wysokie miejsce w niechlubnych rankingach śmiertelności na drogach.- ePub + Mobi
- Audiobook MP3 35 pkt
(22,90 zł najniższa cena z 30 dni)
35.34 zł
45.90 zł (-23%) -
Promocja
Odkąd w 2077 roku duża asteroida uderzyła w Ziemię, powodując ogromne straty materialne i zabijając setki tysięcy ludzi, astronomowie bacznie śledzą ruchy wszystkich takich obiektów. Gdy blisko sześćdziesiąt lat później w Układzie Słonecznym pojawia się Rama, jego rozmiary i prędkość budzą niepokój. Zdjęcia z sondy kosmicznej tylko go pogłębiają - rzekoma asteroida ma zadziwiająco regularny kształt i najwyraźniej jest statkiem obcej cywilizacji. Jakie ma zamiary? Dokąd tak naprawdę zmierza Rama? Czy zagraża ludzkości?- ePub + Mobi
- Audiobook MP3 31 pkt
(19,90 zł najniższa cena z 30 dni)
31.12 zł
39.90 zł (-22%) -
Promocja
Dla Davida Gogginsa dzieciństwo było koszmarem: naznaczone ubóstwem, dyskryminacją i maltretowaniem fizycznym. Jednak dzięki samodyscyplinie, odporności psychicznej i ciężkiej pracy Goggins całkowicie się zmienił. Ten popadający w depresję, otyły młody mężczyzna bez przyszłości stał się z czasem ikoną amerykańskich sił zbrojnych i jednym z najlepszych sportowców wytrzymałościowych na świecie. Jako jedyny człowiek w historii przeszedł elitarne szkolenie Navy SEAL, Army Ranger i Air Force Tactical Air Controller, a następnie ustanawiał rekordy podczas wielu zawodów sportowych i wydarzeń o charakterze wytrzymałościowym. Redakcja magazynu Outside nazwała go najsprawniejszym (prawdziwym) mężczyzną w Ameryce. W książce Nic mnie nie złamie dzieli się niezwykłą historią swojego życia i stwierdza, że większość z nas wykorzystuje tylko 40 procent swoich możliwości. Goggins nazywa to regułą 40%, a jego opowieść wyznacza drogę, którą może podążyć każdy, kto chce się uporać się z bólem, pokonać strach i osiągnąć pełnię swoich możliwości.- ePub + Mobi
- Audiobook MP3 51 pkt
(45,43 zł najniższa cena z 30 dni)
51.92 zł
64.90 zł (-20%) -
Promocja
Autorka Służących do wszystkiego wraca do tematu wiejskich kobiet, ale tym razem to opowieść zza drugiej strony drzwi chłopskiej chałupy. Podczas, gdy Maryśki i Kaśki wyruszają do miast, by usługiwać w pańskich domach, na wsiach zostają ich siostry i matki: harujące od świtu do nocy gospodynie, folwarczne wyrobnice, mamki, dziewki pracujące w bogatszych gospodarstwach. Marzące o własnym łóżku, butach, szkole i o zostaniu panią. Modlące się o posag, byle nie wyjść za dziada i nie zostać wydane za morgi. Dzielące na czworo zapałki, by wyżywić rodzinę. Często analfabetki, bo „babom szkoły nie potrzeba".- ePub + Mobi
- Audiobook MP3 41 pkt
(34,90 zł najniższa cena z 30 dni)
41.52 zł
51.90 zł (-20%) -
Promocja
Chris Miller przedstawia wciągającą i solidnie udokumentowaną historię chipów, które rządzą światem. Jego książka to pasjonująca opowieść o trwającej bitwie pomiędzy Chinami i USA. Bitwie o kontrolę nad najważniejszym zasobem — technologią mikrochipów, która jest niezbędnym elementem geostrategicznej rywalizacji w XXI wieku.- ePub + Mobi 59 pkt
(46,44 zł najniższa cena z 30 dni)
59.92 zł
74.90 zł (-20%) -
Promocja
Reina Roja Juana Gómeza-Jurada to pierwszy tom bestsellerowej serii thrillerów, która sprzedała się w samej Hiszpanii w ponad dwóch milionach egzemplarzy.- ePub + Mobi 32 pkt
(22,90 zł najniższa cena z 30 dni)
32.24 zł
42.99 zł (-25%)
Ebooka "Algorytmy. Wydanie IV" przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook, Onyx Boox 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 "Algorytmy. Wydanie IV" 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 "Algorytmy. Wydanie IV" 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: Algorytmy. Wydanie IV (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: Programista Magazyn RAFAŁ KOCISZ; 2017-02-01Recenzja dotyczy produktu: ksiązka drukowanaCzy recenzja była pomocna:
Odnoszę wrażenie, iż algorytmika - jako gałąź wiedzy - przeżywa ostatnimi czasy trudny okres. Rozbudowane biblioteki standardowe, szereg gotowych implementacji przeróżnych algorytmów, coraz wyższy poziom abstrakcji, na którym operują programiści - to wszystko sprawia, że o wiele częściej sięgamy po książki opisujące sposoby korzystania z najnowszych frameworków, niż po opracowania dotyczące szczegółów implementacji tablic haszujących czy zaawansowane sposoby optymalizacji algorytmów kompresji. Jest to oczywiście naturalna kolej rzeczy - kolejne pokolenia programistów korzystają z ustandaryzowanego dorobku swoich starszych kolegów i nie ma w tym niezłego. Inżynieria oprogramowania w ujęciu globalnym powoli przestaje być inżynierią, a staje się rzemiosłem (patrz ruch Software Craftsmanship), co też trudno nazwać czymś niewłaściwym. Pozostaje jednakże kwestia edukacji młodych programistów i nad tą materią warto się pochylić.
Problem w tym, że coraz mniej stroma bariera wejścia w fach twórcy oprogramowania sprawia, iż za programowanie często biorą się osoby, które mają poważne luki w wiedzy z zakresu podstawowych zagadnień informatyki - co też niczym złym nie jest, bo luki w wiedzy można uzupełnić, a praca w przemyśle daje olbrzymie możliwości rozwoju - o ile trafi się do dobrego pracodawcy i/lub zespołu. Gorzej, jeśli ktoś ma pecha i trafi do pracy, w której liczą się tylko efekty "na już" i nie ma tam ani czasu, ani atmosfery wspierającej pracowników w procesie kompleksowego i zrównoważonego rozwijania Portfolio wiedzy. Człowiek taki po kilku latach awansuje na - dajmy na to - starszego programistę; dostaje poważniejsze zadania, zaczyna szkolić młody programistyczny narybek, a tu nagle okazuje się, że nadal ma poważne luki w podstawowej wiedzy dotyczącej podstaw informatyki, takich jak chociażby wspomniana wyżej algorytmika. Patrząc z mojej perspektywy, jest to realny problem, z którym boryka się dziś przemysł IT, zaś odpowiedzią na ten problem wydaje się być promowanie edukacji.
Może właśnie dlatego zdecydowałem się przedstawić dziś na tych łamach sztandarowy podręcznik z zakresu podstaw algorytmiki: Algorytmy. Wydanie IV autorstwa Roberta Sedgewick'a i Kevina Wayne'a. Jeśli chodzi o nieco starszych programistów, to myślę, że w tym momencie mógłbym zakończyć ten tekst, bowiem Algorytmy, zwane w skrócie "Sedgewickiem", to tytuł-legenda. Pamiętam, że już w czasach, gdy sam studiowałem, opracowanie Sedgewick'a uważane było za wyrocznię. Na mojej alma mater kilka nielicznych kopii trzeciej edycji tej książki, ściągniętych z Zachodu, rozchwytywane było wśród studentów starszych roczników. W 2011 roku Robert Sedgewick razem z Kevinem Wayne opublikowali czwartą edycję tego klasycznego podręcznika, którego polską edycję, wydaną pod sztandarem wydawnictwa Helion, dziś właśnie chciałbym zaprezentować.
Na początku trzeba powiedzieć to bardzo jasno i wyraźnie: Algorytmy. Wydanie /l/jest podręcznikiem i jak każdy podręcznik wymaga studiowania. Jeśli chodzi o zawartość, to w czwartym wydaniu Algorytmów (zgodnie z zapewnieniami autorów) omówiono zestaw najważniejszych algorytmów i struktur danych stosowanych w nauce, inżynierii oraz w przemyśle. Podręcznik podzielony jest na sześć rozdziałów:
Rozdział 1: Podstawy. Zgodnie z tytułem niniejsza część książki stanowi wprowadzanie w podstawowe pojęcia dotyczące algorytmiki, zarówno w ujęciu naukowym, jak i inżynierskim. W pierwszym kroku autorzy przedstawiają przyjęty przez nich model programistyczny; model ten opiera się na podzbiorze języka Java, na bazie którego zaimplementowane są wszystkie algorytmy i struktury danych prezentowane w tym opracowaniu (dostępne pod adresem https://github.com/kevin-wayne/algs4). Dalej autorzy omawiają wykorzystywane przez nich mechanizmy modelowania abstrakcji (obiektowość) oraz podstawowe kontenery (wielozbiory, kolejki i stosy) wykorzystywane w dalszej części opracowania. Kolejny, ostatni temat omówiony w tym rozdziale to analiza algorytmów wraz z praktycznym przypadkiem użycia.
Rozdział 2: Sortowanie. Tutaj przedstawione są klasyczne algorytmy sortowania: metody podstawowe, sortowanie przez scalanie, sortowanie szybkie oraz kolejki priorytetowe.
Rozdział 3: Wyszukiwanie. W tym rozdziale autorzy omawiają mechanizmy wyszukiwania: tablice symboli, drzewa wyszukiwań binarnych, zbalansowane drzewa wyszukiwań oraz tablice haszujące.
Rozdział 4: Grafy. Rozdział (mój ulubiony!), w którym omówiono struktury danych oraz algorytmy grafowe: grafy nieskierowane, grafy skierowane, minimalne drzewa rozpinające oraz najkrótsze ścieżki.
Rozdział 5: Łańcuchy znaków. W tym rozdziale czytelnik zapozna się z tematami związanymi z przetwarzaniem ciągów znakowych, takimi jak: sortowanie, drzewa trie, wyszukiwanie podłańcuchów, wyrażenia regularne oraz kompresja danych.
Rozdział 6: Kontekst. Tutaj omówiono tematy, w których algorytmika miesza się z takimi zagadnieniami jak programowanie systemowe, aplikacje komercyjne, obliczenia naukowe czy badania operacyjne. Przykładowe tematy poruszone w tym rozdziale to symulacje oparte na zdarzeniach, B-drzewa, tablice suffiksowe czy algorytmy wyznaczania maksymalnego przepływu w sieci.
Wydaje się, że sześć rozdziałów to niedużo. Całość zajmuje jednak ponad 900 stron wypełnionych po brzegi tekstem, fragmentami kodu, pomocniczymi wizualizacjami i wzorami matematycznymi. Jak na podręcznik przystało, na końcu każdego podrozdziału umieszczone są ćwiczenia. Długo mógłbym jeszcze rozwodzić się nad zawartością tej książki... Mówiąc krótko: w mojej opinii, na chwilę obecną, jest to najlepsze dostępne na rynku wprowadzenie do algorytmiki. Jeśli więc czujesz, że w twoim portfolio wiedzy dział algorytmiki kuleje (lub rdzewieje) - zainwestuj w tę książkę i studiuj ją od czasu do czasu. W mojej opinii zakup tej pozycji ma sens nawet dla samego przestudiowania rozdziałów dotyczących analizy algorytmów. Ponadto studiowanie algorytmów, nawet tych, które na dany moment wydają Ci się niepotrzebne, może stać się inspiracją do znajdowania nieszablonowych rozwiązań w Twojej codziennej pracy. Warto wziąć sobie do serca motto opracowania: każdy programista, który na serio traktuje swoją karierę, musi posiadać wiedzę na temat algorytmów i struktur danych. Ja ze swojej strony Algorytmy gorąco polecam, a tym, którzy zdecydują się zainwestować swój czas w lekturę tej pozycji, życzę owocnego jej studiowania.
Szczegóły książki
- Tytuł oryginału:
- Algorithms (4th Edition)
- ISBN Książki drukowanej:
- 978-83-283-3710-7, 9788328337107
- Data wydania książki drukowanej :
- 2012-01-23
- ISBN Ebooka:
- 978-83-283-3711-4, 9788328337114
- Data wydania ebooka :
- 2012-01-23 Data wydania ebooka często jest dniem wprowadzenia tytułu do sprzedaży i może nie być równoznaczna z datą wydania książki papierowej. Dodatkowe informacje możesz znaleźć w darmowym fragmencie. Jeśli masz wątpliwości skontaktuj się z nami sklep@ebookpoint.pl.
- Format:
- 164x239
- Numer z katalogu:
- 60344
- Rozmiar pliku Pdf:
- 35.6MB
- Rozmiar pliku ePub:
- 26.3MB
- Rozmiar pliku Mobi:
- 53.2MB
- Przykłady na ftp » 69.2MB
Spis treści książki
- Przedmowa
- Cechy charakterystyczne
- Algorytmy
- Typy danych
- Zastosowania
- Podejście naukowe
- Szeroki zakres
- Witryna poświęcona książce
- Elektroniczne streszczenie
- Pełne implementacje
- Ćwiczenia i odpowiedzi
- Dynamiczne wizualizacje
- Materiały do kursu
- Odnośniki do powiązanych materiałów
- Wykorzystanie w programie nauczania
- Kontekst
- Podziękowania
- Cechy charakterystyczne
- Rozdział 1. Podstawy
- Algorytmy
- Podsumowanie zagadnień
- Podstawy
- Sortowanie
- Wyszukiwanie
- Grafy
- Łańcuchy znaków
- Kontekst
- 1.1. Podstawowy model programowania
- Podstawowa struktura programu Javy
- Proste typy danych i wyrażenia
- Wyrażenia
- Konwersja typów
- Porównania
- Inne typy proste
- Instrukcje
- Deklaracje
- Przypisania
- Instrukcje warunkowe
- Pętle
- Instrukcje break i continue
- Zapis skrócony
- Deklaracje inicjujące
- Przypisania niejawne
- Bloki z jedną instrukcją
- Notacja for
- Tablice
- Tworzenie i inicjowanie tablic
- Krótki zapis
- Używanie tablicy
- Utożsamianie nazw (ang. aliasing)
- Tablice dwuwymiarowe
- Metody statyczne
- Definiowanie metody statycznej
- Wywoływanie metod statycznych
- Cechy metod
- Rekurencja
- Podstawowy model programowania
- Programowanie modularne
- Testy jednostkowe
- Biblioteki zewnętrzne
- Interfejsy API
- Przykład
- Biblioteki Javy
- Opracowane przez nas biblioteki standardowe
- Własne biblioteki
- Łańcuchy znaków
- Złączanie
- Konwersja
- Konwersja automatyczna
- Argumenty wiersza poleceń
- Wejście i wyjście
- Polecenia i argumenty
- Standardowe wyjście
- Sformatowane dane wyjściowe
- Standardowe wejście
- Przekierowywanie i potoki
- Dane wejściowe i wyjściowe z pliku
- Standardowe rysowanie (podstawowe metody)
- Standardowe rysowanie (metody pomocnicze)
- Wyszukiwanie binarne
- Wyszukiwanie binarne
- Klient wspomagający tworzenie aplikacji
- Wyszukiwanie binarne
- Stosowanie białych list
- Wydajność
- Perspektywa
- Pytania i odpowiedzi
- Ćwiczenia
- Problemy do rozwiązania
- Eksperymenty
- 1.2. Abstrakcja danych
- Korzystanie z abstrakcyjnych typów danych
- Interfejs API abstrakcyjnego typu danych
- Metody odziedziczone
- Kod klienta
- Obiekty
- Tworzenie obiektów
- Wywoływanie metod egzemplarza
- Korzystanie z obiektów
- Instrukcje przypisania
- Obiekty jako argumenty
- Obiekty jako zwracane wartości
- Tablice to obiekty
- Tablice obiektów
- Przykładowe abstrakcyjne typy danych
- Obiekty geometryczne
- Przetwarzanie informacji
- Łańcuchy znaków
- Ponownie o wejściu i wyjściu
- Implementowanie abstrakcyjnych typów danych
- Zmienne egzemplarza
- Konstruktory
- Metody egzemplarza
- Zasięg
- Interfejs API, klienty i implementacje
- Więcej implementacji typów ADT
- Date
- Utrzymywanie wielu implementacji
- Akumulator
- Wizualny akumulator
- Projektowanie typu danych
- Hermetyzacja
- Projektowanie interfejsów API
- Algorytmy i abstrakcyjne typy danych
- Dziedziczenie interfejsu
- Dziedziczenie implementacji
- Przekształcanie łańcuchów znaków
- Typy nakładkowe
- Równość
- Zarządzanie pamięcią
- Niezmienność
- Projektowanie kontraktowe
- Wyjątki i błędy
- Asercje
- Podsumowanie
- Pytania i odpowiedzi
- Ćwiczenia
- Problemy do rozwiązania
- Korzystanie z abstrakcyjnych typów danych
- 1.3. Wielozbiory, kolejki i stosy
- Interfejsy API
- Typy generyczne
- Autoboxing
- Kolekcje z możliwością iterowania
- Wielozbiory
- Kolejki FIFO
- Stosy
- Przetwarzanie wyrażeń arytmetycznych
- Implementowanie kolekcji
- Stos o stałej pojemności
- Typy generyczne
- Zmiana wielkości tablicy
- Zbędne referencje
- Iterowanie
- Listy powiązane
- Rekord węzła
- Budowanie listy powiązanej
- Wstawianie na początek
- Usuwanie z początku
- Wstawianie na koniec
- Wstawianie i usuwanie na innych pozycjach
- Przechodzenie
- Implementacja stosu
- Implementacja kolejki
- Implementacja wielozbiorów
- Przegląd
- Struktury danych
- Pytania i odpowiedzi
- Ćwiczenia
- Ćwiczenia dotyczące list powiązanych
- Problemy do rozwiązania
- Interfejsy API
- 1.4. Analizy algorytmów
- Metoda naukowa
- Obserwacje
- Przykład
- Stoper
- Analizy danych eksperymentalnych
- Modele matematyczne
- Przybliżenia z tyldą
- Przybliżony czas wykonania
- Hipotezy dotyczące tempa wzrostu
- Analizy algorytmów
- Model kosztów
- Podsumowanie
- Kategorie tempa wzrostu
- Stałe
- Logarytmiczne
- Liniowe
- Liniowo-logarytmiczne
- Kwadratowe
- Sześcienne
- Wykładnicze
- Projektowanie szybszych algorytmów
- Rozgrzewka: sumy par
- Szybki algorytm dla sum trójek
- Dolne ograniczenia
- Eksperymenty ze stosunkiem czasu wykonania dla podwojonych danych
- Szacowanie możliwości rozwiązania dużych problemów
- Szacowanie korzyści z zastosowania szybszego komputera
- Zastrzeżenia
- Duże stałe
- Pętla wewnętrzna, która nie dominuje
- Czas wykonania instrukcji
- Uwzględnianie systemu
- Zbyt małe różnice
- Duża zależność od danych wejściowych
- Problemy o wielu parametrach
- Radzenie sobie z zależnością od danych wejściowych
- Modele danych wejściowych
- Gwarancje wydajności dla najgorszego przypadku
- Algorytmy z randomizacją
- Ciągi operacji
- Analizy z uwzględnieniem amortyzacji
- Pamięć
- Obiekty
- Listy powiązane
- Tablice
- Obiekty typu String
- Wartości typu String i podłańcuchy
- Perspektywa
- Pytania i odpowiedzi
- Ćwiczenia
- Problemy do rozwiązania
- Eksperymenty
- 1.5. Studium przypadku problem union-find
- Dynamiczne określanie połączeń
- Sieci
- Równoznaczność nazw zmiennych
- Zbiory matematyczne
- Implementacje
- Szybka metoda find
- Analizy techniki z szybką metodą find
- Technika z szybką metodą union
- Reprezentacja lasu drzew
- Analiza techniki z szybką metodą union()
- Szybka metoda union() z wagami
- Analiza szybkiej metody union() z wagami
- Optymalne algorytmy
- Wykresy kosztów z amortyzacją
- Perspektywy
- Pytania i odpowiedzi
- Ćwiczenia
- Problemy do rozwiązania
- Eksperymenty
- Dynamiczne określanie połączeń
- Rozdział 2. Sortowanie
- 2.1. Podstawowe metody sortowania
- Reguły
- Sprawdzanie poprawności
- Czas wykonania
- Dodatkowa pamięć
- Typy danych
- Sortowanie przez wybieranie
- Czas wykonania jest niezależny od danych wejściowych
- Potrzebna jest minimalna liczba przestawień
- Sortowanie przez wstawianie
- Wizualizacja działania algorytmów sortujących
- Porównywanie dwóch algorytmów sortujących
- Sortowanie Shella
- Pytania i odpowiedzi
- Ćwiczenia
- Problemy do rozwiązania
- Eksperymenty
- Reguły
- 2.2. Sortowanie przez scalanie
- Abstrakcyjne scalanie w miejscu
- Zstępujące sortowanie przez scalanie
- Stosowanie sortowania przez wstawianie dla małych podtablic
- Sprawdzanie, czy tablica jest już uporządkowana
- Eliminowanie kopiowania danych do tablicy pomocniczej
- Wstępujące sortowanie przez scalanie
- Złożoność sortowania
- Pytania i odpowiedzi
- Ćwiczenia
- Problemy do rozwiązania
- Eksperymenty
- 2.3. Sortowanie szybkie
- Podstawowy algorytm
- Podział w miejscu
- Pozostawanie w granicach
- Zachowanie losowości
- Kończenie pracy pętli
- Elementy z kluczami równymi kluczowi elementu osiowego
- Kończenie rekurencji
- Cechy związane z wydajnością
- Usprawnienia algorytmu
- Przełączanie na sortowanie przez wstawianie
- Podział w miejscu mediany trzech elementów
- Sortowanie optymalne ze względu na entropię
- Pytania i odpowiedzi
- Ćwiczenia
- Problemy do rozwiązania
- Eksperymenty
- Podstawowy algorytm
- 2.4. Kolejki priorytetowe
- Interfejs API
- Klient kolejki priorytetowej
- Podstawowe implementacje
- Reprezentacja w postaci nieuporządkowanej tablicy
- Reprezentacja w postaci uporządkowanej tablicy
- Reprezentacje w postaci listy powiązanej
- Definicje kopca
- Reprezentacja sterty binarnej
- Algorytmy oparte na kopcach
- Przywracanie struktury kopca przy przechodzeniu do góry (wypływanie)
- Przywracanie struktury kopca przy przechodzeniu w dół (zatapianie)
- Kopce a-arne
- Zmiana wielkości tablicy
- Niezmienność kluczy
- Indeksowana kolejka priorytetowa
- Klient indeksowanej kolejki priorytetowej
- Sortowanie przez kopcowanie
- Tworzenie kopca
- Sortowanie
- Zatapianie do poziomu dna i późniejsze wypływanie
- Pytania i odpowiedzi
- Ćwiczenia
- Problemy do rozwiązania
- Eksperymenty
- Interfejs API
- 2.5. Zastosowania
- Sortowanie różnych typów danych
- Przykład transakcje
- Sortowanie wskaźników
- Niezmienne klucze
- Niekosztowne przestawienia
- Różne porządki
- Elementy o wielu kluczach
- Kolejki priorytetowe z komparatorami
- Stabilność
- Który algorytm sortowania mam zastosować?
- Sortowanie typów prostych
- Sortowanie systemowe Javy
- Redukcje
- Powtórzenia
- Permutacje
- Redukcje oparte na kolejkach priorytetowych
- Mediana i inne miary statystyczne
- Krótki przegląd zastosowań sortowania
- Przetwarzanie komercyjne
- Wyszukiwanie informacji
- Badania operacyjne
- Symulacje oparte na zdarzeniach
- Obliczenia numeryczne
- Wyszukiwanie kombinatoryczne
- Algorytmy Prima i Dijkstry
- Algorytm Kruskala
- Kompresja Huffmana
- Algorytmy przetwarzania łańcuchów znaków
- Pytania i odpowiedzi
- Ćwiczenia
- Problemy do rozwiązania
- Eksperymenty
- Sortowanie różnych typów danych
- 2.1. Podstawowe metody sortowania
- Rozdział 3. Wyszukiwanie
- 3.1. Tablice symboli
- Interfejs API
- Typy generyczne
- Powtarzające się klucze
- Klucze o wartości null
- Wartości null
- Usuwanie
- Metody skrócone
- Iteracja
- Równość kluczy
- Uporządkowane tablice symboli
- Minimum i maksimum
- Podłoga i sufit
- Pozycja i wybieranie
- Zapytania zakresowe
- Wyjątkowe przypadki
- Metody skrócone
- Równość kluczy (raz jeszcze)
- Model kosztów
- Przykładowe klienty
- Klient testowy
- Klient do pomiaru wydajności
- Sekwencyjne przeszukiwanie nieuporządkowanych list powiązanych
- Wyszukiwanie binarne w uporządkowanej tablicy
- Wyszukiwanie binarne
- Inne operacje
- Analizy wyszukiwania binarnego
- Przegląd wstępny
- Pytania i odpowiedzi
- Ćwiczenia
- Problemy do rozwiązania
- Eksperymenty
- Interfejs API
- 3.2. Drzewa wyszukiwań binarnych
- Podstawowa implementacja
- Reprezentacja
- Wyszukiwanie
- Wstawianie
- Rekurencja
- Analizy
- Eksperymenty
- Metody oparte na uporządkowaniu i usuwanie
- Minimum i maksimum
- Podłoga i sufit
- Wybieranie
- Pozycja
- Usuwanie minimum i maksimum
- Usuwanie
- Zapytania zakresowe
- Analiza
- Pytania i odpowiedzi
- Ćwiczenia
- Problemy do rozwiązania
- Eksperymenty
- Podstawowa implementacja
- 3.3. Zbalansowane drzewa wyszukiwań
- Drzewa wyszukiwań 2-3
- Wyszukiwanie
- Wstawianie do węzła podwójnego
- Wstawianie do drzewa składającego się z jednego węzła potrójnego
- Wstawianie do węzła potrójnego, którego rodzicem jest węzeł podwójny
- Wstawianie do węzła potrójnego, którego rodzicem jest węzeł potrójny
- Podział korzenia
- Transformacje lokalne
- Właściwości globalne
- Czerwono-czarne drzewa BST
- Zapisywanie węzłów potrójnych
- Równoważna definicja
- Zależność 1 do 1
- Reprezentacja kolorów
- Rotacje
- Ponowne ustawianie odnośnika w rodzicu po rotacji
- Wstawianie do jednego węzła podwójnego
- Wstawianie do węzła podwójnego w dolnej części drzewa
- Wstawianie do drzewa o trzech kluczach (do węzła potrójnego)
- Zachowanie czarnego koloru korzenia
- Wstawianie do węzła potrójnego na dole drzewa
- Przenoszenie czerwonego odnośnika w górę drzewa
- Implementacja
- Usuwanie
- Zstępujące drzewa 2-3-4
- Usuwanie minimum
- Usuwanie
- Cechy czerwono-czarnych drzew BST
- Analizy
- Interfejs API dla uporządkowanej tablicy symboli
- Pytania i odpowiedzi
- Ćwiczenia
- Problemy do rozwiązania
- Eksperymenty
- Drzewa wyszukiwań 2-3
- 3.4. Tablice z haszowaniem
- Funkcje haszujące
- Typowy przykład
- Dodatnie liczby całkowite
- Liczby zmiennoprzecinkowe
- Łańcuchy znaków
- Klucze złożone
- Konwencje stosowane w Javie
- Przekształcanie wartości funkcji hashCode() na indeks tablicy
- Metoda hashCode() definiowana przez użytkownika
- Programowa pamięć podręczna
- Haszowanie metodą łańcuchową
- Wielkość tablicy
- Usuwanie
- Operacje na kluczach uporządkowanych
- Haszowanie z wykorzystaniem próbkowania liniowego
- Usuwanie
- Grupowanie
- Analiza próbkowania liniowego
- Zmienianie wielkości tablicy
- Metoda łańcuchowa
- Analizy z uwzględnieniem amortyzacji
- Pamięć
- Pytania i odpowiedzi
- Ćwiczenia
- Problemy do rozwiązania
- Eksperymenty
- Funkcje haszujące
- 3.5. Zastosowania
- Którą implementację tablicy symboli powinienem zastosować?
- Typy proste
- Powtarzające się klucze
- Biblioteki Javy
- Interfejs API dla zbiorów
- Usuwanie powtórzeń
- Białe i czarne listy
- Klienty używające słownika
- Klienty używające indeksu
- Indeks odwrotny
- Wektory rzadkie
- Pytania i odpowiedzi
- Ćwiczenia
- Problemy do rozwiązania
- Eksperymenty
- Którą implementację tablicy symboli powinienem zastosować?
- 3.1. Tablice symboli
- Rozdział 4. Grafy
- Mapy
- Zawartość stron WWW
- Obwody
- Harmonogramy
- Handel
- Dopasowywanie
- Sieci komputerowe
- Oprogramowanie
- Sieci społecznościowe
- 4.1. Grafy nieskierowane
- Anomalie
- Słowniczek
- Typ danych dla grafów nieskierowanych
- Możliwe reprezentacje
- Listy sąsiedztwa
- Wzorce projektowe z zakresu przetwarzania grafów
- Przeszukiwanie w głąb
- Przeszukiwanie labiryntu
- Rozgrzewka
- Alejki jednokierunkowe
- Śledzenie działania metody DFS
- Szczegółowy ślad przeszukiwania w głąb
- Wyznaczanie ścieżek
- Implementacja
- Szczegółowy ślad
- Przeszukiwanie wszerz
- Implementacja
- Spójne składowe
- Implementacja
- Algorytmy Union-Find
- Grafy symboli
- Interfejs API
- Klient testowy
- Implementacja
- Stopnie oddalenia
- Podsumowanie
- Pytania i odpowiedzi
- Ćwiczenia
- Problemy do rozwiązania
- Eksperymenty
- 4.2. Grafy skierowane
- Słownictwo
- Typ danych Digraph
- Reprezentacja
- Format danych wejściowych
- Odwracanie digrafu
- Nazwy symboliczne
- Osiągalność w digrafach
- Przywracanie pamięci metodą znacz i zamiataj (ang. mark and sweep)
- Znajdowanie ścieżek w grafach
- Cykle i grafy DAG
- Problem szeregowania zadań
- Cykle w digrafach
- Kolejność przy przeszukiwaniu w głąb i sortowanie topologiczne
- Silna spójność w digrafach
- Silnie spójne składowe
- Przykładowe zastosowania
- Algorytm Kosaraju
- Osiągalność po raz wtóry
- Podsumowanie
- Pytania i odpowiedzi
- Ćwiczenia
- Problemy do rozwiązania
- Eksperymenty
- 4.3. Minimalne drzewa rozpinające
- Założenia
- Przestrzegane zasady
- Właściwość przekroju
- Algorytm zachłanny
- Typ danych dla grafów ważonych
- Porównywanie krawędzi według wag
- Krawędzie równoległe
- Pętle własne
- Interfejs API do wyznaczania drzew MST i klient testowy
- Klient testowy
- Dane testowe
- Algorytm Prima
- Struktury danych
- Tworzenie zbioru krawędzi przekroju
- Implementacja
- Czas wykonania
- Zachłanna wersja algorytmu Prima
- Algorytm Kruskala
- Perspektywa
- Uwagi historyczne
- Algorytm działający w czasie liniowym
- Pytania i odpowiedzi
- Ćwiczenia
- Problemy do rozwiązania
- Eksperymenty
- 4.4. Najkrótsze ścieżki
- Cechy najkrótszych ścieżek
- Drzewo najkrótszych ścieżek
- Typy danych dla digrafów ważonych
- Interfejs API do wyznaczania najkrótszych ścieżek
- Klient testowy
- Struktury danych do wyznaczania najkrótszych ścieżek
- Relaksacja krawędzi
- Relaksacja wierzchołka
- Metody obsługi zapytań od klientów
- Teoretyczne podstawy algorytmów wyznaczania najkrótszych ścieżek
- Warunki optymalności
- Sprawdzanie
- Ogólny algorytm
- Algorytm Dijkstry
- Struktury danych
- Inna perspektywa
- Odmiany
- Acykliczne digrafy ważone
- Najdłuższe ścieżki
- Szeregowanie równoległych zadań
- Szeregowanie zadań równoległych z uwzględnieniem względnych terminów granicznych
- Najkrótsze ścieżki w ogólnych digrafach ważonych
- Próba numer I
- Próba numer II
- Cykle ujemne
- Próba numer III
- Algorytm Bellmana-Forda oparty na kolejce
- Implementacja
- Wagi ujemne
- Wykrywanie cykli ujemnych
- Arbitraż
- Perspektywa
- Uwagi historyczne
- Pytania i odpowiedzi
- Ćwiczenia
- Problemy do rozwiązania
- Eksperymenty
- Cechy najkrótszych ścieżek
- Rozdział 5. Łańcuchy znaków
- Przetwarzanie informacji
- Badania nad genomem
- Systemy komunikacji
- Systemy programowania
- Zasady gry
- Znaki
- Niezmienność
- Indeksowanie
- Długość
- Podłańcuch
- Złączanie
- Tablice znaków
- Alfabety
- Tablice indeksowane znakami
- Liczby
- 5.1. Sortowanie łańcuchów znaków
- Sortowanie przez zliczanie
- Zliczanie wystąpień
- Przekształcanie liczb wystąpień na indeksy
- Rozdzielanie danych
- Kopiowanie z powrotem
- Sortowanie łańcuchów znaków metodą LSD
- Sortowanie łańcuchów znaków metodą MSD
- Konwencja wykrywania końca łańcucha znaków
- Określony alfabet
- Małe podtablice
- Równe klucze
- Dodatkowa pamięć
- Model losowych łańcuchów znaków
- Wydajność
- Szybkie sortowanie łańcuchów znaków z podziałem na trzy części
- Krótkie podtablice
- Ograniczony alfabet
- Randomizacja
- Wydajność
- Przykład dzienniki sieciowe
- Z którego algorytmu sortowania łańcuchów znaków powinienem korzystać?
- Pytania i odpowiedzi
- Ćwiczenia
- Problemy do rozwiązania
- Eksperymenty
- Sortowanie przez zliczanie
- 5.2. Drzewa trie
- Drzewa trie
- Podstawowe cechy
- Przeszukiwanie drzewa trie
- Wstawianie do drzewa trie
- Reprezentacja węzłów
- Określanie wielkości
- Pobieranie kluczy
- Dopasowywanie symboli wieloznacznych
- Najdłuższy przedrostek
- Usuwanie
- Alfabet
- Cechy drzew trie
- Ograniczenia czasowe dla najgorszego przypadku przy wyszukiwaniu i wstawianiu
- Ograniczenia oczekiwanego czasu nieudanego wyszukiwania
- Pamięć
- Jednokierunkowe gałęzie
- Trójkowe drzewa wyszukiwań (drzewa TST)
- Wyszukiwanie i wstawianie
- Cechy drzew TST
- Pamięć
- Koszt wyszukiwania
- Alfabet
- Dopasowywanie przedrostków, pobieranie kluczy i dopasowywanie do symboli wieloznacznych
- Usuwanie
- Hybrydowe drzewa TST
- Jednokierunkowe gałęzie
- Której implementacji tablicy symboli z łańcuchami znaków powinienem używać?
- Pytania i odpowiedzi
- Ćwiczenia
- Problemy do rozwiązania
- Eksperymenty
- Drzewa trie
- 5.3. Wyszukiwanie podłańcuchów
- Krótka historia
- Wyszukiwanie podłańcuchów metodą ataku siłowego
- Wyszukiwanie podłańcuchów metodą Knutha-Morrisa-Pratta
- Cofanie wskaźnika wzorca
- Wyszukiwanie metodą KMP
- Symulacja deterministycznego automatu skończonego
- Tworzenie automatu DFA
- Wyszukiwanie podłańcuchów metodą Boyera-Moorea
- Heurystyka obsługi niedopasowania znaku
- Punkt wyjścia
- Wyszukiwanie podłańcuchów
- Wyszukiwanie metodą odcisków palców (metoda Rabina-Karpa)
- Podstawowy plan
- Obliczanie wartości funkcji haszującej
- Kluczowy pomysł
- Implementacja
- Sztuczka poprawność metody Monte Carlo
- Podsumowanie
- Pytania i odpowiedzi
- Ćwiczenia
- Problemy do rozwiązania
- Eksperymenty
- 5.4. Wyrażenia regularne
- Opisywanie wzorców za pomocą wyrażeń regularnych
- Złączanie (konkatenacja)
- Lub
- Domknięcie
- Nawiasy
- Skróty
- Deskryptory zbiorów znaków
- Skróty dla domknięcia
- Sekwencje ucieczki
- Zastosowania wyrażeń regularnych
- Wyszukiwanie podłańcuchów
- Sprawdzanie poprawności
- Narzędzia programisty
- Badania nad genomem
- Wyszukiwanie
- Możliwości
- Ograniczenia
- Niedeterministyczne automaty skończone
- Symulowanie działania automatu NFA
- Reprezentacja
- Symulowanie działania automatu NFA i osiągalność
- Tworzenie automatu NFA odpowiadającego wyrażeniu regularnemu
- Złączanie
- Nawiasy
- Domknięcie
- Wyrażenie z lub
- Pytania i odpowiedzi
- Ćwiczenia
- Problemy do rozwiązania
- Opisywanie wzorców za pomocą wyrażeń regularnych
- 5.5. Kompresja danych
- Reguły działania
- Podstawowy model
- Odczyt i zapis danych binarnych
- Binarne wejście i wyjście
- Przykład
- Zrzuty binarne
- Kodowanie ASCII
- Ograniczenia
- Uniwersalne algorytmy kompresji danych
- Nierozstrzygalność
- Rozgrzewka genom
- Dane o genomie
- Kompresja za pomocą kodu 2-bitowego
- Rozpakowywanie dla kodu 2-bitowego
- Kodowanie długości serii
- Bitmapy
- Implementacja
- Zwiększanie rozdzielczości bitmap
- Kompresja Huffmana
- Kody bezprefiksowe o zmiennej długości
- Reprezentacja kodów bezprefiksowych za pomocą drzewa trie
- Ogólne omówienie
- Węzły drzewa trie
- Rozpakowywanie za pomocą kodów bezprefiksowych
- Kompresja za pomocą kodów bezprefiksowych
- Tworzenie drzewa trie
- Optymalność
- Zapis i odczyt drzewa trie
- Implementacja kompresji Huffmana
- Kompresja LZW
- Przykładowa kompresja LZW
- Reprezentacja kompresji LZW za pomocą drzewa trie
- Rozpakowywanie w metodzie LZW
- Skomplikowana sytuacja
- Implementacja
- Pytania i odpowiedzi
- Ćwiczenia
- Problemy do rozwiązania
- Reguły działania
- Rozdział 6. Kontekst
- Zastosowania komercyjne
- Obliczenia naukowe
- Inżynieria
- Badania operacyjne
- Symulacja sterowana zdarzeniami
- Model oparty na twardych dyskach
- Symulacje sterowane czasem
- Symulacja sterowana zdarzeniami
- Prognozowanie zdarzeń
- Efekt zderzenia
- Unieważnione zdarzenia
- Cząsteczki
- Zdarzenia
- Kod do symulowania ruchu
- Wydajność
- Drzewa zbalansowane
- Model kosztów
- Drzewa zbalansowane (b-drzewa)
- Konwencje
- Wyszukiwanie i wstawianie
- Reprezentacja
- Wydajność
- Pamięć
- Tablice przyrostkowe
- Najdłuższy powtarzający się łańcuch znaków
- Rozwiązanie oparte na ataku siłowym
- Rozwiązanie oparte na sortowaniu przyrostków
- Indeksowanie łańcucha znaków
- Interfejs API i kod kliencki
- Implementacja
- Wydajność
- Usprawnione implementacje
- Algorytmy dla sieci przepływowych
- Model fizyczny
- Definicje
- Interfejsy API
- Algorytm Forda-Fulkersona
- Twierdzenie przepływu maksymalnego i przekroju minimalnego
- Sieć rezydualna
- Metoda najkrótszej ścieżki powiększającej
- Wydajność
- Inne implementacje
- Redukcja
- Redukcje w obszarze sortowania
- Redukcje do problemu wyznaczania najkrótszych ścieżek
- Redukcje do problemu wyznaczania przepływu maksymalnego
- Programowanie liniowe
- Nierozwiązywalność
- Podstawowe prace
- Czas wykonania rosnący wykładniczo
- Problemy przeszukiwania
- Wybrane problemy przeszukiwania
- Inne rodzaje problemów
- Łatwe problemy przeszukiwania
- Niedeterminizm
- Podstawowe pytanie
- Redukcje wielomianowe
- NP-zupełność
- Twierdzenie Cooka-Levina
- Klasyfikowanie problemów
- Wybrane znane problemy NP-zupełne
- Radzenie sobie z NP-zupełnością
- Ćwiczenia dotyczące symulowania zderzeń
- Ćwiczenia dotyczące drzew zbalansowanych
- Ćwiczenia dotyczące tablicy przyrostkowej
- Ćwiczenia dotyczące przepływu maksymalnego
- Ćwiczenia dotyczące redukcji i nierozwiązywalności
- Algorytmy
- Klienty
Helion - inne książki
-
Nowość Promocja
Ta książka stanowi twardy dowód, że matematyka jest elastyczna, kreatywna i radosna. Potraktuj ją jako fascynującą podróż przez świat matematyki abstrakcyjnej do teorii kategorii. Przekonaj się, że bez formalnej wiedzy w tej dziedzinie możesz rozwinąć umiejętność matematycznego myślenia. Abstrakcyjne idee matematyczne pomogą Ci inaczej spojrzeć na aktualne wydarzenia, kwestie sprawiedliwości społecznej i przywilejów społecznych czy nawet na COVID-19.- PDF + ePub + Mobi
- Druk 29 pkt
(27,90 zł najniższa cena z 30 dni)
29.49 zł
59.00 zł (-50%) -
Nowość Promocja
Dzięki tej przystępnej książce, przeznaczonej dla programistów i badaczy, zrozumiesz podstawy techniczne modeli LLM. Dowiesz się, do czego można je zastosować, i odkryjesz elegancję ich architektury. Nauczysz się praktycznego korzystania z frameworka LangChain, zaprojektowanego do tworzenia responsywnych aplikacji. Dowiesz się, jak dostrajać model, jak zadawać mu pytania, poznasz także sprawdzone metody wdrażania i monitorowania środowisk produkcyjnych, dzięki czemu łatwo zbudujesz narzędzia do pisania, zaawansowane roboty konwersacyjne czy nowatorskie pomoce dla programistów. Liczne praktyczne przykłady i fragmenty kodu ułatwią Ci nie tylko przyswojenie podstaw, ale także używanie modeli LLM w innowacyjny i odpowiedzialny sposób.- PDF + ePub + Mobi
- Druk 39 pkt
(37,89 zł najniższa cena z 30 dni)
39.50 zł
79.00 zł (-50%) -
Nowość Promocja
W tej niezwykle pragmatycznej książce, przeznaczonej dla dyrektorów technicznych, praktyków uczenia maszynowego, twórców aplikacji, analityków biznesowych, inżynierów i badaczy danych, znajdziesz skuteczne techniki używania sztucznej inteligencji. Zaznajomisz się z cyklem życia projektu opartego na generatywnej AI i jej zastosowaniami, a także metodami doboru i dostrajania modeli, generowania danych wspomaganego wyszukiwaniem, uczenia przez wzmacnianie na podstawie informacji zwrotnych od człowieka, kwantyzacji, optymalizacji i wdrażania modeli. Poznasz szczegóły różnych typów modeli, między innymi dużych językowych (LLM), multimodalnych generujących obrazy (Stable Diffusion) i odpowiadających na pytania wizualne (Flamingo/IDEFICS).- PDF + ePub + Mobi
- Druk 39 pkt
(37,89 zł najniższa cena z 30 dni)
39.50 zł
79.00 zł (-50%) -
Nowość Promocja
Na rynku książek poświęconych analizie biznesowej w sektorze IT dostępnych jest kilka pozycji. Zawierają one informacje na temat praktyk, narzędzi i podejścia stosowanego w tej dziedzinie. Dotychczas jednak brakowało kompendium, które byłoby praktycznym przewodnikiem zbierającym doświadczenia z różnych projektów, firm i od ekspertów podchodzących w odmienny sposób do analizy biznesowej.- PDF + ePub + Mobi
- Druk 44 pkt
(39,90 zł najniższa cena z 30 dni)
44.50 zł
89.00 zł (-50%) -
Nowość Promocja
Sztuczna inteligencja stale się rozwija. Właściwie codziennie słyszymy o jej rosnących możliwościach, nowych osiągnięciach i przyszłości, jaką nam przyniesie. Jednak w tej książce skupiamy się nie na przyszłości, a na teraźniejszości i praktycznym obliczu AI - na usługach, które świadczy już dziś. Większość najciekawszych zastosowań sztucznej inteligencji bazuje na ML (uczenie maszynowe, ang. machine learning), NLP (przetwarzanie języka naturalnego, ang. natural language processing) i architekturze RAG (ang. retrieval augmented generation) zwiększającej możliwości tzw. dużych modeli językowych (LLM, ang. large language model). Stanowią one podwaliny budowy systemów AI, bez których te systemy często wcale nie mogłyby powstać.- PDF + ePub + Mobi
- Druk 39 pkt
(37,89 zł najniższa cena z 30 dni)
39.50 zł
79.00 zł (-50%) -
Nowość Promocja
Pierwsza była wirtualizacja: oprogramowanie symuluje istnienie zasobów logicznych korzystających z zasobów fizycznych. Po niej przyszła konteneryzacja, polegająca na tworzeniu obrazów - kopii danych - zawierających wszystkie pliki potrzebne do uruchomienia danej aplikacji. Środowiska produkcyjne z obu korzystają równolegle, ale to konteneryzacja stała się swojego rodzaju rewolucją w sektorze IT. Pozwoliła bowiem na sprawniejsze wdrażanie mikroserwisów, a także na optymalizację kosztów działania wielu aplikacji.- PDF + ePub + Mobi
- Druk 19 pkt
(17,90 zł najniższa cena z 30 dni)
19.95 zł
39.90 zł (-50%) -
Nowość Promocja
FPGA pochodzi od angielskiego field-programmable gate array. Polski odpowiednik to: bezpośrednio programowalna macierz bramek. FPGA jest rodzajem programowalnego układu logicznego. Ma tę samą funkcjonalność co układ scalony, tyle że może być wielokrotnie programowany bez demontażu. Z tego powodu znajduje zastosowanie tam, gdzie wymagana jest możliwość zmiany działania, na przykład w satelitach kosmicznych. Budujesz, instalujesz w urządzeniu docelowym, a potem modyfikujesz układ w zależności od potrzeb. Brzmi praktycznie, prawda?- Druk 24 pkt
(22,90 zł najniższa cena z 30 dni)
24.95 zł
49.90 zł (-50%) -
Nowość Promocja
Ta książka ułatwi Ci zgłębienie koncepcji kryjących się za działaniem nowoczesnych baz danych. Dzięki niej zrozumiesz, w jaki sposób struktury dyskowe różnią się od tych w pamięci i jak działają algorytmy efektywnego utrzymywania struktur B drzewa na dysku. Poznasz implementacje pamięci masowej o strukturze dziennika. Znajdziesz tu również wyjaśnienie zasad organizacji węzłów w klaster baz danych i specyfiki środowisk rozproszonych. Dowiesz się, jak algorytmy rozproszone poprawiają wydajność i stabilność systemu i jak uzyskać ostateczną spójność danych. Ponadto w książce zaprezentowano koncepcje antyentropii i plotek, służące do zapewniania zbieżności i rozpowszechniania danych, a także mechanizm transakcji utrzymujący spójność logiczną bazy.- PDF + ePub + Mobi
- Druk 44 pkt
(39,90 zł najniższa cena z 30 dni)
44.50 zł
89.00 zł (-50%) -
Nowość Promocja
Trudno wyobrazić sobie dzisiejszy świat bez możliwości operowania na danych - tym samym bez arkuszy kalkulacyjnych, do których każdy z nas ma dostęp w swoich komputerach. Najpopularniejszy z nich, czyli Excel, jest masowo używany zarówno w firmach, jak i instytucjach publicznych, ale także w gospodarstwach domowych.- PDF + ePub + Mobi
- Druk 19 pkt
(17,90 zł najniższa cena z 30 dni)
19.95 zł
39.90 zł (-50%) -
Nowość Promocja
Wprowadzenie obserwowalności do systemów jest wyzwaniem technicznym i kulturowym. Dzięki tej praktycznej książce zrozumiesz wartość obserwowalnych systemów i nauczysz się praktykować programowanie sterowane obserwowalnością. Przekonasz się, że dzięki jej wdrożeniu zespoły mogą szybko i bez obaw dostarczać kod, identyfikować wartości odstające i nietypowe zachowania, a ponadto lepiej zrozumieją doświadczenia użytkownika. Znajdziesz tu szczegółowe wyjaśnienia, co jest potrzebne do uzyskania wysokiej obserwowalności, a także szereg wskazówek, jak ulepszyć istniejące rozwiązania i pomyślnie dokonać migracji ze starszych narzędzi, takich jak wskaźniki, monitorowanie i zarządzanie dziennikami. Dowiesz się również, jaki wpływ ma obserwowalność systemu na kulturę organizacji ― i odwrotnie.- PDF + ePub + Mobi
- Druk 34 pkt
(32,90 zł najniższa cena z 30 dni)
34.50 zł
69.00 zł (-50%)
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@ebookpoint.pl
Książka drukowana
Oceny i opinie klientów: Algorytmy. Wydanie IV Robert Sedgewick, Kevin Wayne (7) Weryfikacja opinii następuje na podstawie historii zamowień na koncie Użytkownika umiejszczającego opinię.
(4)
(2)
(0)
(1)
(0)
(0)
więcej opinii