Sobes.tech
Junior — Middle

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

sobes.tech AI

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

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

Παράδειγμα υλοποίησης μιας απλής συνδεδεμένης λίστας σε Python:

class Κόμβος:
    def __init__(self, δεδομένα):
        self.δεδομένα = δεδομένα
        self.επόμενο = None

class ΑπλήΣυνδεδεμένηΛίστα:
    def __init__(self):
        self.κεφαλή = None

    def προσθήκη(self, δεδομένα):
        νέος_κόμβος = Κόμβος(δεδομένα)
        if not self.κεφαλή:
            self.κεφαλή = νέος_κόμβος
            return
        τρέχων = self.κεφαλή
        while τρέχων.επόμενο:
            τρέχων = τρέχων.επόμενο
        τρέχων.επόμενο = νέος_κόμβος

    def εκτύπωση_λίστας(self):
        τρέχων = self.κεφαλή
        while τρέχων:
            print(τρέχων.δεδομένα, end=' -> ')
            τρέχων = τρέχων.επόμενο
        print('None')

# Χρήση
sll = ΑπλήΣυνδεδεμένηΛίστα()
sll.προσθήκη(1)
sll.προσθήκη(2)
sll.προσθήκη(3)
sll.εκτύπωση_λίστας()  # Έξοδος: 1 -> 2 -> 3 -> None