Jak zaimplementować listę wiązaną w Pythonie?

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.

Scroll to Top