Eine doppelt verknüpfte Liste ist eine der beliebtesten Datenstrukturen, die in der Programmierung verwendet werden. Seine Arbeit basiert auf Knoten, von denen jeder einen Verweis auf das nächste und vorherige Element der Liste enthält. Dank dieses Geräts sind das Einfügen, Löschen und Suchen von Elementen in einer doppelt verknüpften Liste effizient und schnell.
In diesem Artikel werden wir uns mit der Implementierung einer doppelt verknüpften Liste in englischer Sprache und ihrer Verwendung in Excel befassen. Dazu nutzen wir die Funktionalität der Programmiersprache VBA (Visual Basic for Applications), mit der Sie benutzerdefinierte Funktionen und Makros in Excel erstellen können. Die Implementierung einer doppelt verknüpften Liste in VBA wird als eine Klasse dargestellt, die Methoden zum Arbeiten mit Listenknoten enthält.
Beispiele für die Verwendung einer doppelt verknüpften Liste in Excel können mehrere sein. Ein mögliches Beispiel ist die Verwendung zum Speichern und Verarbeiten großer Datenmengen. Mit einer doppelverbundenen Liste können Sie Daten effizient hinzufügen, löschen und suchen, ohne die gesamte Liste kopieren oder Elemente verschieben zu müssen. Dies ist besonders nützlich, wenn Sie mit großen Tabellen und Datenbanken arbeiten, in denen jede Operation viel Zeit in Anspruch nehmen kann.
Was ist eine doppelt verknüpfte Liste?
Die Knoten in einer doppelverbundenen Liste enthalten zwei Datenfelder: ein Wertfeld und zwei Referenzfelder: einen Verweis auf den vorherigen Knoten und einen Verweis auf den nächsten Knoten. Der erste und letzte Knoten der Liste speichert Verweise auf Null und gibt den Anfang und das Ende der Liste an.
Doppelt verknüpfte Listen haben die folgenden Eigenschaften:
- Kann zum Speichern und Anzeigen eines geordneten Datasets verwendet werden.
- Sie können Elemente am Anfang und Ende der Liste sowie in der Mitte effektiv einfügen und löschen.
- Kann verwendet werden, um Listen mit variabler Länge zu erstellen, ohne Elemente verschieben oder Daten kopieren zu müssen.
Реализация двусвязного списка на английском
Eine doppelt verknüpfte Liste ist eine Datenstruktur, die aus einer Folge von Elementen besteht, in der jedes Element eine Verknüpfung zu seinem vorherigen Element und eine Verknüpfung zu seinem nächsten Element aufweist. Es kann verwendet werden, um verschiedene Algorithmen und Datenstrukturen wie Warteschlangen, Stapel und Hashtabellen zu implementieren.
Um eine doppelt verknüpfte Liste zu implementieren, müssen Sie eine Knotenklasse erstellen, die jedes Element in der Liste darstellt. Die Knotenklasse sollte drei Attribute haben:
- Daten: die im Knoten gespeicherten Daten
- vorherige: ein Verweis auf den vorherigen Knoten
- nächsten: ein Verweis auf den nächsten Knoten
Die doppelt verknüpfte Liste selbst sollte zwei Attribute haben:
- Kopf: ein Verweis auf den ersten Knoten in der Liste
- Schwanz: ein Verweis auf den letzten Knoten in der Liste
Hier ist eine Beispielimplementierung einer doppelt verknüpften Liste in Python:
class Node:def __init__(self, data):self.data = dataself.prev = Noneself.next = Noneclass DoublyLinkedList:def __init__(self):self.head = Noneself.tail = Nonedef append(self, data):new_node = Node(data)if self.head is None:self.head = new_nodeself.tail = new_nodeelse:new_node.prev = self.tailself.tail.next = new_nodeself.tail = new_node
In dieser Implementierung fügt die Methode append() am Ende der Liste einen neuen Knoten hinzu. Wenn die Liste leer ist, wird der neue Knoten sowohl zum Kopf als auch zum Ende. Andernfalls wird der neue Knoten mit dem vorherigen Endknoten verknüpft, der Endknoten wird mit dem neuen Knoten verknüpft und der Endknoten wird auf den neuen Knoten aktualisiert.
Hier ist ein Beispiel für die Verwendung der doppelt verknüpften Liste:
my_list = DoublyLinkedList()my_list.append(1)my_list.append(2)my_list.append(3)current_node = my_list.headwhile current_node is not None:print(current_node.data)current_node = current_node.next
Dieser Code erstellt eine doppelt verknüpfte Liste und hängt drei Elemente daran an. Dann iteriert es über die Liste und druckt die Daten jedes Knotens.
Doppelt verknüpfte Listen können in Situationen nützlich sein, in denen Sie Elemente sowohl am Anfang als auch am Ende der Liste effizient einfügen und löschen müssen. Sie bieten zeitlich konstanten Zugriff auf das erste und das letzte Element sowie zeitlich konstante Einfüge- und Löschvorgänge. Sie benötigen jedoch aufgrund der zusätzlichen Verknüpfung in jedem Knoten mehr Speicher als einfach verknüpfte Listen.
Пример использования двусвязного списка в Excel
Eine doppelt verknüpfte Liste ist eine Datenstruktur, die aus Knoten besteht, von denen jeder sowohl Daten als auch zwei Verweise auf den vorherigen als auch auf den nächsten Knoten enthält. Diese Art von Liste kann bei der Arbeit mit Daten in Excel nützlich sein, da Sie Elemente effizient hinzufügen, entfernen und bearbeiten können.
In Excel können Sie eine doppelt verknüpfte Liste mithilfe von Spalten und Zellenreferenzen organisieren. Wenn Sie beispielsweise eine Liste mit drei Elementen erstellen möchten, können Sie drei Spalten erstellen: "Daten", "Vorheriger" und "Nächster". Die Spalte "Daten" enthält die Daten selbst, und die Spalten "Vorheriger" und "Nächster" enthalten jeweils Verweise auf den vorherigen und nächsten Knoten.
- In Zelle A1 ist "Element 1" geschrieben.
- Zelle B1 enthält einen Verweis auf den vorherigen Knoten (z. B. Zelle A3).
- Zelle C1 enthält einen Verweis auf den nächsten Knoten (z. B. Zelle A2).
Auf diese Weise enthält jede Zelle Daten und Verweise auf den vorherigen und nächsten Knoten. Sie können Formeln und Makros verwenden, um mit einer doppelt verknüpften Liste in Excel zu arbeiten, um das Hinzufügen, Löschen und Ändern von Listenelementen zu steuern.
Um beispielsweise ein neues Element am Ende einer Liste hinzuzufügen, können Sie die folgende Formel verwenden: In einer neuen Zelle in der Spalte "Nächste" schreiben Sie einen Verweis auf einen neuen Knoten, und in der vorherigen Zelle in der Spalte "Nächste" des letzten Elements der Liste schreiben Sie einen Verweis auf einen neuen Knoten. Dann schreiben wir die neuen Daten in eine neue Zelle in der Spalte "Daten" und schreiben in der Zelle der Spalte "Vorheriger" des neuen Elements einen Verweis auf den vorherigen Knoten.
Auf diese Weise können Sie mit einer doppelt verknüpften Liste in Excel effizient mit Daten arbeiten und verwalten, wie sie hinzugefügt, gelöscht und geändert werden. Dies ist besonders nützlich bei der Arbeit mit großen Datenmengen und erfordert ein Minimum an Aufwand und Zeit.