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