Структуры данных и сложность операций Flashcards

1
Q

Массив.

A

Получение элемента по индексу - O[1]
Вставка - O[N] - то же самое - нужно передвинуть часть элементов
Удаление - O[N]- нужно сшифтить все элементы чтобы заполнить пустое место
Поиск в несортированном - O[N]
Поиск в сортированном - O[logN]

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

Что такое сложность операций?

A

Это функция, показывающая как растёт время выполнения программы в зависимости от количества входных элементов.
Он используется для оценки верхней границы (наихудшего случая), временной сложности алгоритма.

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

Стек

A

LIFO
Получение элемента по индексу - O(N)
Вставка - O(1) - добавление всегда в конец (push)
Удаление - O(1) - удаление всегда с конца (pop)
Поиск - O(N)

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

Односвязный список

A

Получение элемента по индексу - O(N) - нужно пройти весь список
Вставка - O(1) - вставка в начало/конец
Удаление - O(N) - поиск узла занимает O(N), затем удаление O(1)
Поиск - O(N)

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

Очередь

A

FIFO
Получение элемента по индексу - O(N)
Вставка - O(1) - добавление в конец
Удаление - O(1) - удаление из начала
Поиск - O(N)

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

Двусвязный список

A

Получение элемента по индексу - O(N)
Вставка - O(1) - добавление в начало/конец
Удаление - O(1) - если известен узел, иначе O(N) на поиск
Поиск - O(N)

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

B-дерево

A

Получение элемента по индексу - O(N)
Вставка - O(N) - если дерево несбалансированное
Удаление - O(N) - если дерево несбалансированное
Поиск - O(N) - в худшем случае

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

AVL дерево

A

Получение элемента по индексу - O(log N)
Вставка - O(log N) - за счёт балансировки
Удаление - O(log N) - поддерживается балансировка
Поиск - O(log N)

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

Красно-чёрное дерево

A

Получение элемента по индексу - O(log N)
Вставка - O(log N) - за счёт балансировки
Удаление - O(log N) - поддерживается балансировка
Поиск - O(log N)

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

Хэш-таблица

A

Получение элемента по индексу - O(N) - в худшем случае (при коллизиях). Т.е. если всё будет лежать в одном бакете
Вставка - O(N) - в худшем случае из-за коллизий
Удаление - O(N) - в худшем случае при высокой заполненности таблицы
Поиск - O(N) - если много коллизий, иначе O(1) в среднем

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