Lista wiązana to podstawowa struktura danych, która składa się z węzłów połączonych ze sobą za pomocą referencji. Każdy węzeł przechowuje wartość oraz referencję do następnego węzła w sekwencji. Listy wiązane są elastyczną alternatywą dla list (tablic) w językach programowania, pozwalającą na efektywne wstawianie i usuwanie elementów. W Pythonie listy wiązane nie są wbudowaną strukturą danych, ale można je zaimplementować za pomocą klas. Poniżej przedstawiamy sposób implementacji prostej listy wiązanej jednokierunkowej.
Implementacja listy wiązanej
Zacznijmy od zdefiniowania klasy Node
, która będzie reprezentować pojedynczy węzeł listy wiązanej, a następnie klasy LinkedList
, która zarządza całą listą.
class Node:
# Inicjalizacja węzła listy
def __init__(self, value):
self.value = value # Przechowywana wartość
self.next = None # Referencja do następnego węzła
class LinkedList:
# Inicjalizacja pustej listy
def __init__(self):
self.head = None # Początek listy
# Dodawanie elementu na koniec listy
def append(self, value):
if not self.head: # Jeśli lista jest pusta
self.head = Node(value)
return
current = self.head
while current.next: # Przechodzimy do ostatniego węzła
current = current.next
current.next = Node(value)
# Wyświetlanie wszystkich elementów listy
def show(self):
current = self.head
while current:
print(current.value, end=' ')
current = current.next
print()
# Tworzenie instancji listy wiązanej i dodawanie elementów
my_list = LinkedList()
my_list.append(1)
my_list.append(2)
my_list.append(3)
# Wyświetlanie zawartości listy
my_list.show() # Wypisze: 1 2 3
Komentarze w kodzie wyjaśniają, jak każda część kodu współpracuje ze sobą, aby utworzyć i zarządzać listą wiązaną. Metoda append
umożliwia dodawanie nowych węzłów do listy, podczas gdy metoda show
służy do wyświetlania zawartości listy.
Podsumowanie
Lista wiązana w Pythonie to potężna i elastyczna struktura danych, którą można zaimplementować i dostosować do wielu różnych zastosowań. Dzięki zrozumieniu podstawowych operacji, takich jak wstawianie i wyświetlanie elementów, można rozszerzyć implementację o dodatkowe funkcje, takie jak usuwanie elementów czy wyszukiwanie. Implementacja listy wiązanej od podstaw jest również doskonałym ćwiczeniem na zrozumienie dynamicznych struktur danych i zasad programowania obiektowego w Pythonie.
Jeżeli chcesz przyśpieszyć swoją naukę tworzenia stron chciałbym polecić mój kurs video Python w którym nauczysz się tego języka od podstaw do zaawansowanych jego aspektów.