Sobes.tech
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.