Temat 1 Flashcards
Temat 1: Struktury danych, ADT, złożoność obliczeniowa
Czym jest ADT? Podaj przykłady.
Abstrakcyjny Typ Danych to opis typu danych uwzględniający już własności wartości i operacje.
Przykłady:
- lista wiązana
- zbiór
- kolejka FIFO/ LIFO/ Priorytetowa
- mapa
- drzewo
- graf
Czym różni się ADT od SD?
Różnice między ADT a SD:
- ADT skupia się na wykorzystaniu operacji i wartości, a nie na implementacji, czy reprezentacji
Elementarne operacje na ADT i SD
- sprawdzenie, czy kolekcja jest pusta
- zwrócenie liczby elementów w kolekcji
- wyszukanie elementu po pozycji (index), po klucz (key), wartości (value)
- dodanie elementu (append, insert, push)
- usuniecie elementu (remove, pop)
- przejrzenie kolekcji (peek, display)
Czym jest SD? Podaj przykłady.
Jest to struktura danych, która służy do zarządzania nimi. Określa ich sposób implementacji i reprezentacji.
Przykłady:
- tablica dynamiczna
- lista wiązana
- tablica mieszająca
- BST, AVL, BLACK-RED tree
- macierz sąsiedztwa, lista sąsiedztwa, lista krawędzi
Czym jest typ strukturalny, a czym jest typ obiektowy?
Typ strukturalny jest strukturą, która przechowuje elementy różnego typu. Jest ona dostępna po nazwie.
Typ obiektowy jest to odniesienie do typu strukturalnego. Rozszerza ten typ o definicje zaimplementowanych operacji.
Złożoność obliczeniowa rodzaje i analiza dla rozkładu danych wejściowych
- czasowa
- pamięciowa
- komunikacyjna
- równoległa
analiza dla rozkładu danych wejściowych:
- worst-case - górna granica złożoności
- average-case - wartość oczekiwana
- best-case - dolna granica złożoności
Czym jest koszt zamortyzowany? Czym jest asymptotyczne tempo wzrostu?
- Uśredniona złożoność obliczeniowa
- Jest to miara do opisu złożoności obliczeniowej przy n dążącym do nieskończoności