堆栈与队列
堆栈是一个有序的列表,其中只能在一端在称为顶部的一端完成列表项的插入和删除。由于这个原因,堆栈被认为是首先(LIFO)数据结构的最后一个。队列也是一个有序的列表,其中列表项目的插入在一端称为后方,并且项目的删除在另一端完成,称为正面。这种插入和删除机制使队列首先成为(FIFO)数据结构。
什么是堆栈?
如前所述,堆栈是一个数据结构,其中仅添加元素并仅从一端称为顶部。堆栈仅允许两个基本操作称为Push and Pop。推动操作在堆栈顶部添加了一个新元素。流行操作从堆栈顶部删除了一个元素。如果堆栈已经完成,则在执行推动操作时,将其视为堆栈溢出。如果在已经空的堆栈上执行POP操作,则将其视为堆栈下流。由于可以在堆栈上执行的操作数量少,因此被认为是受限的数据结构。此外,根据定义推动和弹出操作的方式,很明显,最后添加到堆栈中的元素首先从堆栈中出来。因此,堆栈被认为是LIFO数据结构。
什么是队列?
在队列中,从队列的后部添加元素,并从队列的前部取出。由于首先添加的元素将首先从队列中删除,因此它维护FIFO订单。由于添加和删除元素的顺序,队列表示结帐行的想法。队列支持的一般操作是en-queue和de-queue操作。en-Queue操作将在队列的后部增加一个元素,而De-Queue操作则从队列的前部移除了一个元素。通常,队列对除内存约束以外的队列元素的数量没有限制。
堆栈和队列有什么区别?
即使堆栈和队列都是有序列表的一种,它们也有一些重要的区别。在堆栈中,添加或删除项目只能从一个名为顶部的一端完成,而在队列中,添加项目是从一端完成的,称为后方,删除项目是从另一端完成的,称为前面。在堆栈中,最后添加到堆栈的项目将首先从堆栈中删除。因此,堆栈被认为是LIFO数据结构。在队列中,首先添加的项目将首先从队列中删除。因此,队列被认为是FIFO数据结构。
相关链接:
发表评论