Sobes.tech
Junior — Middle

Můžete vysvětlit, co je to jednoduše spojený seznam a jak je implementován v Pythonu?

sobes.tech AI

Odpověď od AI

Jednoduchý spojovaný seznam je datová struktura složená z uzlů, kde každý uzel obsahuje data a odkaz na následující uzel v seznamu. Na rozdíl od pole jsou prvky uloženy v nesouvislé oblasti paměti, což umožňuje efektivní vkládání a odstraňování prvků.

Příklad implementace jednoduchého spojovaného seznamu v Pythonu:

class Uzel:
    def __init__(self, data):
        self.data = data
        self.next = None

class JednoduchySpojovanySeznam:
    def __init__(self):
        self.head = None

    def pridej(self, data):
        novy_uzel = Uzel(data)
        if not self.head:
            self.head = novy_uzel
            return
        aktualni = self.head
        while aktualni.next:
            aktualni = aktualni.next
        aktualni.next = novy_uzel

    def vypis_seznam(self):
        aktualni = self.head
        while aktualni:
            print(aktualni.data, end=' -> ')
            aktualni = aktualni.next
        print('None')

# Použití
sse = JednoduchySpojovanySeznam()
sse.pridej(1)
sse.pridej(2)
sse.pridej(3)
sse.vypis_seznam()  # Výstup: 1 -> 2 -> 3 -> None