Sobes.tech
Junior — Middle

Kas saaksite selgitada, mis on seotud nimekiri ja kuidas see töötab?

sobes.tech AI

Vastus AI-lt

Seotud nimekiri on andmestruktuur, mis koosneb sõlmedest, kus iga sõlm sisaldab andmeid ja viidet järgmisele sõlmele nimekirjas. Erinevalt massividest ei nõua seotud nimekirjad pidevat mälubahet ja võimaldavad tõhusalt elemente lisada ja eemaldada.

Peamised seotud nimekirjade tüübid:

  • Üks-viisiline seotud nimekiri: iga sõlm sisaldab ainult viidet järgmisele sõlmele.
  • Kahe-viisiline seotud nimekiri: iga sõlm sisaldab viite nii järgmisele kui ka eelmisele sõlmele.

Näide ühe-viisilise seotud nimekirja kohta JavaScriptis (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;
    }
  }
}

Seotud nimekirjad on kasulikud, kui struktuuri suurust on vaja dünaamiliselt muuta ning sageli on vaja elemente lisada või eemaldada.