Struktury danych Flashcards

1
Q

Czym jest graf ?

A

Graf jest to podstawowy obiekt rozważań teorii grafów, struktura matematyczna służąca do badania i przedstawiania relacji pomiędzy obiektami. W uproszczeniu graf jest to zbiór wierzchołków które mogą być połączone w taki sposób, że każda krawędź zaczyna sie i kończy na którymś w wierzchołków.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Czym jest drzewo binarne ? (Binary tree)

A

Drzewo binarne jest drzewiastą strukturą danych w której każdy węzeł ma maksymalnie dwoje dzieci (childrens) - lewe dziecko (left child) oraz prawe dziecko (prawe dziecko).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Czym jest hashtable (Tablica mieszająca) ?

A

Hashtable jest to struktura danych która jest implementacją tablicy asocjacyjnej, korzystająca z funkcji haszujących do wyznaczania indeksu dla kluczy.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Podaj 2 zalety hashmapy

A
  1. Wyszukiwanie średnio (averange) zajmuje O(1)

2. Jako klucze może posłużyć wiele typów danych (muszą być haszowalne)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Podaj 4 wady hashmapy

A
  1. Wyszukiwanie w najgorszym przypadku (worst case scenario) zajmuje O(n)
  2. Jest nieposortowana, w przypadku wyszukiwania najmniejszego bądź największego klucza musimy przejść po wszystkich kluczach
  3. Jedno-kierunkowe wyszukiwanie, podczas gdy wyszukiwanie wartości po kluczu jest szybkie to wyszukiwanie w drugą stronę zajmie O(n)
  4. Nie są przyjazne cachowaniu - większość implementacji hashmapy używa struktury zwanej LinkedList, której cachowanie jest trudne w implementacji
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Czym jest hash collision ?

A

Hash collision to sytuacja w której dwa różne klucze po haszowaniu wskazują na ten sam indeks.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Jakie są strategie obsługi hash collisons ?

A
  1. Separate chaining

2. Open adressing

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Czym jest dynamiczna tablica (dynamic array) ?

A

Dynamic array to tablica która umożliwia operacje dodawania bądź usuwania elementów

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Czym jest kolejka ? Jaki jest to rodzaj buforu ?

A

Kolejka to liniowa struktura danych w której nowe elementy są dopisywane na koniec kolejki a te z początku są przekazywane do dalszego przetwarzania.

Jest to bufor FIFO

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Czym jest stos ? Jakie jest to typ bufora ?

A

Stos jest liniową strukturą danych w której dane dokładane są na wierz stosu i z wierzchołka stosu są pobierane do dalszego przetwarzania.

Jest to bufor typu LIFO.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Czym jest Linked list ?

A

Linked list to liniowa struktura danych w której kolejność danych nie jest określona poprzez ich fizyczne ułożenie w pamięci, a poprzez fakt że każdy element wskazuje na kolejny.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly