1

在Priority Queues中,一个元素根据其优先级从队列中插入和删除,因此在为任何优先级队列编写元素的插入和删除代码时;插入和删除是根据元素的优先级进行的。

假设你有一个元素为 1,5,6 的队列,元素的优先级是元素本身的值,现在需要插入一个优先级为 3 的元素;然后将元素插入到队列中的第二个位置,给出新队列 1、3、5、6。

但是队列被定义为一种数据结构,其中元素可以在末尾插入并在开头删除但不能在中间,但在上述情况下,元素被插入到第二个位置(即在队列中间)。因此,如果优先级队列不遵守队列的定义,那么优先级队列真的是队列吗?

请解释。

4

4 回答 4

0

是的,优先级队列仍然是队列,因为项目是按照它们在队列中的顺序提供服务的。但是,在这种情况下,优先级与每个项目相关联,并相应地提供服务。

于 2013-10-18T15:49:00.197 回答
0

A priority queue is a queue in the sense of the English word queue, not as a strict subtype of the other data structure named 'queue'. There is no inheritance going on there, they're just names that describe their purpose.

于 2013-10-18T17:15:11.057 回答
0

优先级队列在某种意义上是“队列”,因为元素等待轮到它们。它们不是Queue抽象数据类型的子类型。

于 2013-10-18T15:43:17.587 回答
0

队列的特征是一种信息结构,其中组件可能在关闭时嵌入并在开始时被擦除但不在中心,但是在上面描绘的情况下,组件嵌入在第二个区域(即在队列中)。

于 2013-10-18T15:44:30.187 回答