Sobes.tech
Junior — Middle

Μπορείτε να εξηγήσετε τι είναι μια συνδεδεμένη λίστα και πώς λειτουργεί;

sobes.tech AI

Απάντηση από AI

Μια συνδεδεμένη λίστα είναι μια δομή δεδομένων που αποτελείται από κόμβους, όπου κάθε κόμβος περιέχει δεδομένα και μια αναφορά στον επόμενο κόμβο στη λίστα. Σε αντίθεση με τους πίνακες, οι συνδεδεμένες λίστες δεν απαιτούν συνεχόμενο μπλοκ μνήμης και επιτρέπουν την αποτελεσματική εισαγωγή και διαγραφή στοιχείων.

Κύριοι τύποι συνδεδεμένων λιστών:

  • Μονή συνδεδεμένη λίστα: κάθε κόμβος περιέχει μόνο μια αναφορά στον επόμενο κόμβο.
  • Διπλή συνδεδεμένη λίστα: κάθε κόμβος περιέχει αναφορές τόσο στον επόμενο όσο και στον προηγούμενο κόμβο.

Παράδειγμα μονής συνδεδεμένης λίστας σε 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;
    }
  }
}

Οι συνδεδεμένες λίστες είναι χρήσιμες όταν απαιτείται δυναμική αλλαγή μεγέθους της δομής και συχνές εισαγωγές/διαγραφές στοιχείων.