Junior — Middle
Můžete vysvětlit, co je spojovaný seznam a jak je uspořádán?
sobes.tech AI
Odpověď od AI
Související seznam je datová struktura skládající se z uzlů, kde každý uzel obsahuje data a odkaz na následující uzel v seznamu. Na rozdíl od polí, související seznamy nevyžadují souvislý blok paměti a umožňují efektivní vkládání a odstraňování prvků.
Hlavní typy souvisejících seznamů:
- Jednoduchý spojovaný seznam: každý uzel obsahuje pouze odkaz na následující uzel.
- Dvojitě spojovaný seznam: každý uzel obsahuje odkazy na následující i předchozí uzel.
Příklad jednoduchého spojovaného seznamu v JavaScriptu (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;
}
}
}
Související seznamy jsou užitečné, když je potřeba dynamicky měnit velikost struktury a často vkládat nebo odstraňovat prvky.