acta scientiarum polonorum

advertisement
Spis treści
1. Wprowadzenie......................................................... Error! Bookmark not defined.
2. Algorytmy komputerowe .......................................... Error! Bookmark not defined.
2.1. Definicja algorytmu ........................................... Error! Bookmark not defined.
2.2. Formy zapisu algorytmu.................................... Error! Bookmark not defined.
2.3. Złożoność obliczeniowa .................................... Error! Bookmark not defined.
2.4. Konstruowanie algorytmów ............................... Error! Bookmark not defined.
2.5. Porównywanie algorytmów ............................... Error! Bookmark not defined.
2.6. Ocena złożoności algorytmu ............................. Error! Bookmark not defined.
2.7. Przedstawienie algorytmu w komputerze.......... Error! Bookmark not defined.
2.8. Pomiar czasu wykonywania algorytmu ............. Error! Bookmark not defined.
3. Konstrukcje języków programowania ...................... Error! Bookmark not defined.
3.1. Dane i informacja .............................................. Error! Bookmark not defined.
3.2. Typy danych ..................................................... Error! Bookmark not defined.
3.3. Typy liczbowe ................................................... Error! Bookmark not defined.
3.4. Typy znakowe ................................................... Error! Bookmark not defined.
3.5. Typy okrojone ................................................... Error! Bookmark not defined.
3.6. Typy wyliczeniowe ............................................ Error! Bookmark not defined.
3.7. Typy logiczne .................................................... Error! Bookmark not defined.
3.8. Typy czasowe ................................................... Error! Bookmark not defined.
3.9. Wskaźniki.......................................................... Error! Bookmark not defined.
3.10. Referencje ...................................................... Error! Bookmark not defined.
3.11. Tablice ............................................................ Error! Bookmark not defined.
3.12. Typy plikowe ................................................... Error! Bookmark not defined.
3.13. Unie ................................................................ Error! Bookmark not defined.
3.14. Klasy programowe .......................................... Error! Bookmark not defined.
3.15. Interfejsy programowe .................................... Error! Bookmark not defined.
3.16. Struktury ......................................................... Error! Bookmark not defined.
3.17. Tablice dynamiczne ........................................ Error! Bookmark not defined.
3.18. Rzutowanie (konwersja) typów ....................... Error! Bookmark not defined.
4. Konstrukcje programowe ......................................... Error! Bookmark not defined.
4.1. Struktury dowiązane (ze wskaźnikami) ............. Error! Bookmark not defined.
4.2. Listy .................................................................. Error! Bookmark not defined.
4.3. Operacje na listach ........................................... Error! Bookmark not defined.
4.4. Stos................................................................... Error! Bookmark not defined.
4.4.1. Stos z wykorzystaniem tablicy................ Error! Bookmark not defined.
4.4.2. Procedury rekurencyjne ......................... Error! Bookmark not defined.
4.4.3. Zamiana stosu systemowego na stos programowyError! Bookmark not
defined.
4.4.4. Stos z wykorzystaniem listy.................... Error! Bookmark not defined.
4.5. Kolejka .............................................................. Error! Bookmark not defined.
4.5.1. Kolejka z wykorzystaniem tablicy ........... Error! Bookmark not defined.
4.5.2. Kolejka z wykorzystaniem listy ............... Error! Bookmark not defined.
4.6. Drzewa.............................................................. Error! Bookmark not defined.
4.6.1. Drzewa kopcowe .................................... Error! Bookmark not defined.
4.6.2. Drzewa spadowe .................................... Error! Bookmark not defined.
4.6.3. Drzewa AVL ........................................... Error! Bookmark not defined.
4.6.4. Drzewa RST ........................................... Error! Bookmark not defined.
4.6.5. Drzewa TRIE .......................................... Error! Bookmark not defined.
4.6.6. Drzewa PATRICIA ................................. Error! Bookmark not defined.
4.6.7. 2-3 drzewa ............................................. Error! Bookmark not defined.
4.6.8. Drzewa katalogowe ................................ Error! Bookmark not defined.
4.7. Struktury dla baz danych .................................. Error! Bookmark not defined.
5. Reprezentacja danych ............................................. Error! Bookmark not defined.
5.1. Dane liczbowe .................................................. Error! Bookmark not defined.
5.2. Dane specjalne ................................................. Error! Bookmark not defined.
5.3. Dane tekstowe .................................................. Error! Bookmark not defined.
5.4. Dane logiczne ................................................... Error! Bookmark not defined.
5.5. Czas.................................................................. Error! Bookmark not defined.
5.6. Wyliczenia......................................................... Error! Bookmark not defined.
5.7. Reprezentacje zbiorów danych ......................... Error! Bookmark not defined.
5.7.1. Reprezentacja zbioru z wykorzystaniem tablicy .... Error! Bookmark not
defined.
5.7.2. Reprezentacja zbioru wektorem bitowymError! Bookmark not defined.
5.7.3. Generowanie podzbiorów zbioru ............ Error! Bookmark not defined.
5.7.4. Listowa reprezentacja zbioru.................. Error! Bookmark not defined.
5.7.5. Drzewiasta reprezentacja zbioru ............ Error! Bookmark not defined.
5.8. Kodowanie mieszające (ang. hash coding)....... Error! Bookmark not defined.
5.9. Reprezentacje grafów ....................................... Error! Bookmark not defined.
5.9.1. Tablica par wierzchołków ....................... Error! Bookmark not defined.
5.9.2. Macierz sąsiedztwa wierzchołków .......... Error! Bookmark not defined.
5.9.3. Macierz incydencji .................................. Error! Bookmark not defined.
5.9.4. Listy incydencji wierzchołków ................. Error! Bookmark not defined.
5.9.5. Struktury dowiązane ............................... Error! Bookmark not defined.
5.9.6. Operacje na grafach ............................... Error! Bookmark not defined.
5.9.7. Przeszukiwanie grafu w głąb .................. Error! Bookmark not defined.
5.9.8. Przeszukiwanie wszerz .......................... Error! Bookmark not defined.
5.9.9. Znajdowanie drogi między wierzchołkamiError! Bookmark not defined.
5.9.10. Obliczenie spójnych składowych .......... Error! Bookmark not defined.
5.9.11. Obliczenie drzewa rozpinającego ......... Error! Bookmark not defined.
5.10. Reprezentacje drzew ...................................... Error! Bookmark not defined.
5.10.1. Drzewo a graf ....................................... Error! Bookmark not defined.
5.10.2. Struktury drzewiaste ............................. Error! Bookmark not defined.
5.11. Reprezentacje sieci......................................... Error! Bookmark not defined.
5.11.1. Znajdowanie najmniejszej odległości ... Error! Bookmark not defined.
5.11.2. Algorytm Bellmana-Forda..................... Error! Bookmark not defined.
5.11.3. Algorytm Dijkstry .................................. Error! Bookmark not defined.
5.11.4. Najmniejsza odległość w sieci acyklicznejError! Bookmark not defined.
5.11.5. Znajdowanie wszystkich najmniejszych odległościError! Bookmark not
defined.
5.11.6. Obliczenie maksymalnego przepływu w sieci...... Error! Bookmark not
defined.
6. Algorytmy obliczeniowe ........................................... Error! Bookmark not defined.
6.1. Algorytmy kombinatoryki ................................... Error! Bookmark not defined.
6.1.1. Obliczenie permutacji ............................. Error! Bookmark not defined.
6.1.2. Obliczenie silni n .................................... Error! Bookmark not defined.
6.1.3. Obliczenie wariacji ................................. Error! Bookmark not defined.
6.1.4. Obliczenie kombinacji ............................ Error! Bookmark not defined.
6.2. Algorytmy operacji na macierzach .................... Error! Bookmark not defined.
6.2.1. Porównanie macierzy ............................. Error! Bookmark not defined.
6.2.2. Sumowanie dwóch macierzy .................. Error! Bookmark not defined.
6.2.3. Mnożenie macierzy przez skalar ............ Error! Bookmark not defined.
6.2.4. Mnożenie macierzy przez wektor ........... Error! Bookmark not defined.
6.2.5. Mnożenie dwóch macierzy ..................... Error! Bookmark not defined.
6.2.6. Obliczenie wyznacznika ......................... Error! Bookmark not defined.
6.2.7. Transponowanie macierzy ..................... Error! Bookmark not defined.
6.2.8. Obliczenie macierzy odwrotnej ............... Error! Bookmark not defined.
6.2.9. Obliczenie rzędu macierzy ..................... Error! Bookmark not defined.
6.2.10. Rozwiązanie układów równań liniowychError! Bookmark not defined.
6.3. Algorytmy przekształcenia liczb ....................... Error! Bookmark not defined.
6.3.1. Przekształcenie „ręczne” ........................ Error! Bookmark not defined.
6.3.2. Przekształcenie „komputerowe” ............. Error! Bookmark not defined.
6.4. Obliczenie największego wspólnego podzielnikaError! Bookmark not defined.
6.5. Znajdowanie najmniejszego lub największego elementu . Error! Bookmark not
defined.
7. Algorytmy sortowania .............................................. Error! Bookmark not defined.
7.1. Proste wstawianie ............................................. Error! Bookmark not defined.
7.2. Wstawianie połówkowe ..................................... Error! Bookmark not defined.
7.3. Proste wybieranie ............................................. Error! Bookmark not defined.
7.4. Prosta zamiana ................................................. Error! Bookmark not defined.
7.5. Sortowanie bąbelkowe ...................................... Error! Bookmark not defined.
7.6. Sortowanie mieszane........................................ Error! Bookmark not defined.
7.7. Sortowanie metodą Shella ................................ Error! Bookmark not defined.
7.8. Sortowanie kopcowe (sortowanie w stogu) ....... Error! Bookmark not defined.
7.9. Sortowanie przez podział (sortowanie „szybkie”)Error! Bookmark not defined.
7.10. Sortowanie rzędowe (pozycyjne) .................... Error! Bookmark not defined.
7.11. Sortowanie przez scalanie .............................. Error! Bookmark not defined.
7.11.1. Scalanie dwóch grup danych ............... Error! Bookmark not defined.
7.11.2. Scalanie m grup danych ....................... Error! Bookmark not defined.
7.12. Sortowanie plików ........................................... Error! Bookmark not defined.
7.12.1. Sortowanie z wykorzystaniem trzech plików ....... Error! Bookmark not
defined.
7.12.2. Sortowanie przez scalanie proste ........ Error! Bookmark not defined.
7.12.3. Sortowanie przez scalanie naturalne ... Error! Bookmark not defined.
7.12.4. Sortowanie wielofazowe ....................... Error! Bookmark not defined.
8. Algorytmy wyszukiwania.......................................... Error! Bookmark not defined.
8.1. Wyszukiwanie w tablicy elementu o podanej wartości ..... Error! Bookmark not
defined.
8.1.1. Dane nieposortowane ............................ Error! Bookmark not defined.
8.1.2. Algorytm połówkowy .............................. Error! Bookmark not defined.
8.2. Dopasowywanie wzorca ................................... Error! Bookmark not defined.
8.2.1. Wyszukiwanie „naiwne” .......................... Error! Bookmark not defined.
8.2.2. Drzewo sufiksowe .................................. Error! Bookmark not defined.
8.2.3. Graf podsłów .......................................... Error! Bookmark not defined.
8.2.4. Automat do rozpoznawania podsłów ...... Error! Bookmark not defined.
9. Algorytmy z drzewiastą strukturą (z nawrotami) ...... Error! Bookmark not defined.
9.1. Algorytm ustawiania 8 hetmanów ..................... Error! Bookmark not defined.
9.2. Algorytm znalezienia drogi skoczka szachowegoError! Bookmark not defined.
Literatura ..................................................................... Error! Bookmark not defined.
Indeks ..................................................................................................................... 232
Summary ................................................................................................................. 235
Download