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
(49,50 zł najniższa cena z 30 dni)
54.45 zł
99.00 zł (-45%) -
Promocja
Świat jaki znamy kończy się na naszych oczach. Europa chyli się ku upadkowi zalewana falą ekoterroryzmu , unijnych dyrektyw i imigrantów. Każdy dzień przenosi nowe rewelacje , po których nie wiadomo czy się śmiać czy płakać. "Podpis jest po to by sie go wypierać " jak pisał Jacek Kaczmarski; "Każdy sobie pan w naszej Rzeczypospolitej, kto jeno ma szablę w garści i lada jaką partię zebrać potrafi" jak mówił Kmicic. A chaos sięgnał jeszcze dalej.- ePub + Mobi
- Audiobook MP3 35 pkt
(34,60 zł najniższa cena z 30 dni)
35.89 zł
44.93 zł (-20%) -
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
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 26 pkt
(39,67 zł najniższa cena z 30 dni)
26.45 zł
52.90 zł (-50%) -
Bestseller 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
(29,90 zł najniższa cena z 30 dni)
46.71 zł
59.90 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
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 39 pkt
(29,94 zł najniższa cena z 30 dni)
39.92 zł
49.90 zł (-20%) -
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
(32,90 zł najniższa cena z 30 dni)
38.99 zł
49.99 zł (-22%) -
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%) -
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
(24,90 zł najniższa cena z 30 dni)
30.79 zł
39.99 zł (-23%) -
Promocja
Kiedy został baronem narkotykowym, zaczął wspierać futbol: budował boiska dla biedoty, finansował Atletico Nacional, dzięki czemu kolumbijski zespół sięgnął po upragniony triumf w Copa Libertadores. Ale piłkarska działalność Escobara miała też mroczną stronę: korumpowanie drużyn przeciwnych, zastraszanie sędziów, a nawet zabijanie arbitrów, gdy nie robili tego, czego oczekiwał El Patrón.- ePub + Mobi 35 pkt
(23,90 zł najniższa cena z 30 dni)
35.99 zł
47.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
- 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
Na podstawie tej praktycznej książki nauczysz się pisać skuteczne prompty dla dużych modeli językowych. Dowiesz się, w jaki sposób mogą posłużyć do generowania opisów produktów, spersonalizowanych wiadomości e-mail, postów w mediach społecznościowych, a nawet tekstów beletrystycznych i poetyckich. Poznasz także zaawansowane techniki użycia, takie jak integracja dużych modeli językowych z innymi narzędziami i tworzenie chatbotów. Wszystkie opisane tu techniki przetestujesz, eksperymentując i optymalizując swoje rozwiązania. W efekcie zdobędziesz umiejętności, które pozwolą Ci wykonywać codzienne zadania szybciej i lepiej!- PDF + ePub + Mobi
- Druk 41 pkt
(37,45 zł najniższa cena z 30 dni)
41.20 zł
74.90 zł (-45%) -
Nowość Promocja
Język DAX (ang. Data Analysis Expressions) został stworzony przez firmę Microsoft, by umożliwić wykonywanie efektywnych obliczeń na danych przechowywanych w wielu tabelach i przetwarzanych w Power BI, Excel Power Pivot czy SQL Server Analysis Services. Możliwości DAX-a są naprawdę ogromne, osoba, która go opanuje, zyska potężnego sprzymierzeńca w pracy z wielkimi zbiorami danych ukrytymi pod wyświetlanymi w raportach wykresami czy tabelami.- PDF + ePub + Mobi
- Druk 21 pkt
(19,95 zł najniższa cena z 30 dni)
21.95 zł
39.90 zł (-45%) -
Nowość Promocja
Dzięki tej książce dowiesz się, jak korzystać z możliwości platformy GitHub w trakcie transformacji przepływu pracy DevOps. Rozpoczniesz od podstaw technologii Git i od zrozumienia podejścia DevOps, zapoznasz się również z kwestią wrażeń odbieranych przez programistę. W kolejnych rozdziałach znajdziesz informacje o udostępnionych na platformie GitHub funkcjach automatyzacji i współpracy. Nauczysz się też używać funkcjonalności GitHub Copilot do zwiększenia produktywności. Ponadto dowiesz się, jak wyeliminować lukę DevOps, zachować jakość kodu i zaimplementować niezawodne środki bezpieczeństwa. Liczne ćwiczenia pomogą Ci w praktycznym poprawianiu wrażeń programisty, optymalizacji pracy zespołowej i wspieraniu innowacyjności. Szybko się przekonasz, jaki potencjał drzemie w podejściu DevOps!- PDF + ePub + Mobi
- Druk 37 pkt
(34,50 zł najniższa cena z 30 dni)
37.95 zł
69.00 zł (-45%) -
Nowość Promocja
Nawet jeśli nie darzysz królowej nauk płomiennym uczuciem, dzięki temu kompleksowemu opracowaniu z łatwością poradzisz sobie z jej lepszym poznaniem. Nie znajdziesz tu skomplikowanych teorii naukowych, tylko przystępnie podane koncepcje matematyczne niezbędne do rozwoju w dziedzinie sztucznej inteligencji, w szczególności do praktycznego stosowania najnowocześniejszych modeli. Poznasz takie zagadnienia jak regresja, sieci neuronowe, sieci konwolucyjne, optymalizacja, prawdopodobieństwo, procesy Markowa, równania różniczkowe i wiele innych w ekskluzywnym kontekście sztucznej inteligencji. Książkę docenią pasjonaci nowych technologii, twórcy aplikacji, inżynierowie i analitycy danych, a także matematycy i naukowcy.- PDF + ePub + Mobi
- Druk 70 pkt
(64,50 zł najniższa cena z 30 dni)
70.95 zł
129.00 zł (-45%) -
Nowość Promocja
Pomyśl o hakowaniu jako o metodzie wykorzystania luk w regułach systemu. Zauważ, jak bezlitośnie hakowane są praktycznie wszystkie systemy, na których opiera się funkcjonowanie społeczeństwa. Spójrz na prawo jak na skomplikowany system zawierający podatności, dzięki którym można unikać na przykład opodatkowania. W wyszukiwaniu luk specjalizują się hakerzy, w tym wypadku księgowi, doradcy podatkowi i prawnicy. Jeśli pójdziesz tym tropem, przekonasz się, że we wszystkich ważnych systemach pozostawia się luki, które służą wtajemniczonym do naginania reguł i czerpania korzyści kosztem innych.- PDF + ePub + Mobi
- Druk 30 pkt
(27,45 zł najniższa cena z 30 dni)
30.20 zł
54.90 zł (-45%) -
Nowość Promocja
Mimo zainteresowania danymi i ich analizą zbyt wiele projektów z obszaru data science kończy się fiaskiem. Firmy zatrudniają analityków danych, kupują drogie narzędzia, traktują analizę danych jak magię. Niestety, bez dogłębnego zrozumienia sposobu i celu przetwarzania danych nie masz co liczyć na sukces. Jeśli chcesz podjąć się tego wyzwania, Twoim najlepszym sojusznikiem okaże się… Excel, który świetnie się nadaje do wyjaśniania najważniejszych zagadnień nauki o danych.- PDF + ePub + Mobi
- Druk 54 pkt
(49,50 zł najniższa cena z 30 dni)
54.45 zł
99.00 zł (-45%) -
Nowość Promocja
Książka powstała z myślą o studentach informatyki i o każdym, kto przygotowuje się do pracy w zawodzie związanym z programowaniem i administrowaniem sieciami. A także z innymi obszarami, w których wiedza i umiejętności z zakresu informatyki są kluczowe, ale w których niebagatelne znaczenie ma również znajomość podstaw elektroniki. Ponieważ problemy elektryki, a także elektroniki analogowej i cyfrowej nie zawsze są proste do zrozumienia, nawet na bazowym poziomie, autor postanowił zaprezentować je w możliwie najprzystępniejszy sposób.- PDF + ePub + Mobi
- Druk 48 pkt
(44,50 zł najniższa cena z 30 dni)
48.95 zł
89.00 zł (-45%) -
Nowość Promocja
Wirtualizacja umożliwia równoczesne uruchomienie różnych systemów operacyjnych na jednym sprzęcie. Dzięki temu można lepiej wykorzystać dostępną moc obliczeniową i zasoby. Oczywiście, by móc czerpać z dobrodziejstw wirtualizacji, potrzeba odpowiednich narzędzi. Jednym z najpopularniejszych programów wspierających wirtualizację jest VirtualBox. Aby łatwiej zarządzać wirtualnymi maszynami, skuteczniej monitorować ich wydajność, sprawnie je konserwować, warto nauczyć się używać właśnie tego narzędzia. Najszybciej zrobisz to z naszym poradnikiem.- PDF + ePub + Mobi
- Druk 30 pkt
(27,45 zł najniższa cena z 30 dni)
30.20 zł
54.90 zł (-45%) -
Nowość Promocja
Ta książka jest kolejnym, starannie zaktualizowanym wydaniem cenionego i lubianego poradnika, dzięki któremu Twoja praca w języku C# stanie się przyjemna i wydajna. Znajdziesz tu liczne przykłady prezentujące nowe elementy .NET 8: aliasy typów i konstruktory podstawowe, zapewniające spójny i czytelny kod. Nauczysz się stosować klauzule ochronne i uproszczoną implementację pamięci podręcznej w ASP.NET Core 8. Poznasz też nową metodę kompilacji AOT, dzięki której publikowane serwisy zajmują mniej pamięci i szybciej się uruchamiają. Na zakończenie zaznajomisz się również z technologią Blazor Full Stack, będącą nowym, zunifikowanym modelem elastycznego projektowania aplikacji sieciowych.- PDF + ePub + Mobi
- Druk 98 pkt
(89,50 zł najniższa cena z 30 dni)
98.45 zł
179.00 zł (-45%) -
Nowość Promocja
Nazwa Excel z pewnością jest Ci znana. Może nawet potrafisz podać jego „roboczą” definicję: najpopularniejszy arkusz kalkulacyjny świata. Zgadza się. Tylko co to właściwie oznacza i do czego w praktyce służy? W jaki sposób może Ci się przydać w codziennym życiu i podczas wykonywania zadań zawodowych? Tego dowiesz się z tej książki, przygotowanej w formie przystępnego kursu.- PDF + ePub + Mobi
- Druk 37 pkt
(34,50 zł najniższa cena z 30 dni)
37.95 zł
69.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)
Weryfikacja opinii następuje na podstawie historii zamowień na koncie Użytkownika umiejszczającego opinię.
Użytkownik mógł otrzymać punkty za opublikowanie opinii uprawniające do uzyskania rabatu w ramach Programu Punktowego.
(4)
(2)
(0)
(1)
(0)
(0)
więcej opinii