Junior — Middle
Can you explain the advantages and disadvantages of using a linked list?
sobes.tech AI
Answer from AI
A linked list is a data structure consisting of nodes, where each node contains data and a reference to the next (and/or previous) node.
Advantages:
- Dynamic size modification: easy to add and remove elements without reallocating memory.
- Fast insertion and deletion in the middle of the list if there is a reference to the desired node.
Disadvantages:
- No direct access by index; to get an element, you need to traverse the list sequentially.
- Additional memory for storing references.
- Lower data locality, which can degrade performance due to caching.
Example in Dart (Flutter):
class Node<T> {
T data;
Node<T>? next;
Node(this.data);
}
void main() {
var head = Node<int>(1);
head.next = Node<int>(2);
head.next!.next = Node<int>(3);
// Traversing the list
var current = head;
while (current != null) {
print(current.data);
current = current.next;
}
}