Struktury danych i algorytmy w języku C#. Projektowanie efektywnych aplikacji - ebook
Struktury danych i algorytmy w języku C#. Projektowanie efektywnych aplikacji - ebook
C# jest nowoczesnym i elastycznym językiem programowania. Aby w pełni skorzystać z jego zalet, trzeba płynnie posługiwać się dostępnymi w nim strukturami danych i algorytmami, pozwalają one bowiem na efektywnie organizowanie danych i mają znaczący wpływ na wydajność aplikacji. Z punktu widzenia programisty kluczowe jest ich właściwe zaimplementowanie: wybór właściwej struktury danych i związanego z nią algorytmu stanowi o jakości tworzonego kodu. Na przykład w celu wykonywania wysokowydajnych operacji na zbiorach warto użyć zbioru haszowanego. Inne konstrukcje umożliwiają rozwiązywanie kolejnych problemów.
Dzięki tej książce nauczysz się używania struktur danych i implementacji najważniejszych algorytmów w języku C#. Najpierw zapoznasz się z najprostszymi strukturami danych o swobodnym dostępie - z tablicami oraz listami. Wyjaśniono tu również działanie struktur danych o dostępie sekwencyjnym, opartych na stosach i kolejkach. Przedstawiono zastosowanie słowników, dzięki którym można mapować klucze na wartości i prowadzić szybkie wyszukiwanie. Przystępnie opisano korzystanie z najbardziej zaawansowanych konstrukcji, takich jak drzewo binarne, binarne drzewo poszukiwań, drzewo samorównoważące się i kopiec. W końcowej części książki znajdziesz ciekawą analizę stosowania grafów i związanych z nimi algorytmów, takich jak przeszukiwanie grafu, minimalne drzewo rozpinające, kolorowanie węzłów oraz znajdowanie najkrótszej ścieżki.
Najciekawsze zagadnienia ujęte w książce:
- różne typy danych w C#: wartościowe i referencyjne
- tablice i listy oraz algorytmy sortowania
- operacje na zbiorach oraz wbudowany typ HashSet
- struktury drzewiaste i kopce: binarne, dwumianowe oraz Fibonacciego
- algorytmy oparte na grafach, w tym algorytm Dijkstry
C#. Liczy się algorytm i odpowiednia struktura danych!
Spis treści
- O autorze
- O recenzencie
- Wstęp
- Dla kogo jest ta książka?
- Co obejmuje ta książka?
- Co jest potrzebne, by jak najlepiej skorzystać z tej książki?
- Przykłady kodu do pobrania
- Kolorowe wersje rysunków do pobrania
- Stosowane konwencje
- Rozdział 1. Wprowadzenie
- Język programowania
- Typy danych
- Typy wartościowe
- Struktury
- Wyliczenia
- Typy referencyjne
- Ciągi
- Klasa Object
- Typ dynamic
- Klasy
- Interfejsy
- Delegaty
- Typy wartościowe
- Instalacja i konfiguracja środowiska IDE
- Tworzenie projektu
- Wejście i wyjście
- Odczytywanie z wejścia
- Zapisywanie do wyjścia
- Uruchamianie i debugowanie
- Podsumowanie
- Rozdział 2. Tablice i listy
- Tablice
- Tablice jednowymiarowe
- Przykład nazwy miesięcy
- Tablice wielowymiarowe
- Przykład tabliczka mnożenia
- Przykład mapa gry
- Tablice nieregularne
- Przykład roczny plan transportu
- Tablice jednowymiarowe
- Algorytmy sortowania
- Sortowanie przez wybieranie
- Sortowanie przez wstawianie
- Sortowanie bąbelkowe
- Sortowanie szybkie
- Proste listy
- Lista tablicowa
- Lista generyczna
- Przykład średnia wartość
- Przykład lista osób
- Listy uporządkowane
- Przykład książka adresowa
- Listy wiązane
- Przykład czytnik książki
- Listy cykliczne
- Implementacja
- Przykład zakręć kołem
- Podsumowanie
- Tablice
- Rozdział 3. Stosy i kolejki
- Stosy
- Przykład odwracanie wyrazów
- Przykład Wieże Hanoi
- Kolejki
- Przykład telefoniczne biuro obsługi klienta z jednym konsultantem
- Przykład telefoniczne biuro obsługi klienta z wieloma konsultantami
- Kolejki priorytetowe
- Przykład biuro telefonicznej obsługi klienta ze wsparciem priorytetowym
- Podsumowanie
- Stosy
- Rozdział 4. Słowniki i zbiory
- Tablice z haszowaniem
- Przykład książka telefoniczna
- Słowniki
- Przykład wyszukiwanie produktu
- Przykład dane użytkownika
- Słowniki uporządkowane
- Przykład definicje
- Zbiory haszowane
- Przykład kupony
- Przykład baseny
- Zbiory uporządkowane
- Przykład usuwanie duplikatów
- Podsumowanie
- Tablice z haszowaniem
- Rozdział 5. Warianty drzew
- Zwykłe drzewa
- Implementacja
- Węzeł
- Drzewo
- Przykład hierarchia identyfikatorów
- Przykład struktura przedsiębiorstwa
- Implementacja
- Drzewa binarne
- Implementacja
- Węzeł
- Drzewo
- Przykład prosty quiz
- Implementacja
- Binarne drzewa poszukiwań
- Implementacja
- Węzeł
- Drzewo
- Wyszukiwanie
- Wstawianie
- Usuwanie
- Przykład wizualizacja drzewa BST
- Implementacja
- Drzewa AVL
- Implementacja
- Przykład utrzymuj zrównoważenie drzewa
- Drzewa czerwono-czarne
- Implementacja
- Przykład funkcje drzew RBT
- Kopce binarne
- Implementacja
- Przykład sortowanie przez kopcowanie
- Kopce dwumianowe
- Kopce Fibonacciego
- Podsumowanie
- Zwykłe drzewa
- Rozdział 6. Odkrywanie grafów
- Koncepcja grafów
- Zastosowania
- Reprezentacja
- Lista sąsiedztwa
- Macierz sąsiedztwa
- Implementacja
- Węzeł
- Krawędź
- Graf
- Przykład krawędzie nieskierowane i nieważone
- Przykład krawędzie skierowane i ważone
- Przeszukiwanie
- Przeszukiwanie w głąb
- Przeszukiwanie wszerz
- Minimalne drzewo rozpinające
- Algorytm Kruskala
- Algorytm Prima
- Przykład kabel telekomunikacyjny
- Kolorowanie
- Przykład mapa województw
- Najkrótsza ścieżka
- Przykład mapa gry
- Podsumowanie
- Rozdział 7. Podsumowanie
- Klasyfikacja struktur danych
- Różnorodność zastosowań struktur danych
- Tablice
- Listy
- Stosy
- Kolejki
- Słowniki
- Zbiory
- Drzewa
- Kopce
- Grafy
- Słowo końcowe
Kategoria: | Programowanie |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-283-5050-2 |
Rozmiar pliku: | 6,1 MB |