Junior — Middle
Czy możesz wyjaśnić, czym jest lista powiązana i jak jest zbudowana?
sobes.tech AI
Odpowiedź od AI
Lista powiązana to struktura danych składająca się z węzłów, z których każdy zawiera dane i odwołanie do następnego węzła na liście. W przeciwieństwie do tablic, listy powiązane nie wymagają ciągłego bloku pamięci i pozwalają na efektywne wstawianie i usuwanie elementów.
Główne typy list powiązanych:
- Lista jednokierunkowa: każdy węzeł zawiera odwołanie tylko do następnego węzła.
- Lista dwukierunkowa: każdy węzeł zawiera odwołania zarówno do następnego, jak i poprzedniego węzła.
Przykład listy jednokierunkowej w JavaScript (Node.js):
class Node {
constructor(value) {
this.value = value;
this.next = null;
}
}
class LinkedList {
constructor() {
this.head = null;
}
add(value) {
const newNode = new Node(value);
if (!this.head) {
this.head = newNode;
} else {
let current = this.head;
while (current.next) {
current = current.next;
}
current.next = newNode;
}
}
}
Listy powiązane są przydatne, gdy konieczne jest dynamiczne zmienianie rozmiaru struktury i częste wstawianie/usuwanie elementów.