Back to questions
Junior — Middle
78
Когда предпочтительнее использовать массив, а когда односвязный список для хранения данных?
Answer from AI
sobes.tech AI
Массив предпочтителен, когда нужно обеспечить быстрый доступ к элементам по индексу (O(1)) и известен фиксированный или небольшой размер данных. Он эффективен по памяти и прост в использовании.
Односвязный список лучше использовать, если:
- Часто добавляются или удаляются элементы в середине или начале списка (операции вставки/удаления O(1) при наличии ссылки на узел).
- Размер данных динамичен и заранее неизвестен.
Однако доступ к элементам по индексу в односвязном списке медленный (O(n)), так как требуется последовательный обход.
Пример на Python:
# Массив (список) для быстрого доступа
arr = [1, 2, 3, 4]
print(arr[2]) # Быстрый доступ к элементу с индексом 2
# Односвязный список (упрощённый пример)
class Node:
def __init__(self, val):
self.val = val
self.next = None
head = Node(1)
head.next = Node(2)
head.next.next = Node(3)
# Добавление нового узла в начало
new_node = Node(0)
new_node.next = head
head = new_node