Kategorie
Ebooki
-
Biznes i ekonomia
- Bitcoin
- Bizneswoman
- Coaching
- Controlling
- E-biznes
- Ekonomia
- Finanse
- Giełda i inwestycje
- Kompetencje osobiste
- Komputer w biurze
- Komunikacja i negocjacje
- Mała firma
- Marketing
- Motywacja
- Multimedialne szkolenia
- Nieruchomości
- Perswazja i NLP
- Podatki
- Polityka społeczna
- Poradniki
- Prezentacje
- Przywództwo
- Public Relation
- Raporty, analizy
- Sekret
- Social Media
- Sprzedaż
- Start-up
- Twoja kariera
- Zarządzanie
- Zarządzanie projektami
- Zasoby ludzkie (HR)
-
Dla dzieci
-
Dla młodzieży
-
Edukacja
-
Encyklopedie, słowniki
-
E-prasa
- Architektura i wnętrza
- Biznes i Ekonomia
- Dom i ogród
- E-Biznes
- Finanse
- Finanse osobiste
- Firma
- Fotografia
- Informatyka
- Kadry i płace
- Komputery, Excel
- Księgowość
- Kultura i literatura
- Naukowe i akademickie
- Ochrona środowiska
- Opiniotwórcze
- Oświata
- Podatki
- Podróże
- Psychologia
- Religia
- Rolnictwo
- Rynek książki i prasy
- Transport i Spedycja
- Zdrowie i uroda
-
Historia
-
Informatyka
- Aplikacje biurowe
- Bazy danych
- Bioinformatyka
- Biznes IT
- CAD/CAM
- Digital Lifestyle
- DTP
- Elektronika
- Fotografia cyfrowa
- Grafika komputerowa
- Gry
- Hacking
- Hardware
- IT w ekonomii
- Pakiety naukowe
- Podręczniki szkolne
- Podstawy komputera
- Programowanie
- Programowanie mobilne
- Serwery internetowe
- Sieci komputerowe
- Start-up
- Systemy operacyjne
- Sztuczna inteligencja
- Technologia dla dzieci
- Webmasterstwo
-
Inne
-
Języki obce
-
Kultura i sztuka
-
Lektury szkolne
-
Literatura
- Antologie
- Ballada
- Biografie i autobiografie
- Dla dorosłych
- Dramat
- Dzienniki, pamiętniki, listy
- Epos, epopeja
- Esej
- Fantastyka i science-fiction
- Felietony
- Fikcja
- Humor, satyra
- Inne
- Klasyczna
- Kryminał
- Literatura faktu
- Literatura piękna
- Mity i legendy
- Nobliści
- Nowele
- Obyczajowa
- Okultyzm i magia
- Opowiadania
- Pamiętniki
- Podróże
- Poemat
- Poezja
- Polityka
- Popularnonaukowa
- Powieść
- Powieść historyczna
- Proza
- Przygodowa
- Publicystyka
- Reportaż
- Romans i literatura obyczajowa
- Sensacja
- Thriller, Horror
- Wywiady i wspomnienia
-
Nauki przyrodnicze
-
Nauki społeczne
-
Podręczniki szkolne
-
Popularnonaukowe i akademickie
- Archeologia
- Bibliotekoznawstwo
- Filmoznawstwo
- Filologia
- Filologia polska
- Filozofia
- Finanse i bankowość
- Geografia
- Gospodarka
- Handel. Gospodarka światowa
- Historia i archeologia
- Historia sztuki i architektury
- Kulturoznawstwo
- Lingwistyka
- Literaturoznawstwo
- Logistyka
- Matematyka
- Medycyna
- Nauki humanistyczne
- Pedagogika
- Pomoce naukowe
- Popularnonaukowa
- Pozostałe
- Psychologia
- Socjologia
- Teatrologia
- Teologia
- Teorie i nauki ekonomiczne
- Transport i spedycja
- Wychowanie fizyczne
- Zarządzanie i marketing
-
Poradniki
-
Poradniki do gier
-
Poradniki zawodowe i specjalistyczne
-
Prawo
- BHP
- Historia
- Kodeks drogowy. Prawo jazdy
- Nauki prawne
- Ochrona zdrowia
- Ogólne, kompendium wiedzy
- Podręczniki akademickie
- Pozostałe
- Prawo budowlane i lokalowe
- Prawo cywilne
- Prawo finansowe
- Prawo gospodarcze
- Prawo gospodarcze i handlowe
- Prawo karne
- Prawo karne. Przestępstwa karne. Kryminologia
- Prawo międzynarodowe
- Prawo międzynarodowe i zagraniczne
- Prawo ochrony zdrowia
- Prawo oświatowe
- Prawo podatkowe
- Prawo pracy i ubezpieczeń społecznych
- Prawo publiczne, konstytucyjne i administracyjne
- Prawo rodzinne i opiekuńcze
- Prawo rolne
- Prawo socjalne, prawo pracy
- Prawo Unii Europejskiej
- Przemysł
- Rolne i ochrona środowiska
- Słowniki i encyklopedie
- Zamówienia publiczne
- Zarządzanie
-
Przewodniki i podróże
- Afryka
- Albumy
- Ameryka Południowa
- Ameryka Środkowa i Północna
- Australia, Nowa Zelandia, Oceania
- Austria
- Azja
- Bałkany
- Bliski Wschód
- Bułgaria
- Chiny
- Chorwacja
- Czechy
- Dania
- Egipt
- Estonia
- Europa
- Francja
- Góry
- Grecja
- Hiszpania
- Holandia
- Islandia
- Litwa
- Łotwa
- Mapy, Plany miast, Atlasy
- Miniprzewodniki
- Niemcy
- Norwegia
- Podróże aktywne
- Polska
- Portugalia
- Pozostałe
- Rosja
- Rumunia
- Słowacja
- Słowenia
- Szwajcaria
- Szwecja
- Świat
- Turcja
- Ukraina
- Węgry
- Wielka Brytania
- Włochy
-
Psychologia
- Filozofie życiowe
- Kompetencje psychospołeczne
- Komunikacja międzyludzka
- Mindfulness
- Ogólne
- Perswazja i NLP
- Psychologia akademicka
- Psychologia duszy i umysłu
- Psychologia pracy
- Relacje i związki
- Rodzicielstwo i psychologia dziecka
- Rozwiązywanie problemów
- Rozwój intelektualny
- Sekret
- Seksualność
- Uwodzenie
- Wygląd i wizerunek
- Życiowe filozofie
-
Religia
-
Sport, fitness, diety
-
Technika i mechanika
Audiobooki
-
Biznes i ekonomia
- Bitcoin
- Bizneswoman
- Coaching
- Controlling
- E-biznes
- Ekonomia
- Finanse
- Giełda i inwestycje
- Kompetencje osobiste
- Komunikacja i negocjacje
- Mała firma
- Marketing
- Motywacja
- Nieruchomości
- Perswazja i NLP
- Podatki
- Poradniki
- Prezentacje
- Przywództwo
- Public Relation
- Sekret
- Social Media
- Sprzedaż
- Start-up
- Twoja kariera
- Zarządzanie
- Zarządzanie projektami
- Zasoby ludzkie (HR)
-
Dla dzieci
-
Dla młodzieży
-
Edukacja
-
Encyklopedie, słowniki
-
Historia
-
Informatyka
-
Inne
-
Języki obce
-
Kultura i sztuka
-
Lektury szkolne
-
Literatura
- Antologie
- Ballada
- Biografie i autobiografie
- Dla dorosłych
- Dramat
- Dzienniki, pamiętniki, listy
- Epos, epopeja
- Esej
- Fantastyka i science-fiction
- Felietony
- Fikcja
- Humor, satyra
- Inne
- Klasyczna
- Kryminał
- Literatura faktu
- Literatura piękna
- Mity i legendy
- Nobliści
- Nowele
- Obyczajowa
- Okultyzm i magia
- Opowiadania
- Pamiętniki
- Podróże
- Poezja
- Polityka
- Popularnonaukowa
- Powieść
- Powieść historyczna
- Proza
- Przygodowa
- Publicystyka
- Reportaż
- Romans i literatura obyczajowa
- Sensacja
- Thriller, Horror
- Wywiady i wspomnienia
-
Nauki przyrodnicze
-
Nauki społeczne
-
Popularnonaukowe i akademickie
-
Poradniki
-
Poradniki zawodowe i specjalistyczne
-
Prawo
-
Przewodniki i podróże
-
Psychologia
- Filozofie życiowe
- Komunikacja międzyludzka
- Mindfulness
- Ogólne
- Perswazja i NLP
- Psychologia akademicka
- Psychologia duszy i umysłu
- Psychologia pracy
- Relacje i związki
- Rodzicielstwo i psychologia dziecka
- Rozwiązywanie problemów
- Rozwój intelektualny
- Sekret
- Seksualność
- Uwodzenie
- Wygląd i wizerunek
- Życiowe filozofie
-
Religia
-
Sport, fitness, diety
-
Technika i mechanika
Kursy video
-
Bazy danych
-
Big Data
-
Biznes, ekonomia i marketing
-
Cyberbezpieczeństwo
-
Data Science
-
DevOps
-
Dla dzieci
-
Elektronika
-
Grafika/Wideo/CAX
-
Gry
-
Microsoft Office
-
Narzędzia programistyczne
-
Programowanie
-
Rozwój osobisty
-
Sieci komputerowe
-
Systemy operacyjne
-
Testowanie oprogramowania
-
Urządzenia mobilne
-
UX/UI
-
Web development
-
Zarządzanie
Podcasty
- Ebooki
- Programowanie
- C++
- Algorytmy, struktury danych i techniki programowania. Wydanie VI
Szczegóły ebooka
Algorytmy i struktury danych - szybko, łatwo, skutecznie!
- Poznaj najważniejsze algorytmy i techniki programistyczne
- Naucz się skutecznie wykorzystywać typy i struktury danych
- Dowiedz się, jak w praktyce zastosować zdobytą wiedzę
Algorytmika to dziedzina, która w ciągu ostatnich kilkudziesięciu lat dostarczyła wielu efektywnych narzędzi wspomagających rozwiązywanie różnorodnych zagadnień za pomocą komputera. Dla niektórych stanowi swego rodzaju książkę kucharską, do której sięgają jedynie po wybrane przepisy, a dla innych - pole do rozwinięcia umiejętności skutecznego rozwiązywania problemów i szkołę niestandardowego myślenia. Niezależnie od podejścia jest to dziedzina, z którą wypada się zapoznać, jeśli ma się ambicję zostać zawodowym programistą lub po prostu być osobą nowoczesną i wszechstronnie wykształconą.
Ten przewodnik prezentuje szerokie spektrum zagadnień algorytmicznych, najważniejsze informacje na temat struktur danych, technik rekurencyjnych i złożonych metod algorytmicznych. Teoria jest tu poparta przykładowymi programami napisanymi w języku C++, łatwymi do analizy i skompilowania z wykorzystaniem standardowych narzędzi. Autor nie poprzestaje na suchym kodzie, lecz stara się przedstawić praktyczne zastosowanie opisywanych rozwiązań. Podręcznik przyda się zarówno osobom niemającym solidnych podstaw teoretycznych, jak i specjalistom, którzy zawodowo zajmują się programowaniem. Nowe wydanie zostało gruntownie odświeżone i poprawione, a listingi dostosowane do wymagań najnowszych kompilatorów. Książka zawiera opis zasad kompilacji dla środowiska Visual Studio 2017 i kilku wybranych środowisk używających GNU C++ (Dev-C++ i Cygwin).
- Historia algorytmiki
- Mechanizm rekurencji
- Systemy liczbowe i kodowanie
- Typy i struktury danych
- Analiza złożoności algorytmów
- Derekursywacja algorytmów
- Optymalizacja algorytmów
- Algorytmy sortowania i wyszukiwania
- Elementy algorytmiki grafów
- Sztuczna inteligencja
- Szyfrowanie i kompresja danych
- Biblioteka STL
Jedyny podręcznik do algorytmiki, którego będziesz potrzebować!
Przedmowa 9
- Uwagi do wydania VI 9
- Co odróżnia tę książkę od innych podręczników? 10
- Dlaczego C++? 11
- Jak należy czytać tę książkę? 11
- Co zostało opisane w tej książce? 12
- Programy przykładowe 14
- Konwencje typograficzne i oznaczenia 15
Rozdział 1. Zanim wystartujemy 17
- Czym powinien się charakteryzować algorytm? 18
- Jak to wcześniej bywało, czyli wyjątki z historii maszyn algorytmicznych 20
- - 1804 - 20
- - 1830 i później - 21
- - 1890 - 21
- - lata 30. XX w. - 21
- - lata 40. XX w. - 22
- - okres powojenny - 22
- - 1969 - 23
- - teraz - 23
- Jak to się niedawno odbyło, czyli o tym, kto "wymyślił" metodologię programowania 24
- Proces koncepcji programów 25
- Poziomy abstrakcji opisu i wybór języka 26
- Modelowanie działania algorytmów (maszyna Turinga) 28
- Poprawność algorytmów 29
- Zadania 31
- Rozwiązania i wskazówki do zadań 31
Rozdział 2. Rekurencja 33
- Definicja rekurencji 33
- Ilustracja pojęcia rekurencji 35
- Jak wykonują się programy rekurencyjne? 36
- Niebezpieczeństwa rekurencji 38
- Ciąg Fibonacciego 38
- Stack overflow! 40
- Pułapek ciąg dalszy 42
- Stąd do wieczności 43
- Definicja poprawna, ale... 43
- Typy programów rekurencyjnych 45
- Myślenie rekurencyjne 46
- Przykład 1. Spirala 47
- Przykład 2. Kwadraty "parzyste" 48
- Uwagi praktyczne na temat technik rekurencyjnych 50
- Zadania 51
- Rozwiązania i wskazówki do zadań 53
Rozdział 3. Systemy obliczeniowe i podstawy kodowania 59
- System dziesiętny i kilka definicji 60
- System dwójkowy 60
- Operacje arytmetyczne na liczbach dwójkowych 61
- Operacje logiczne na liczbach dwójkowych 62
- Kod BCD 64
- System ósemkowy 65
- System szesnastkowy 65
- Kodowanie liczb ze znakiem 65
- Kod znak-moduł (ZM) 66
- Kod U2 (system uzupełnienia dwójkowego) 66
- Zmienne w pamięci komputera 67
- Kodowanie znaków 68
- Kodowanie obrazów 70
- Mapy bitowe na przykładzie formatu BMP 71
Rozdział 4. Typy i struktury danych 75
- Typy podstawowe i złożone 76
- Tablice 77
- Ciągi znaków i napisy w C++ 78
- Typy złożone 80
- Struktury i wprowadzenie pojęcia referencji 80
- Klasy i programowanie obiektowe 83
- Abstrakcyjne struktury danych 83
- Listy jednokierunkowe 85
- Tablicowa implementacja list 106
- Stos 111
- Kolejki FIFO 116
- Sterty i kolejki priorytetowe 119
- Drzewa i ich reprezentacje 125
- Zbiory 138
- STL, czyli struktury danych dla leniuchów 140
- Klasyczne kontenery sekwencyjne 141
- Adaptery (nakładki na inne kontenery) 147
- Kontenery asocjacyjne 148
- Algorytmy w STL 151
- Dalsze materiały na temat STL 152
- Zadania 152
- Rozwiązania zadań 153
Rozdział 5. Analiza złożoności algorytmów 155
- Definicje i przykłady 156
- Jeszcze raz funkcja silnia 160
- Zerowanie fragmentu tablicy 163
- Wpadamy w pułapkę 165
- Różne typy złożoności obliczeniowej 166
- Nowe zadanie: uprościć obliczenia! 168
- Analiza programów rekurencyjnych 169
- Terminologia i definicje 169
- Ilustracja metody na przykładzie 170
- Rozkład logarytmiczny 171
- Przeszukiwanie binarne... tym razem bez matematyki wyższej! 173
- Zamiana dziedziny równania rekurencyjnego 174
- Funkcja Ackermanna, czyli coś dla smakoszy 174
- Złożoność obliczeniowa to nie religia! 176
- Techniki optymalizacji programów 176
- Zadania 177
- Rozwiązania i wskazówki do zadań 178
Rozdział 6. Derekursywacja i optymalizacja algorytmów 181
- Jak pracuje kompilator? 182
- Odrobina formalizmu nie zaszkodzi! 184
- Kilka przykładów derekursywacji algorytmów 185
- Derekursywacja z wykorzystaniem stosu 188
- Eliminacja zmiennych lokalnych 188
- Metoda funkcji przeciwnych 190
- Klasyczne schematy derekursywacji 192
- Schemat typu while 193
- Schemat typu if-else 194
- Schemat z podwójnym wywołaniem rekurencyjnym 196
- Podsumowanie 198
Rozdział 7. Algorytmy sortowania 199
- Sortowanie przez wstawianie, algorytm klasy O(N2) 200
- Sortowanie bąbelkowe, algorytm klasy O(N2) 201
- Sortowanie szybkie (Quicksort) - algorytm klasy O(N log N) 203
- Heapsort - sortowanie przez kopcowanie 206
- Scalanie zbiorów posortowanych 209
- Sortowanie przez scalanie, algorytm klasy O(N log N) 209
- Sortowanie zewnętrzne 211
- Uwagi praktyczne 214
Rozdział 8. Algorytmy przeszukiwania 217
- Przeszukiwanie liniowe 217
- Przeszukiwanie binarne 218
- Transformacja kluczowa (hashing) 220
- W poszukiwaniu funkcji H 221
- Najbardziej znane funkcje H 222
- Obsługa konfliktów dostępu 224
- Powrót do źródeł 225
- Jeszcze raz tablice! 226
- Próbkowanie liniowe 226
- Podwójne kluczowanie 228
- Zastosowania transformacji kluczowej 229
- Podsumowanie metod transformacji kluczowej 230
Rozdział 9. Przeszukiwanie tekstów 233
- Algorytm typu brute force 233
- Nowe algorytmy poszukiwań 235
- Algorytm KMP 236
- Algorytm Boyera-Moore'a 240
- Algorytm Rabina-Karpa 242
Rozdział 10. Zaawansowane techniki programowania 245
- Programowanie typu "dziel i zwyciężaj" 246
- Odszukiwanie minimum i maksimum w tablicy liczb 247
- Mnożenie macierzy o rozmiarze N(N 249
- Mnożenie liczb całkowitych 252
- Inne znane algorytmy "dziel i zwyciężaj" 253
- Algorytmy "żarłoczne", czyli przekąsić coś nadszedł już czas... 253
- Problem plecakowy, czyli niełatwe jest życie turysty piechura 254
- Wydawanie reszty, czyli "A nie ma pan drobnych?" w praktyce 257
- Programowanie dynamiczne 258
- Ciąg Fibonacciego 259
- Równania z wieloma zmiennymi 260
- Najdłuższa wspólna podsekwencja 261
- Inne techniki programowania 264
- Uwagi bibliograficzne 266
Rozdział 11. Elementy algorytmiki grafów 269
- Definicje i pojęcia podstawowe 270
- Etykiety i wartości 271
- Cykle w grafach 273
- Sposoby reprezentacji grafów 276
- Reprezentacja tablicowa 276
- Słowniki węzłów 278
- Listy kontra zbiory 279
- Podstawowe operacje na grafach 279
- Suma grafów 279
- Kompozycja grafów 280
- Graf do potęgi 280
- Algorytm Roya-Warshalla 281
- Algorytm Floyda-Warshalla 284
- Algorytm Dijkstry 287
- Algorytm Bellmana-Forda 289
- Drzewo rozpinające minimalne 289
- Algorytm Kruskala 290
- Algorytm Prima 291
- Przeszukiwanie grafów 291
- Strategia "w głąb" (przeszukiwanie zstępujące) 292
- Strategia "wszerz" 294
- Inne strategie przeszukiwania 295
- Problem właściwego doboru 296
- Podsumowanie 300
- Zadania 300
Rozdział 12. Algorytmy numeryczne 301
- Poszukiwanie miejsc zerowych funkcji 301
- Iteracyjne obliczanie wartości funkcji 303
- Interpolacja funkcji metodą Lagrange'a 304
- Różniczkowanie funkcji 305
- Całkowanie funkcji metodą Simpsona 307
- Rozwiązywanie układów równań liniowych metodą Gaussa 308
- Biblioteka GSL (GNU Scientific Library) 311
- Uwagi końcowe 311
Rozdział 13. Czy komputery mogą myśleć? 313
- Przegląd obszarów zainteresowań sztucznej inteligencji (SI) 314
- Systemy eksperckie 315
- Sieci neuronowe 317
- Reprezentacja problemów 318
- Gry dwuosobowe i drzewa gier 320
- Algorytm min-max 321
Rozdział 14. Kodowanie i kompresja danych 327
- Kodowanie danych i arytmetyka dużych liczb 329
- Metody prymitywne 329
- Kodowanie symetryczne 331
- Kodowanie asymetryczne 332
- Łamanie kodów 338
- Jakość klucza szyfrującego 338
- Metody łamania szyfrów 339
- Techniki kompresji danych 340
- Kompresja za pomocą modelowania matematycznego 341
- Kompresja metodą RLE 342
- Kompresja danych metodą Huffmana 343
- Kodowanie LZW 348
Rozdział 15. Zadania różne 355
- Teksty zadań 355
- Rozwiązania 357
Dodatek A. Poznaj C++ w pięć minut! 361
- Elementy języka C++ na przykładach 361
- Pierwszy program 361
- Dyrektywa #include 362
- Kod warunkowy w C++ 362
- Operacje arytmetyczne i zmienne 363
- Operacje logiczne 363
- Wskaźniki i zmienne dynamiczne 364
- Referencje 365
- Typy proste i typy złożone 365
- Podprogramy 367
- Procedury 367
- Funkcje 367
- Instrukcja wyboru (switch) 368
- Iteracje 369
- Struktury rekurencyjne 369
- Parametry programu main() 370
- Operacje na plikach w C++ 370
- Programowanie obiektowe w C++ 371
- Terminologia 372
- Obiekty na przykładzie 373
- Składowe statyczne klas 376
- Metody stałe klas 376
- Dziedziczenie własności 376
Dodatek B. Kompilowanie programów przykładowych 381
- Zawartość archiwum ZIP na FTP-ie 381
- Darmowe kompilatory C++ 382
- GCC (GNU Compiler Collection) 382
- Microsoft Visual Studio Community 384
- macOS 386
- Dev-C++ (Orwell) 386
- Kompilacja i uruchamianie programów w C++ 387
- GCC 387
- Microsoft Visual Studio 388
- Dev-C++ 395
- Cygwin 395
Literatura 397
Spis ilustracji 399
Spis tabel 404
Skorowidz 406
- Tytuł: Algorytmy, struktury danych i techniki programowania. Wydanie VI
- Autor: Piotr Wróblewski
- ISBN: 978-83-283-5618-4, 9788328356184
- Data wydania: 2019-01-08
- Format: Ebook
- Identyfikator pozycji: algor6
- Wydawca: Helion