Advertisement

Python数据结构与算法基础|第四期:代码实现——循环队列的引入原因及其顺序结构的Python实现

阅读量:

为什么要引入循环队列

在上一篇博客中,我们完成了队列的顺序存储结构和链式存储结构的实现。仔细回顾,我们在实现这些队列结构,或者之前在实现栈结构时,并未充分考虑实际存储空间的容量问题。在栈的实现过程中,我们默认入栈元素总能找到可用空间。例如,在顺序存储方式下,我们假定栈顶始终可以扩展出相邻的空间以容纳新元素;而在链式存储方式中,则假定栈顶始终能够找到可用空间来存放新元素的数据部分与指针部分。在队列的实现过程中,也存在类似的问题。

当我们开始关注存储空间有限的情况时,对于栈而言,只需记录当前栈的长度,并确保压入的元素不会超出预先分配的内存范围即可。然而对于队列来说,仅做到这一点是不够的,例如:

  • 假设我们目前有一个队列:
在这里插入图片描述

我们采用移动头指针这一手段来实现队列元素的出队操作:

在这里插入图片描述

此时可以观察到,执行入队操作时所需的存储空间已耗尽,这表明我们预先分

全部评论 (0)

还没有任何评论哟~