Algorytmy. Wydanie IV Robert Sedgewick, Kevin Wayne

- Autorzy:
- Robert Sedgewick, Kevin Wayne
- 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 54 pkt
(39,90 zł najniższa cena z 30 dni)
54.45 zł
99.00 zł (-45%) -
Nowość Promocja
Dzięki tej książce nauczysz się tworzyć własne akcje i przepływy pracy wielokrotnego użytku, aby udostępniać bloki konstrukcyjne społeczności lub wewnątrz organizacji. Znajdziesz tu ponad trzydzieści receptur, które sprawią, że nabierzesz biegłości w tworzeniu i debugowaniu przepływów pracy GitHuba za pomocą Visual Studio Code, a także w korzystaniu z narzędzia GitHub Copilot. Zaprezentowane rozwiązania pomogą Ci zrozumieć, jak w praktyce zastosować techniki automatyzacji wdrażania kodu. Obejmują one tworzenie i testowanie oprogramowania i bezpieczne wdrażanie na platformach takich jak Azure, Amazon Web Services czy Google Cloud.- PDF + ePub + Mobi
- Druk 37 pkt
(32,90 zł najniższa cena z 30 dni)
37.95 zł
69.00 zł (-45%) -
Nowość Promocja
Dzięki tej książce nauczysz się rozwiązywania ambitnych problemów algorytmicznych i projektowania własnych algorytmów. Materiałem do ćwiczeń są tu przykłady zaczerpnięte z konkursów programistycznych o światowej renomie. Dowiesz się, jak klasyfikować problemy, czym się kierować podczas wybierania struktury danych i jak wybierać odpowiednie algorytmy. Sprawdzisz także, w jaki sposób dobór odpowiedniej struktury danych może wpłynąć na czas wykonywania algorytmów. Nauczysz się też używać takich metod jak rekurencja czy wyszukiwanie binarne. Próbując swoich sił w samodzielnej modyfikacji poszczególnych algorytmów, jeszcze lepiej je zrozumiesz i podniesiesz umiejętności programistyczne na wyższy poziom! To wydanie zostało rozszerzone o rozdziały poświęcone programowaniu dynamicznemu i algorytmom probabilistycznym. Znajdziesz w nim również nowe przykłady i bardziej rozbudowane wyjaśnienia trudniejszych zagadnień.- PDF + ePub + Mobi
- Druk 65 pkt
(39,90 zł najniższa cena z 30 dni)
65.45 zł
119.00 zł (-45%) -
Komisarz Sikora po zranieniu przez Cieślaka dochodzi do siebie. Michał Bielecki opiekuje się partnerem i jego synem. Wydział zabójstw nadal prowadzi śledztwo w sprawie napadów na emerytów. Zabójca kolejny raz atakuje.
- ePub + Mobi
- Audiobook MP3 52 pkt
-
Promocja
Komisarz Laura Wilk czuje się bezsilna wobec działań bezwzględnego zabójcy znanego jako Poltergeist. Niespodziewanie otrzymuje wsparcie od młodszego aspiranta Dominika Bielczyka specjalizującego się w ściganiu seryjnych morderców. Ich współpraca nie układa się jednak pomyślnie, a dzielący ich mur braku zaufania i głęboko skrywanych tajemnic z dnia na dzień staje się coraz grubszy. W międzyczasie zabójca uderza bezpośrednio w Laurę Wilk, co jeszcze bardziej komplikuje sytuację.- ePub + Mobi
- Audiobook MP3 30 pkt
(24,90 zł najniższa cena z 30 dni)
30.79 zł
39.99 zł (-23%) -
Promocja
W swej nowej książce Harari zachęca nas do zastanowienia się, w jaki sposób przepływ informacji stworzył nasz świat. I dlaczego obecnie mu zagraża. Przez ostatnie sto tysięcy lat my, homo sapiens, osiągnęliśmy ogromną moc. Ale pomimo wszystkich tych odkryć, wynalazków i podbojów dziś tkwimy w głębokim kryzysie, który zagraża istnieniu naszego gatunku. Świat stoi na skraju zapaści ekologicznej. Rosną napięcia polityczne. Mnoży się dezinformacja. Pędzimy w erę sztucznej inteligencji obcej sieci informacyjnej, która grozi nam unicestwieniem. Dlaczego chociaż tak wiele osiągnęliśmy, działamy aż tak destrukcyjnie?- ePub + Mobi
- Audiobook MP3 46 pkt
(34,90 zł najniższa cena z 30 dni)
46.71 zł
59.90 zł (-22%) -
Promocja
W życiu Seweryna i Burzy nie mogło wydarzyć się nic złego, nie kiedy wszystko wreszcie zaczęło im się układać. Zamieszkali razem, zaczęli budować patchworkową rodzinę i uczyć się wspólnej egzystencji. Spokój, który obydwoje odczuwali, zdawał się wieczny i niezachwiany. Nic nie zapowiadało nawałnicy, która miała na nich spaść. Sielankę w Żeromicach przerwało odkrycie ludzkich kości w dawnych umocnieniach z czasów wojny. Na stanowisku archeologicznym wszyscy byli przekonani, że to kolejny przypadek dawnych szczątków, jakich wiele w okolicy do czasu, aż zorientowano się, co znajduje się na fragmentach szkieletów. By rozwikłać tajemnicę odkrytego kodu i pochodzenia kości, zdecydowano się zwrócić do Zaorskiego. Kiedy Seweryn zdaje sobie sprawę, na co trafił, wie, że zarówno życie Burzy, jak i jego już nigdy nie będzie takie samo.- ePub + Mobi
- Audiobook MP3 32 pkt
(29,90 zł najniższa cena z 30 dni)
32.43 zł
49.90 zł (-35%) -
Promocja
Izrael utopił we krwi Strefę Gazy w odwecie za atak terrorystyczny Hamasu. Pod gruzami zginęło ponad 40 tysięcy ludzi. Dlaczego doszło do tej rzezi? Jaka jest geneza konfliktu między Izraelem a Palestyńczykami? Piotr Zychowicz zabiera czytelnika w niepoprawną politycznie podróż do źródeł syjonizmu. Pisze o pierwszych żydowskich osadnikach w Palestynie. O powstaniu Izraela i czystce etnicznej dokonanej na ludności arabskiej w 1948 roku. Wojna sześciodniowa, ekstremistyczni żydowscy osadnicy i palestyńscy zamachowcy samobójcy. Dwie intifady, mur apartheidu, zbrodnie okupacji. A w końcu obecna tragedia Strefy Gazy. Izrael na wojnie to wstrząsająca opowieść o jednym z najdłuższych i najbardziej krwawych konfliktów naszej epoki. Bez cenzury, upiększeń i mitów.- ePub + Mobi
- Audiobook MP3 38 pkt
(29,90 zł najniższa cena z 30 dni)
38.99 zł
49.99 zł (-22%) -
Niedaleka przyszłość. Załoga Międzynarodowej Stacji Kosmicznej obserwuje z orbity wybuch i przebieg - niesprowokowanej, jak się zdaje - totalnej wojny nuklearnej, która doprowadza do unicestwienia życia na Ziemi. Cudem ocalali astronauci muszą nie tylko odnaleźć się w nowej przerażającej rzeczywistości, ale też obmyślić sposób na wyjście ze śmiertelnej pułapki, w jaką z wolna zmienia się stacja krążąca nad martwą planetą.
- ePub + Mobi
- Audiobook MP3 49 pkt
-
Promocja
Lutosława Karabina stoi przed najtrudniejszym wyborem. Wplątana w skomplikowaną intrygę rosyjskiego wywiadu GRU, zostaje zmuszona do wykonania niebezpiecznego zadania likwidacji Joaquina Gutiérreza, przewodniczącego Komitetu Wojskowego NATO, który wkrótce przybędzie do Polski. Stawka jest ogromna, bo zakładnikami Rosjan są jej ukochane dzieci. Luta nie ma złudzeń co do konsekwencji odmowy.- ePub + Mobi
- Audiobook MP3 30 pkt
(22,90 zł najniższa cena z 30 dni)
30.79 zł
39.99 zł (-23%) -
Promocja
Od bitwy pod Corrinem i zwycięstwa ludzi nad myślącymi maszynami minęło nieco ponad osiemdziesiąt lat. Nowe Imperium już okrzepło, skupiwszy kilkanaście tysięcy światów, ale to nadal pełen fermentu okres. Wciąż żywa jest nienawiść do zaawansowanych technologii, którą wykorzystuje ruch butlerowców pod przewodnictwem Manforda Torondo, okaleczonego następcy Rayny Butler. W takiej niespokojnej atmosferze powstają i usiłują się umocnić najważniejsze szkoły: mentaci, Akademia Suka, mistrzowie miecza z Ginaza i zgromadzenie żeńskie. To ostatnie może wywrzeć znaczący wpływ na losy Imperium, ale od początku targane konfliktami wewnętrznymi musi walczyć o przetrwanie, zwłaszcza że szybko wychodzi na jaw, iż podwładne matki wielebnej Raquelli Berto-Anirul wykorzystują w swoim programie eugenicznym zakazane komputery...- ePub + Mobi 38 pkt
(28,90 zł najniższa cena z 30 dni)
38.99 zł
49.99 zł (-22%)
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 »
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
- Dane producenta
- » Dane producenta:
- 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
Helion SA
ul. Kościuszki 1C
41-100 Gliwice
e-mail: gpsr@helion.pl
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
Wielu programistów szuka prostego, bardziej intuicyjnego sposobu na tworzenie aplikacji. Przeszkadza im złożoność języków programowania, nieczytelność ich składni i stopień skomplikowania konfiguracji. W trakcie poszukiwań narzędzi zapewniających prostotę i dużą wydajność trafiają często na stworzony przez inżynierów Google język Go i... okazuje się, że spełnia on te oczekiwania, jest prosty jak Python i wydajny jak Java. Jeśli i Ty chcesz tworzyć aplikacje szybciej i efektywniej, nie tracić przy tym czasu na skomplikowane konfiguracje czy debugowanie, ta książka jest dla Ciebie.- PDF + ePub + Mobi
- Druk 37 pkt
(48,30 zł najniższa cena z 30 dni)
37.95 zł
69.00 zł (-45%) -
Bestseller Nowość Promocja
Potraktuj tę książkę jako świetnego towarzysza wycieczek. Zawarte w tym przewodniku barwne ilustracje i wyczerpujące, przejrzyście podane informacje sprawią, że inaczej spojrzysz na różne elementy konstrukcji technicznych. Zrozumiesz fascynujące szczegóły działania urządzeń stworzonych przez ludzi. Nauczysz się rozpoznawać cechy charakterystyczne sieci elektroenergetycznej, dróg, kolei, mostów, tuneli, dróg wodnych i innych rozwiązań technicznych. Przekonasz się, jak wielką przyjemność daje „wypatrywanie infrastruktury”, a odkrywanie przeznaczenia napotkanych urządzeń stanie się Twoim hobby!- PDF + ePub + Mobi
- Druk 32 pkt
(38,94 zł najniższa cena z 30 dni)
32.95 zł
59.90 zł (-45%) -
Nowość Promocja
Dzięki tej książce dobrze zrozumiesz działanie Gita. Wiedza jest w niej przekazywana w prosty i konsekwentny sposób, a zastosowane techniki wizualne, opowiadane historie i liczne praktyczne ćwiczenia pozwolą Ci na skuteczną naukę krok po kroku. Stopniowo będziesz się zapoznawać z kluczowymi informacjami i dogłębnie zrozumiesz znaczenie poszczególnych terminów i koncepcji. Książkę docenią zwłaszcza osoby używające Gita w projektach prywatnych lub zawodowych, na przykład studenci i uczestnicy kursów programowania, młodsi programiści, specjaliści przetwarzania danych i pisarze techniczni.- PDF + ePub + Mobi
- Druk 43 pkt
(39,90 zł najniższa cena z 30 dni)
43.45 zł
79.00 zł (-45%) -
Nowość Promocja
To interesujące, zwięzłe i wyjątkowo praktyczne wprowadzenie do programowania w języku JavaScript. Już podczas lektury pierwszych stron zaczniesz pisać własny kod, będziesz znajdować rozwiązania różnych wyzwań, a także tworzyć aplikacje internetowe i zabawne gry. Rozpoczniesz od poznania podstawowych koncepcji stosowanych w programowaniu, takich jak zmienne, tablice, obiekty, funkcje, konstrukcje warunkowe, pętle itd. Następnie nauczysz się łączyć skrypty JavaScript z kodem HTML i CSS, aby tworzyć interaktywne aplikacje internetowe. Ze swoich nowych umiejętności skorzystasz podczas pracy nad trzema większymi projektami: grą w stylu Pong, aplikacją generującą muzykę i platformą przeznaczoną do wizualizacji danych pobranych za pomocą API.- PDF + ePub + Mobi
- Druk 54 pkt
(39,90 zł najniższa cena z 30 dni)
54.45 zł
99.00 zł (-45%) -
Nowość Promocja
O sztucznej inteligencji jest ostatnio bardzo głośno, to nośny temat, nierzadko przedstawiany w tonie sensacyjnym. Czy AI nas zniewoli? Czy wymknie się spod kontroli? A może zabierze nam pracę i zmieni nasze życie w bezproduktywny koszmar? Rzeczywistość wygląda zgoła inaczej, niż zdają się sugerować clickbaitowe nagłówki w prasie i mediach społecznościowych. Sztuczna inteligencja jest obecna w naszym życiu od wielu lat, choć często nie zdajemy sobie z tego sprawy. Służy nam pomocą, gdy szukamy czegoś w sieci, kiedy chcemy coś przetłumaczyć, kupić, porównać albo dotrzeć z miejsca A do miejsca B. Odsiewa dla nas spam w poczcie internetowej i chroni nasze urządzenia elektroniczne przed cyberatakami. Oczywiście, ma swoje mroczne strony i tych także powinniśmy być świadomi.- PDF + ePub + Mobi
- Druk 32 pkt
(29,90 zł najniższa cena z 30 dni)
32.45 zł
59.00 zł (-45%) -
Nowość Promocja
Dzięki tej książce opanujesz podstawowe koncepcje związane z użyciem LLM. Poznasz unikatowe cechy i mocne strony kilku najważniejszych modeli (w tym GPT, Gemini, Falcon). Następnie dowiesz się, w jaki sposób LangChain, lekki framework Pythona, pozwala na projektowanie inteligentnych agentów do przetwarzania danych o nieuporządkowanej strukturze. Znajdziesz tu również informacje dotyczące dużych modeli podstawowych, które wykraczają poza obsługę języka i potrafią wykonywać różne zadania związane na przykład z grafiką i dźwiękiem. Na koniec zgłębisz zagadnienia dotyczące ryzyka związanego z LLM, a także poznasz techniki uniemożliwiania tym modelom potencjalnie szkodliwych działań w aplikacji.- PDF + ePub + Mobi
- Druk 48 pkt
(39,90 zł najniższa cena z 30 dni)
48.95 zł
89.00 zł (-45%) -
Nowość Promocja
Fusion to oprogramowanie firmy Autodesk, umożliwiające modelowanie 3D, CAD, CAM, CAE i PCB. Jego zastosowanie znacznie upraszcza i przyspiesza projektowanie, a także wytwarzanie nowych produktów. Dostępny w chmurze Autodesk Fusion oferuje rozmaite środowiska, takie jak Simulation, służące do obliczeń, analiz i symulacji, Render, przeznaczone do wizualizacji i renderingów, czy Animation, dzięki któremu można tworzyć filmy demonstrujące kolejność montażu elementów składowych urządzeń.- PDF + ePub + Mobi
- Druk 43 pkt
(39,90 zł najniższa cena z 30 dni)
43.45 zł
79.00 zł (-45%) -
Nowość Promocja
Aż 95 procent Wszechświata pozostaje niewidoczne i niezbadane. Brian Clegg zaprasza do odkrycia dwóch największych zagadek Kosmosu — ciemnej materii i ciemnej energii. W książce demaskuje te nieuchwytne koncepty, prowadząc czytelnika przez fascynującą historię odkryć, które zmieniły nasze rozumienie Wszechświata. Od teoretycznych początków aż po najnowsze badania, wyjaśnia, jak odkryto istnienie ciemnej materii i ciemnej energii, w jaki sposób te tajemnicze siły kształtują galaktyki i inne obiekty kosmiczne, a także jak wpływają na przyszłość Wszechświata. Jednocześnie stawia fundamentalne pytanie, czy uda się kiedyś w pełni je zrozumieć. Ciemna materia i ciemna energia to nie tylko fascynująca podróż przez naukę, ale również zaproszenie do jednej z największych przygód ludzkiego umysłu — zrozumienia tego, co ukryte i nieznane.- PDF + ePub + Mobi
- Druk 30 pkt
(27,90 zł najniższa cena z 30 dni)
30.20 zł
54.90 zł (-45%) -
Nowość Promocja
Rola administratora sieci komputerowej zaczyna się od jej skonfigurowania, jednak na tym absolutnie się nie kończy. Dalej musi on zadbać o to, by sieć działała poprawnie - jeśli cokolwiek pójdzie nie tak, administrator szybko dowie się o tym od użytkowników i zostanie poproszony, by równie szybko przywrócił ją do stanu poprzedniego. Drobnostka, jeśli problem okazuje się błahy i prosty do rozwiązania. Prawdziwe wyzwanie zaczyna się wtedy, kiedy naprawa usterki wymaga dogłębnej znajomości sieci, jej silnych i mocnych stron, a także metod radzenia sobie z awariami. Na szczęście powstała ta książka.- PDF + ePub + Mobi
- Druk 92 pkt
(39,90 zł najniższa cena z 30 dni)
92.95 zł
169.00 zł (-45%) -
Nowość Promocja
Ta fantastyczna książka, pełna zabawnej narracji i praktycznych przykładów, nauczy Cię myślenia architektonicznego. Została ona, podobnie jak inne pozycje z serii Rusz głową!, przygotowana na bazie odkryć nauk poznawczych i neurofizjologii. Właśnie dzięki temu zaangażujesz swój mózg, użyjesz wielu zmysłów i niepostrzeżenie zrozumiesz dwa prawa architektury oprogramowania i cztery opisujące ją wymiary. Mistrzowsko opanujesz cechy i style architektury, a także nauczysz się określać logiczne komponenty systemów. Efekt? Zdobędziesz świetną orientację w świecie architektury oprogramowania. A wszystkiego nauczysz się, rozwiązując łamigłówki, wykonując praktyczne ćwiczenia, tworząc architektury ? i wybuchając głośnym śmiechem!- Druk 70 pkt
(39,90 zł najniższa cena z 30 dni)
70.95 zł
129.00 zł (-45%)
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)(4)
(2)
(0)
(1)
(0)
(0)
więcej opinii