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