ksiazki24h.pl
wprowadź własne kryteria wyszukiwania książek: (jak szukać?)
Twój koszyk:   0 zł   zamówienie wysyłkowe >>>
Strona główna > opis książki

ALGORYTMY I STRUKTURY DANYCH = ABSTRAKCYJNE TYPY DANYCH


KOTOWSKI P.

wydawnictwo: BTC , rok wydania 2006, wydanie I

cena netto: 67.30 Twoja cena  63,94 zł + 5% vat - dodaj do koszyka

Algorytmy + struktury danych = abstrakcyjne typy danych


Algorytmika jest dziedziną wiedzy, która w ostatnich dziesięcioleciach dostarczyła mnóstwa narzędzi, pozwalających rozwiązać różnorodne zadania za pomocą komputera.

W książce poruszono wiele tematów z tej dziedziny, kładąc szczególny nacisk na analizę efektywności użytych struktur danych oraz algorytmów.

Opisano podstawowe struktury danych, takie jak tablice, listy czy kolejki, oraz bardziej złożone: drzewa, kopce, słowniki oraz strtuktury Union-Find.

Osobny rozdział poświęcono alorytmom sortowania, od najprostszych: SelectionSort czy BubbleSort, po bardziej skomplikowane jak QuickSort czy sortowanie pozycyjne.

Zaprezentowane w książce algorytmy w większości zaimplementowano w postaci funkcji w języku C++.


Wstęp

1. Metody analizy algorytmów
1.1. Poprawność i efektywność algorytmów
1.2. Analiza poprawności semantycznej algorytmów
1.2.1. Specyfikacja zadania
1.2.2. Poprawność algorytmu
1.2.3. Analiza modyfikacji warunków ( reguły wnioskowania )
1.2.4. Częściowa poprawność
1.2.5. Metody dowodzenia własności stopu
Metoda liczników iteracji
Metoda malejących wielkości
1.2.6. Przykład analizy poprawności .
Algorytm Euklidesa
Częściowa poprawność
Własność określoności
Własność stopu
1.2.7. Poprawność algorytmów rekurencyjnych
Przykład 1 . Rekurencyjny algorytm Euklidesa
Przykład 2 . Wyszukiwanie w drzewie binarnym
1.3. Analiza złożoności obliczeniowej
1.3.1. Określanie złożoności . O - notacja
1.3.2. Właściwości O - notacji
1.3.3. Przykłady analizy złożoności
1.3.4. Złożoność średnia
1.3.5. Przykłady złożoności
1.3.6. Złożoność pamięciowa

2. Metody projektowania algorytmów
2.1. Wprowadzenie
2.2. Strategia „ Dziel i rządź ”
Przykład 1 . Znajdowanie minimalnego i maksymalnego elementu zbioru
Przykład 2 . Mnożenie dwóch liczb binarnych n - bitowych
2.3. Rekurencja
2.4. Programowanie dynamiczne ( optymalizacja dynamiczna )

3. Proste struktury danych
3.1. Wprowadzenie
3.2. Tablice
3.3. Listy
3.4. Drzewa

4. Abstrakcyjne typy danych
4.1. Wprowadzenie
4.2. Stosy i kolejki

5. Kolejki priorytetowe
5.1. Kopiec
5.2. Dwukopiec

6. Kopce złączalne
6.1. Wprowadzenie
6.2. Kopiec lewostronny ( leftist heap )
6.3. Kopiec skośny ( skew heap )
6.4. Kolejka dwumianowa Implementacja kolejki dwumianowej
6.5. 2 - 3 drzewo +

7. Słowniki
7.1. Wprowadzenie
7.2. Wyszukiwanie w listach  i tablicach
7.3. Drzewa BST
7.4. Zrównoważone drzewa binarne AVL
7.5. Samoorganizujące się drzewa BST ( drzewa Splay)
7.6. Optymalne drzewa BST
7.7. B - drzewa
7.8. 2 - 3 drzewa
7.8.1. 2 - 3 drzewa jako B - drzewa
7.8.2. 2 - 3 drzewa poziomo - pionowe
7.9 . 2 - 3 - 4 drzewa
7.9.1. 2 - 3 - 4 drzewa poziomo - pionowe
7.9.2. 2 - 3 - 4 drzewa czerwono - czarne
7.10. Porównanie drzew binarnych
7.11. Drzewa wyszukiwań pozycyjnych
7.11.1. Wprowadzenie
7.11.2. Drzewa RST
7.11.3. Drzewa TRIE
7.11.4  Drzewa Patricia
7.12. Haszowanie
7.12.1. Wprowadzenie
7.12.2. Metody usuwania kolizji
7.12.3. Mieszanie łańcuchowe
7.12.4. Mieszanie rozproszone
7.12.5. Mieszanie otwarte

8. Kolejki konkatenowalne

9. Struktury Union - Find
9.1. Wprowadzenie
9.2. Tablicowa realizacja reprezentacji zbioru
9.3. Struktury drzewiaste

10. Sortowanie
10.1. Wprowadzenie
10.2. Sortowanie wewnętrzne przez porównania
10.2.1. Metody  elementarne
Sortowanie przez wybór (  SelectionSort)
Sortowanie przez wstawianie ( InsertionSort )
Sortowanie bąbelkowe ( BubbleSort )
10.2.2. Metody nieelementarne
Sortowanie przez kopcowanie ( HeapSort )
Sortowanie szybkie ( QuickSort )
Sortowanie Shella ( ShellSort )
10.2.3. Dolne oszacowanie złożoności sortowania przez porównania
10.3. Sortowanie elementów o wartościach z niewielkiego zbioru
10.3.1. Założenia
10.3.2. Sortowanie kubełkowe ( BucketSort )
10.3.3. Sortowanie przez zliczanie ( CountSort )
10.3.4. Sortowanie leksykograficzne
Sortowanie leksykograficzne przy użyciu BucketSort
Sortowanie leksykograficzne słów o niejednakowej długości
Sortowanie leksykograficzne przy użyciu CountSort
10.3.5. Sortowanie pozycyjne – RadixSort
10.4. Sortowanie zewnętrzne ( plików )
10.4.1. Założenia
10.4.2. Sortowanie przez łączenie ( MergeSort )

11. Zadanie wyboru
11.1. Wprowadzenie
11.2. Wybór wartości minimalnej i maksymalnej
11.3. Wybór k - tego elementu
11.3.1.Algorytm Hoare’a
11.3.2.Algorytm o pesymistycznej złożoności liniowej

Literatura


Po otrzymaniu zamówienia poinformujemy,
czy wybrany tytuł polskojęzyczny lub anglojęzyczny jest aktualnie na półce księgarni.

 
Wszelkie prawa zastrzeżone PROPRESS sp. z o.o. 2012-2022