Heim >häufiges Problem >Sind Stapel und Warteschlangen nichtlineare Datenstrukturen?

Sind Stapel und Warteschlangen nichtlineare Datenstrukturen?

青灯夜游
青灯夜游Original
2020-09-03 10:46:0417395Durchsuche

Stapel und Warteschlangen sind keine linearen logischen Strukturen. Der Stapel ist eine lineare Tabelle mit begrenzten Operationen Tabelle; die Warteschlange ist eine spezielle lineare Tabelle, die nur Löschvorgänge am vorderen Ende der Tabelle und Einfügevorgänge am hinteren Ende der Tabelle zulässt.

Sind Stapel und Warteschlangen nichtlineare Datenstrukturen?

Stapelauch als Stapel bekannt, ist es eine lineare Tabelle mit begrenzten Operationen. Eine lineare Tabelle, die Einfüge- und Löschvorgänge nur auf das Ende der Tabelle beschränkt. Dieses Ende wird als Oberseite des Stapels bezeichnet, das andere Ende als Unterseite. Das Einfügen eines neuen Elements in einen Stapel wird auch als Schieben, Schieben oder Schieben bezeichnet. Dabei wird das neue Element auf das oberste Element des Stapels gelegt, wodurch es zu einem neuen obersten Element wird Pushing aus dem Stapel, wodurch das oberste Element des Stapels gelöscht wird und die angrenzenden Elemente zum neuen obersten Element des Stapels werden.

Als Datenstruktur ist ein Stapel eine spezielle lineare Liste, die nur an einem Ende Einfüge- und Löschvorgänge ausführen kann. Es speichert Daten nach dem First-In-Last-Out-Prinzip. Die Daten, die zuerst eingegeben werden, werden an den unteren Rand des Stapels verschoben, und die letzten Daten befinden sich oben im Stapel von der Spitze des Stapels (die letzten Daten werden zuerst ausgelesen). Der Stapel verfügt über eine Speicherfunktion. Bei Einfüge- und Löschvorgängen auf dem Stapel ist es nicht erforderlich, den unteren Zeiger des Stapels zu ändern.

Ein Stapel ist eine spezielle lineare Liste, die Einfüge- und Löschvorgänge am selben Ende ermöglicht. Das Ende, das Einfüge- und Löschvorgänge ermöglicht, wird als oberes Ende des Stapels bezeichnet, und das andere Ende ist das untere Ende des Stapels, und das obere Ende des Stapels ist schwebend , man spricht von einem leeren Stapel. Das Einfügen wird im Allgemeinen als PUSH bezeichnet, das Löschen als Popping (POP). Der Stapel wird auch als First-In-Last-Out-Liste bezeichnet.

Queue ist eine spezielle lineare Tabelle, die nur Löschvorgänge am vorderen Ende der Tabelle (vorne) und Einfügevorgänge am hinteren Ende der Tabelle zulässt. Die Warteschlange ist eine lineare Tabelle mit eingeschränkten Operationen. Das Ende, das den Einfügevorgang ausführt, wird als Ende der Warteschlange bezeichnet, und das Ende, das den Löschvorgang ausführt, wird als Kopf der Warteschlange bezeichnet. Wenn die Warteschlange keine Elemente enthält, spricht man von einer leeren Warteschlange.

Die Datenelemente der Warteschlange werden auch Warteschlangenelemente genannt. Das Einfügen eines Warteschlangenelements in die Warteschlange wird als Enqueuing bezeichnet, das Löschen eines Warteschlangenelements aus der Warteschlange wird als Dequeuing bezeichnet. Da die Warteschlange nur das Einfügen an einem Ende und das Löschen am anderen Ende zulässt, kann nur das Element, das am frühesten in die Warteschlange eintritt, zuerst aus der Warteschlange gelöscht werden. Daher wird die Warteschlange auch als „First-in-first-out“ (FIFO – zuerst) bezeichnet in first out) lineare Liste.

Das obige ist der detaillierte Inhalt vonSind Stapel und Warteschlangen nichtlineare Datenstrukturen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn