循环队列 在基于数组的队列中我们发现,在移出队首元素时时间复杂度为O(n),为了解决这个问题,我们引出了循环队列。 实现原理:基于数组实现,以数组头为队首,以数组尾为队尾, 此时多出一个front变量指向队首,当队首元素移出时,基于数组实现的队列中的元素不需要全部向前移动一个位置,只需要指向下一个元 ...
分类:
其他好文 时间:
2018-11-24 21:04:26
阅读次数:
136
1. 定义(也是一种线性表) 2. 抽象数据类型 3. 循环队列 (1)顺序存储的不足 设一个队列的元素数为n,为其建立一个大于n的数组,在队头删除元素(下表0),在队为添加元素(下标最大处),此时会引起两个问题: 「1」每次在队头删除元素,若要保证下标始终为0,需要每删一个元素,数组所有元素整体向 ...
分类:
其他好文 时间:
2018-11-24 14:13:29
阅读次数:
197
设计你的循环队列实现。 循环队列是一种线性数据结构,其操作表现基于 FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环。它也被称为“环形缓冲器”。 循环队列的一个好处是我们可以利用这个队列之前用过的空间。在一个普通队列里,一旦一个队列满了,我们就不能插入下一个元素,即使在队列前面仍有空间 ...
分类:
其他好文 时间:
2018-11-18 10:18:55
阅读次数:
170
循环队列 此前,我们提供了一种简单但低效的队列实现。 更有效的方法是使用循环队列。 具体来说,我们可以使用固定大小的数组和两个指针来指示起始位置和结束位置。 目的是重用我们之前提到的被浪费的存储。 设计循环队列 设计你的循环队列实现。 循环队列是一种线性数据结构,其操作表现基于 FIFO(先进先出) ...
分类:
其他好文 时间:
2018-11-17 22:22:21
阅读次数:
252
队列的 存储结构 有 顺序存储 和 链式存储。 1. 队列的顺序存储与操作 (循环队列) 2.队列的链式存储与操作 ...
分类:
其他好文 时间:
2018-11-17 16:42:56
阅读次数:
167
我理解的数据结构(三)—— 队列(Queue) 一、队列 队列是一种线性结构 相比数组,队列对应的操作是数组的子集 只能从一端(队尾)添加元素,只能从另一端(队首)取出元素 队列是一种先进先出的数据结构(FIFO) 二、数组队列与循环队列 1. 数组队列 如果你有看过我之前的文章不要小看了数组或者栈 ...
分类:
其他好文 时间:
2018-11-17 16:13:17
阅读次数:
237
package ch03; /* * 队列类 */ public class MyQueue { // 底层实现是一个数组 private long[] arr; // 有效数据大小 private int elements; // 队头 private int front; // 队尾 priva... ...
分类:
编程语言 时间:
2018-11-17 12:05:20
阅读次数:
181
这道题目需要按要求由上至下、从左到右 输出 叶节点(层序遍历) 。根据输入的数据构建好二叉树并返回根节点, 再利用循环队列层序遍历二叉树,同时将叶节点以链式结构进行存储, 最后以链表的形式输出。 整个过程犯了很多不该犯的错误,嗯,程序可以运行就是得不到正确的输出,感觉不出那里出错了,没办法了,只好去 ...
分类:
其他好文 时间:
2018-11-13 23:58:39
阅读次数:
314
2018-11-13-17:53:44 1.可增长循环队列 队列是一种特殊的线性表,是一种先进先出(FIFO)的数据结构。它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。 下面是我用 ...
分类:
其他好文 时间:
2018-11-13 20:42:05
阅读次数:
284
实验4 4.1 实验目的 熟练掌握队列的顺序存储结构和链式存储结构。 熟练掌握队列的有关算法设计,并在循环顺序队列和链队列上实现。 根据具体给定的需求,合理设计并实现相关结构和算法。 4.2 实验要求 4.2.1 循环顺序队列的实验要求 循环顺序队列结构和运算定义,算法的实现以库文件方式实现,不得在 ...
分类:
编程语言 时间:
2018-11-11 00:02:41
阅读次数:
290