reklama - zainteresowany?

C++. Struktury danych i algorytmy - Helion

C++. Struktury danych i algorytmy
ebook
Autor: Wisnu Anggoro
Tytuł oryginału: C++ Data Structures and Algorithms
TÅ‚umaczenie: Maksymilian Gutowski
ISBN: 978-83-283-5186-8
stron: 303, Format: ebook
Data wydania: 2019-01-01
Księgarnia: Helion

Cena książki: 42,75 zł (poprzednio: 57,00 zł)
Oszczędzasz: 25% (-14,25 zł)

Dodaj do koszyka C++. Struktury danych i algorytmy

Tagi: C++ - Programowanie

C++ to dojrzaÅ‚y jÄ™zyk programowania o wielu różnych zastosowaniach. Inżynier oprogramowania, który chce w peÅ‚ni skorzystać z jego zalet, powinien pÅ‚ynnie posÅ‚ugiwać siÄ™ dostÄ™pnymi w tym jÄ™zyku strukturami danych i algorytmami. W ten sposób Å‚atwiej można rozwiÄ…zywać konkretne problemy. Zastosowanie odpowiedniej struktury danych oraz algorytmu jest również ważne z punktu widzenia wydajnoÅ›ci dziaÅ‚ania kodu, co bezpoÅ›rednio przekÅ‚ada siÄ™ na szybkość pracy aplikacji. Bez dogÅ‚Ä™bnego zrozumienia tych zagadnieÅ„ bardzo trudno nauczyć siÄ™ biegle programować w C++.

DziÄ™ki tej książce dowiesz siÄ™, na czym polega implementacja klasycznych struktur danych i algorytmów w C++. Znajdziesz tu również przystÄ™pne wprowadzenie do podstawowych konstrukcji jÄ™zykowych oraz do korzystania z zintegrowanego Å›rodowiska programistycznego (IDE). Ponadto dowiesz siÄ™, w jaki sposób przechowywać dane za pomocÄ… list wiÄ…zanych, tablic, stosów i kolejek, a także jak zaimplementować algorytmy sortowania, takie jak sortowanie szybkie i sortowanie przez kopcowanie, oraz algorytmy wyszukiwania, takie jak wyszukiwanie liniowe czy binarne. Kolejnym ważnym zagadnieniem ujÄ™tym w książce jest wysoka wydajność algorytmów operujÄ…cych na ciÄ…gach znakowych i strukturach mieszajÄ…cych, jak również analiza algorytmów siÅ‚owych, zachÅ‚annych i wielu innych.

Najciekawsze zagadnienia ujęte w książce:

  • podstawy C++, w tym kontrola przepÅ‚ywu kodu i abstrakcyjne typy danych
  • listy, listy wiÄ…zane, stosy i kolejki
  • algorytmy sortowania, w tym bÄ…belkowe, przez selekcjÄ™, wstawianie, scalanie
  • tworzenie hierarchicznej struktury drzewa
  • praktyczne aspekty implementacji algorytmów

C++. O jakości kodu decyduje algorytm i odpowiednia struktura danych!

Dodaj do koszyka C++. Struktury danych i algorytmy

Dodaj do koszyka C++. Struktury danych i algorytmy

Spis treści

C++. Struktury danych i algorytmy eBook -- spis treści

  • O autorze
  • O recenzencie
  • WstÄ™p
    • Dla kogo jest ta książka?
    • Zakres tematyczny książki
    • Jak korzystać z tej książki?
      • PrzykÅ‚ady kodu do pobrania
      • Kolorowe wersje rysunków
      • Konwencje
  • 1. Struktury danych i algorytmy w C++
    • Wymagania techniczne
    • Podstawy C++
      • Pierwszy kod w C++
      • Usprawnianie pracy nad kodem przy użyciu IDE
      • Definiowanie zmiennych przy użyciu podstawowych typów danych
      • Sterowanie przepÅ‚ywem kodu
        • Instrukcja warunkowa
        • PÄ™tle
      • Wykorzystanie zmiennych za poÅ›rednictwem zaawansowanych typów danych
    • Tworzenie abstrakcyjnych typów danych
      • Wykorzystanie klas C++ przy tworzeniu ADT zdefiniowanych przez użytkownika
      • PosÅ‚ugiwanie siÄ™ szablonami
        • Szablony funkcji
        • Szablony klas
        • Biblioteka standardowych szablonów
    • Analiza algorytmów
      • Analiza asymptotyczna
      • Najgorsze, Å›rednie i najlepsze przypadki
      • Notacja , O i
      • Metoda rekurencyjna
      • Analiza kosztu zamortyzowanego
    • Podsumowanie
    • Pytania
    • Dodatkowe materiaÅ‚y
  • 2. Przechowywanie danych w listach i listach wiÄ…zanych
    • Wymagania techniczne
    • Tablice
    • Tworzenie ADT listy
      • Zwracanie elementu z listy
      • Wstawianie elementu do listy
      • Wyszukiwanie indeksu wybranego elementu w liÅ›cie
      • Usuwanie elementu z listy
      • Implementacja listy
    • Wprowadzenie do wÄ™zÅ‚ów
    • Tworzenie ADT listy jednokierunkowej
      • Zwracanie elementu z listy wiÄ…zanej
      • Wstawianie elementu do listy wiÄ…zanej
      • Wyszukiwanie indeksu wybranego elementu w liÅ›cie wiÄ…zanej
      • Usuwanie elementu z listy wiÄ…zanej
      • Implementacja listy wiÄ…zanej
    • Tworzenie ADT listy dwukierunkowej
      • Refaktoryzacja typu danych Node
      • Refaktoryzacja kilku operacji LinkedList
        • Usuwanie elementu
        • Wstawianie elementu
      • Implementacja ADT listy dwukierunkowej
    • Wykorzystanie typów List i LinkedList przy użyciu STL
      • std::vector
      • std::list
    • Podsumowanie
    • Pytania
    • Dodatkowe materiaÅ‚y
  • 3. Tworzenie stosów i kolejek
    • Wymagania techniczne
    • Tworzenie ADT stosu
      • Pobieranie wartoÅ›ci elementu z ADT stosu
      • Umieszczanie elementów na ADT stosu
      • Usuwanie elementów z ADT stosu
      • Implementacja ADT stosu
        • Inny przykÅ‚ad implementacji ADT stosu
    • Tworzenie ADT kolejki jednokierunkowej
      • Pobieranie wartoÅ›ci elementu z ADT kolejki
      • Wstawianie elementu do ADT kolejki
      • Usuwanie elementu z ADT kolejki
      • Implementacja ADT kolejki
    • Tworzenie ADT kolejki dwukierunkowej
      • Pobieranie wartoÅ›ci elementu z ADT kolejki dwukierunkowej
      • Dodawanie elementu do ADT kolejki dwukierunkowej
      • Usuwanie elementu z ADT kolejki dwukierunkowej
      • Implementacja ADT kolejki dwukierunkowej
    • Podsumowanie
    • Pytania
    • Dodatkowe materiaÅ‚y
  • 4. PorzÄ…dkowanie elementów przy użyciu algorytmów sortowania
    • Wymagania techniczne
    • Sortowanie bÄ…belkowe
    • Sortowanie przez wybieranie
    • Sortowanie przez wstawianie
    • Sortowanie przez scalanie
    • Sortowanie szybkie
    • Sortowanie przez zliczanie
    • Sortowanie pozycyjne
    • Podsumowanie
    • Pytania
    • Dodatkowe materiaÅ‚y
  • 5. Wyszukiwanie elementów przy użyciu algorytmów wyszukiwania
    • Wymagania techniczne
    • Wyszukiwanie liniowe
      • Opracowanie algorytmu wyszukiwania liniowego
      • Implementacja algorytmu wyszukiwania liniowego
    • Wyszukiwanie binarne
      • Opracowanie algorytmu wyszukiwania binarnego
      • Implementacja algorytmu wyszukiwania binarnego
    • Wyszukiwanie ternarne
      • Opracowanie algorytmu wyszukiwania ternarnego
      • Zastosowanie algorytmu wyszukiwania ternarnego
    • Wyszukiwanie interpolacyjne
      • Opracowanie algorytmu wyszukiwania interpolacyjnego
      • Zastosowanie algorytmu wyszukiwania interpolacyjnego
    • Wyszukiwanie skokowe
      • Opracowanie algorytmu wyszukiwania skokowego
      • Zastosowanie algorytmu wyszukiwania skokowego
    • Wyszukiwanie wykÅ‚adnicze
      • Opracowanie algorytmu wyszukiwania wykÅ‚adniczego
      • WywoÅ‚anie funkcji ExponentialSearch()
    • Wyszukiwanie podlisty
      • Opracowanie algorytmu wyszukiwania podlisty
      • Wykorzystanie algorytmu wyszukiwania podlisty
    • Podsumowanie
    • Pytania
    • Dodatkowe materiaÅ‚y
  • 6
  • Używanie znakowego typu danych
    • Wymagania techniczne
    • CiÄ…g znakowy C++
      • Tworzenie ciÄ…gu znaków przy użyciu tablicy znaków
      • Dodatkowe funkcje std::string
    • Zabawa sÅ‚owami
      • Tworzenie anagramów
      • Wykrywanie palindromów
    • Tworzenie ciÄ…gu z cyfr binarnych
      • Konwertowanie liczb dziesiÄ™tnych na binarne
      • Konwertowanie ciÄ…gu binarnego na dziesiÄ™tny
    • CiÄ…g podsekwencji
      • Generowanie podsekwencji z ciÄ…gu
      • Sprawdzanie, czy ciÄ…g jest podsekwencjÄ… innego ciÄ…gu
    • Wyszukiwanie wzorca
    • Podsumowanie
    • Pytania
    • Dodatkowe materiaÅ‚y
  • 7. Tworzenie hierarchicznej struktury drzewa
    • Wymagania techniczne
    • Tworzenie ADT drzewa binarnego
    • Tworzenie ADT binarnego drzewa poszukiwaÅ„
      • Wstawianie nowego klucza do BST
      • Przechodzenie po BST po kolei
      • Sprawdzanie obecnoÅ›ci klucza w BST
      • Zwracanie minimalnych i maksymalnych wartoÅ›ci kluczy
      • Wyszukiwanie nastÄ™pnika klucza w BST
      • Wyszukiwanie poprzednika klucza w BST
      • Usuwanie wÄ™zÅ‚a wedÅ‚ug podanego klucza
      • Implementacja ADT BST
    • Tworzenie ADT zrównoważonego BST (AVL)
      • Rotacja wÄ™zÅ‚ów
      • Wstawianie nowego klucza
      • Usuwanie wskazanego klucza
      • Implementacja ADT AVL
    • Tworzenie ADT kopca binarnego
      • Sprawdzanie, czy kopiec jest pusty
      • Wstawianie nowego elementu do kopca
      • Pobieranie elementu o najwiÄ™kszej wartoÅ›ci
      • Usuwanie elementu o najwiÄ™kszej wartoÅ›ci
      • Implementacja stosu binarnego jako kolejki priorytetowej
    • Podsumowanie
    • Pytania
    • Dodatkowe materiaÅ‚y
  • 8. Zestawianie wartoÅ›ci z kluczem w tablicy mieszajÄ…cej
    • Wymagania techniczne
    • Wprowadzenie do tablic mieszajÄ…cych
      • Dużo danych w maÅ‚ych komórkach
      • Przechowywanie danych w tablicy mieszajÄ…cej
      • ObsÅ‚uga kolizji
    • Implementacja metody Å‚aÅ„cuchowej
      • Generowanie klucza mieszajÄ…cego
      • Opracowanie operacji Insert()
      • Opracowanie operacji Search()
      • Opracowanie operacji Remove()
      • Opracowanie operacji IsEmpty()
      • Zastosowanie ADT HashTable wykorzystujÄ…cego metodÄ™ Å‚aÅ„cuchowÄ…
    • Implementacja techniki adresowania otwartego
      • Opracowanie operacji Insert()
      • Opracowanie operacji Search()
      • Opracowanie operacji Remove()
      • Opracowanie operacji IsEmpty()
      • Opracowanie operacji PrintHashTable()
      • Wdrożenie ADT HashTable wykorzystujÄ…cego technikÄ™ szukania liniowego
    • Podsumowanie
    • Pytania
    • Dodatkowe materiaÅ‚y
  • 9. Implementacja algorytmów w praktyce
    • Wymagania techniczne
    • Algorytmy zachÅ‚anne
      • RozwiÄ…zanie problemu wydawania reszty
      • Zastosowanie kodowania Huffmana
    • Algorytmy dziel i zwyciężaj
      • RozwiÄ…zywanie problemów selekcyjnych
      • Mnożenie macierzy
    • Programowanie dynamiczne
      • CiÄ…g Fibonacciego
      • Programowanie dynamiczne i problem wydawania reszty
    • Algorytmy siÅ‚owe
      • Wyszukiwanie i sortowanie siÅ‚owe
      • Wady i zalety algorytmów siÅ‚owych
    • Algorytmy zrandomizowane
      • Klasyfikacja algorytmów zrandomizowanych
      • Generatory liczb losowych
      • Zastosowania algorytmów zrandomizowanych
    • Algorytmy z nawrotami
      • Meblowanie nowego mieszkania
      • KóÅ‚ko i krzyżyk
    • Podsumowanie
    • Pytania
    • Dodatkowe materiaÅ‚y

Dodaj do koszyka C++. Struktury danych i algorytmy

Code, Publish & WebDesing by CATALIST.com.pl



(c) 2005-2024 CATALIST agencja interaktywna, znaki firmowe należą do wydawnictwa Helion S.A.