Практические алгоритмы - Петр Станьчик | Электронная книга
Товар
- 1 раз купили
- 0 оценка
- 994 осталось
- 0 отзывов
Доставка
Характеристики
Описание
E-Book - Produkt w wersji cyfrowej
Tytuł : Algorytmika praktyczna
Autor: Piotr Stańczyk
Format pliku: pdf
Wydawnictwo: Wydawnictwo Naukowe PWN
Liczba stron: 312
Wyadnie: 1
Rok wydania: 2009
ISBN: 978-83-01-15821-7
język: polski
Opis:
Książka ta różni się od znanych na polskim rynku pozycji poświęconych algorytmice, dotyczy bowiem jej strony praktycznej. Taki sposób potraktowania tego działu informatyki wynika z coraz większego zainteresowania zarówno uczniów, jak i studentów udziałem w różnego rodzaju konkursach programistycznych.
Czytelnik znajdzie w niej przegląd implementacji podstawowych algorytmów i struktur danych, które można zastosować bezpośrednio bądź zaadaptować w prosty sposób przy rozwiązywaniu zadań konkursowych. Fundamentem książki jest biblioteczka algorytmiczna, która była tworzona i rozbudowywana podczas przygotowań zespołu Warsaw Predators z Uniwersytetu Warszawskiego do reprezentowania tej uczelni na międzynarodowych zawodach.
Na niepowtarzalny charakter książki składają się następujące elementy:
- prezentacja wszystkich ważniejszych z punktu widzenia konkursów działów algorytmiki,
- intuicyjne podejście do przedstawianych zagadnień algorytmicznych,
- zwięzła, efektywna implementacja omawianych algorytmów w języku C++,
- liczne przykładowe zadania konkursowe wraz ze wskazówkami stopniowo nakierowującymi na właściwe rozwiązanie zadania, a także z adresem strony internetowej, na której można znaleźć programy stanowiące rozwiązania tych zadań,
- tematyczne wykazy zadań z całego świata z możliwością testowania ich rozwiązań na stronach internetowych konkursów,
- odsyłacze do literatury umożliwiającej szczegółowe poznanie opisywanych zagadnień od strony teoretycznej,
- cenne rady dotyczące strategii uczestnictwa w konkursach.
Po pracę tę powinna sięgnąć każda osoba pragnąca doskonalić swoje umiejętności algorytmiczne i programistyczne.
Materiały dodatkowe dostępne na:
Spis treści:
Słowo wstępne9
Przedmowa11
1. Algorytmy grafowe15
1.1. Reprezentacja grafu 16
1.2. Przeszukiwanie grafu wszerz 20
1.3. Przeszukiwanie grafu w głąb 25
1.4. Silnie spójne składowe 31
1.5. Sortowanie topologiczne 38
1.6. Acykliczność 41
1.7. Mosty, punkty artykulacji i dwuspójnie składowe 44
1.8. Ścieżka i cykl Eulera 51
1.9. Minimalne drzewo rozpinające 57
1.10. Algorytm Dijkstry 60
1.11. Algorytm Bellmana-Forda 65
1.12. Maksymalny przepływ 67
1.12.1. Maksymalny przepły wyznaczany metodą Dinica 68
1.12.2. maksymalny przepływ dla krawędzi jednostkowych 72
1.12.3. Najtańszy maksymalny przepływ dla krawędzi jednostkowych 74
1.13. Maksymalne skojarzenie w grafie dwudzielnym 77
1.13.1. Dwudzielność grafu 78
1.13.2. Maksymalne skojarzenie w grafie dwudzielnym w czasie O (n(n+m)) 81
1.13.3. Maksymalne skojarzenie w grafie dwudzielnym w czasie O((n+m)n1/2) 83
1.13.4. Najdroższe skojarzenie w grafie dwudzielnym 86
2. Geometria obliczeniowa na płaszczyźnie91
2.1. Odległość punktu od prostej 95
2.2. Pole wielokąta 96
2.3. Przynależność punktu do figury 98
2.4. Punkty przecięcia 105
2.5. Trzy punkty - okrąg 114
2.6. Sortowanie kątowe 116
2.7. Otoczka wypukła 120
2.8. Para najbliższych punktów 123
3. Kombinatoryka128
3.1. Permutacje w kolejności antyleksykograficznej 128
3.2. Permutacje - minimalna liczba transpozycji 130
3.3. Permutacje - minimalna liczba transpozycji sąsiednich 132
3.4. Wszystkie podzbiory zbioru 135
3.5. Podzbiory k-elementowe w kolejności leksykograficznej 137
3.6. Podziały zbioru z użyciem minimalnej liczby zmian 138
3.7. Podziały liczby w kolejności antyleksykograficznej 140
4. Teoria liczb142
4.1. Współczynnik dwumianowy 142
4.2. Największy wspólny dzielnik 144
4.3. Odwrotność modularna 147
4.4. Kongruencje 149
4.5. Szybkie potęgowanie modularne 152
4.6. Sito Eratostenesa 154
4.7. Lista liczb pierwszych 155
4.8. Test pierwszości 157
4.9. Arytmetyka wielkich liczb 160
5. Struktury danych178
5.1. Struktura danych do reprezentacji zbiorów rozłącznych 178
5.2. Drzewa wyszukiwań binarnych 182
5.2.1. Drzewa maksimów 185
5.2.2. Drzewa licznikowe 187
5.2.3. Drzewa pozycyjne 189
5.2.4. Drzewa pokryciowe 192
5.3. Binarne drzewa statyczne dynamicznie alokowane 195
5.4. Wzbogacane drzewa binarne 200
6. Algorytmy tekstowe212
6.1. Algorytm KMP 212
6.2. Minimalny okres słowa 216
6.3. KMP dla wielu wzorców (algorytm Aho-Corasick) 217
6.4. Promienie palindromów w słowie 223
6.5. Drzewa sufiksowe 226
6.5.1. Liczba wystąpień wzorca w tekście 230
6.5.2. Liczba różnych podsłów słowa 232
6.5.3. Najdłuższe podsłowo występujące nrazy 233
6.6. Maksymalny leksykograficznie sufiks 234
6.7. Równoważność cykliczna 235
6.8. Minimalna leksykograficznie cykliczność słowa 237
7. Algebra liniowa240
7.1. Eliminacja Gaussa 240
7.1.1. Eliminacja Gaussa w Z2 241
7.1.2. Eliminacja Gaussa w Zp 244
7.2. Programowanie liniowe 248
8. Elementy strategii podczas zawodów253
8.1. Szacowanie oczekiwanej złożoności czasowej 253
8.2. Strategia pracy w drużynie 255
8.3. Szablon 258
8.4. Plik Makefile 259
8.5. Parametry kompilacji programów 259
8.5.1. Parametr - Weffc++ 260
8.5.2. Parametr - Wformat 262
8.5.3. Parametr - Wshadow 263
8.5.4. Parametr - Wsequence-point 264
8.5.5. Parametr - Wunused 267
8.5.6. Parametr - Wuninitialized 268
8.5.7. Parametr Wfloat-equal 269
8.6. Nieustanny time-limit 270
8.6.1. Eliminacja dzielenia 271
8.6.2. Wczytywanie danych wejściowych 271
8.6.3. Wstawki asemblerowe i kompilacja z optymalizacjami 273
8.6.4. Lepsze wykorzystanie pamięci podręcznej 274
8.6.5. Przetwarzanie wstępne 275
Wskazówki do zadań278
Dodatki292
A. Nagłówki stosowane w programach292
B. Nagłównki Eryka Kopczyńskiego na konkurs TopCoder295
C. Sposoby na sukces w zawodach299
D. Wykaz zadań na programowanie dynamiczne304
E. Wykaz zadań na programowanie zachłanne305
F. Wykaz przykładowych zadań306
Literatura307
Indeks309
----
Ważne informacje o produkcie:
E-BOOK - PRODUKT W WERSJI CYFROWEJ
Plik pobierzesz na swoim koncie Allegro w zakładce ‘’Moja półka’’.
Musisz posiadać konto w Allegro, aby dokonać zakupu e-booka.
E-booka przeczytasz na: czytniku (Kindle, PocketBook, Onyx, Kobo i inne), smartfonie, tablecie lub komputerze. Informacja o formacie e-book zamieszczona jest w opisie aukcji.
E-book zostanie zabezpieczony za pomocą znaku wodnego i nie posiada DRM
Гарантии
Гарантии
Мы работаем по договору оферты и предоставляем все необходимые документы.
Лёгкий возврат
Если товар не подошёл или не соответсвует описанию, мы поможем вернуть его.
Безопасная оплата
Банковской картой, электронными деньгами, наличными в офисе или на расчётный счёт.