stack
, auch bekannt als Stack, ist eine lineare Tabelle mit begrenzten Operationen. Die Einschränkung besteht darin, dass nur Einfüge- und Löschoperationen an einem Ende der Tabelle zulässig sind und keine Ergänzungen zulässig sind irgendwo anders. , Suchen, Löschen und andere Vorgänge. stack
,又称堆栈,他是运算受限的线性表,其限制是仅允许在表的一端进行插入和删除操作,不允许在其他任何位置进行添加、查找、删除等操作。
简单的来说,采用该结构的集合,对元素的存取有如下几个特点
1、先进后出。
2、栈的入口、出口都是栈的顶端位置。
压栈:就是存元素,把元素存储到栈的顶端位置,栈中已有元素一次向栈底方向移动一个位置。
弹栈:就是取元素,把栈顶端的元素取出,栈中已有元素依次向栈顶方向移动一个位置。
queue
,简称队,它同堆栈一样,也是运算受限的线性表,其限制是只允许在表的一端进行插入,而在表的另一端进行删除。
简单来说,采用该结构的集合,对元素的存取有如下的特点:
1、先进先出
2、队列的入口、出口各占一侧,例如左侧为入口,右侧为出口
Array
,是一个有序的元素序列,数组是在内存中开辟出一端连续的空间,并在此空间存放元素,可以通过索引快速找到对应的数据。
采用此方式存储数据有如下几个特点:
1、查找元素快,通过索引可以快速访问指定位置的元素。
2、增删元素慢,在指定索引位置增加元素,需要创建一个新的数组,将指定新元素存储在指定的索引位置,然后再把原数组元素根据索引,复制到新数组对应的索引位置
删除元素,需要创建一个新数组,把原数组元素根据索引,复制到新数组对应索引的位置,原数组中指定索引位置元素不复制到新数组中。
Linked List
Warteschlange
, auch als Warteschlange bezeichnet, ist es eine lineare Tabelle mit begrenzten Operationen Es ist zulässig, dass an einem Ende der Tabelle Einfügungen vorgenommen werden, während am anderen Ende der Tabelle Löschungen vorgenommen werden.
1. Der Eingang und der Ausgang der Warteschlange belegen beispielsweise jeweils eine Seite Die linke Seite ist der Eingang und die rechte Seite ist der Ausgang
Array
, ist eine geordnete Folge von Elementen. Das Array öffnet sich Ein kontinuierlicher Raum an einem Ende im Speicher, und hier Der Raum speichert Elemente und die entsprechenden Daten können über den Index schnell gefunden werden. Das Speichern von Daten auf diese Weise weist die folgenden Merkmale auf: 1. Elemente lassen sich schnell finden und über den Index kann schnell auf die Elemente an der angegebenen Position zugegriffen werden. 2. Um ein Element an einer angegebenen Indexposition hinzuzufügen, müssen Sie ein neues Array erstellen, das angegebene neue Element an der angegebenen Indexposition speichern und dann die ursprünglichen Array-Elemente an die entsprechende kopieren Indexposition des neuen Arrays gemäß dem Index. Um ein Element zu löschen, müssen Sie ein neues Array erstellen und die ursprünglichen Array-Elemente an die Position des neuen Arrays kopieren, die dem Index entspricht Die angegebene Indexposition im ursprünglichen Array wird nicht in das neue Array kopiert.
Verknüpfte Liste
, bestehend aus einer Reihe von Knotenknoten, die zur Laufzeit dynamisch generiert werden können. Jeder Knoten besteht aus zwei Teilen: Einer ist das Datenfeld, in dem Datenelemente gespeichert werden, und der andere ist das Zeigerfeld, in dem die Adresse des nächsten Knotens gespeichert wird. Verknüpfte Listen werden in einfach verknüpfte Listen und doppelt verknüpfte Listen unterteilt. Eine doppelt verknüpfte Liste hat einen Verweis auf den vorherigen Knoten und einen Zeiger auf den nächsten Knoten, während eine einfach verknüpfte Liste nur einen Zeiger auf den nächsten Knoten hat. Einfach ausgedrückt weist die Verwendung dieser Sammlung von Datenstrukturen zum Speichern von Daten die folgenden Merkmale auf:
Mehrere Knoten sind über Adressen verbunden.
Die Abfrage ist langsam. Wenn Sie ein Element finden möchten, müssen Sie die verbundenen Knoten rückwärts durchsuchen.
Schnelles Hinzufügen und Löschen, ändern Sie einfach die Adresse, die das nächste Element verbindet.
Rot-Schwarz-Baum:
Einfaches Verständnis: Ein Binärbaum ist eine Baumstruktur mit höchstens zwei Teilbäumen pro Knoten. Der obere Knoten wird als Wurzelknoten bezeichnet, und die beiden Seiten werden als linker Teilbaum und rechter Teilbaum bezeichnet. Der rot-schwarze Baum selbst ist eine binäre Suchnummer. Nach dem Einfügen des Knotens ist die Nummer immer noch eine binäre Suchnummer, was bedeutet, dass die Schlüsselwerte der Nummer immer noch in Ordnung sind.
Einschränkungen des rot-schwarzen Baums:
🎜🎜🎜Knoten können rot oder schwarz sein 🎜🎜🎜🎜Der Wurzelknoten ist schwarz 🎜🎜🎜🎜Die Blattknoten sind schwarz 🎜🎜🎜🎜Die untergeordneten Knoten jedes roten Knotens sind Es ist schwarz. Die Anzahl der schwarzen Knoten auf allen Pfaden von jedem Knoten zu jedem seiner Blattknoten ist gleich. Blattelemente finden Die minimale und maximale Zeit beträgt nicht mehr als das Doppelte. 🎜Das obige ist der detaillierte Inhalt vonWas sind die gemeinsamen grundlegenden Datenstrukturen in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!