Algorytmika praktyczna - Helion

ISBN: 9788301158217
stron: 312, Format: ebook
Data wydania: 2020-07-30
Ksi臋garnia: Helion
Cena ksi膮偶ki: 47,20 z艂 (poprzednio: 58,27 z艂)
Oszcz臋dzasz: 19% (-11,07 z艂)
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: it.pwn.pl
Osoby kt贸re kupowa艂y "Algorytmika praktyczna", wybiera艂y tak偶e:
- Python na maturze. Kurs video. Algorytmy i podstawy j 139,00 z艂, (55,60 z艂 -60%)
- 40 algorytm贸w, kt贸re powinien zna膰 ka偶dy programista. Nauka implementacji algorytm贸w w Pythonie 77,00 z艂, (38,50 z艂 -50%)
- Algorytmy dla bystrzak贸w 58,98 z艂, (29,49 z艂 -50%)
- Algorytmy Data Science. Siedmiodniowy przewodnik. Wydanie II 49,00 z艂, (24,50 z艂 -50%)
- Struktury danych i algorytmy w j臋zyku C#. Projektowanie efektywnych aplikacji 69,00 z艂, (34,50 z艂 -50%)
Spis tre艣ci
Algorytmika praktyczna eBook -- spis tre艣ci
S艂owo wst臋pne 9 Przedmowa 11 1. Algorytmy grafowe 15 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藕nie 91 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. Kombinatoryka 128 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 liczb 142 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 danych 178 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 tekstowe 212 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 n razy 233 6.6. Maksymalny leksykograficznie sufiks 234 6.7. R贸wnowa偶no艣膰 cykliczna 235 6.8. Minimalna leksykograficznie cykliczno艣膰 s艂owa 237 7. Algebra liniowa 240 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贸w 253 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 Dodatki 292 A. Nag艂贸wki stosowane w programach 292 B. Nag艂贸wnki Eryka Kopczy艅skiego na konkurs TopCoder 295 C. Sposoby na sukces w zawodach 299 D. Wykaz zada艅 na programowanie dynamiczne 304 E. Wykaz zada艅 na programowanie zach艂anne 305 F. Wykaz przyk艂adowych zada艅 306 Literatura 307 Indeks