什么是队列?队列(Queue)也是一种运算受限的线性表。它仅仅同意在表的一端进行插入,而在还有一端进行删除。同意删除的一端称为队头(front),同意插入的一端称为队尾(rear)。FIFO原则队列具有先进先出原则,与栈的先进后出形成对照。为什么设计循环队列?队列的顺序存储结构称为顺序队列,顺序队列...
分类:
其他好文 时间:
2015-01-20 23:37:24
阅读次数:
239
一、线性表的顺序存储需要三个属性
1.存储空间的起始位置
2.线性表的最大存储容量
3.线性表的当前长度
二、线性表的时间复杂度:
线性表的顺序存储结构,在存、读数据时,不管是哪个位置,时间复杂度都是O(1); 插入删除的时间复杂度是O(n),所以线性表适合元素个数不太变化,而更多是存取数据的应用。
三、线性表的结构示意图:
四、代码示例:
/*我们的计量方...
分类:
其他好文 时间:
2015-01-14 15:37:53
阅读次数:
176
第二章:线性表1.线性结构的基本特征答:线性结构是若干数据元素构成的有序(次序)集① 集合中必存在唯一的一个“第一元素”;② 集合中必存在唯一的一个 “最后元素”;③ 除第一元素之外,均有 唯一的前驱;④ 除最后元素之外,均有 唯一的后继.2.线性表的顺序存储结构和链式存储结构分别是______。(...
分类:
其他好文 时间:
2015-01-14 00:43:31
阅读次数:
243
静态查找表顺序查找有序查找折半查找(binary search)判定树 折半查找只适用于有序表,且限于顺序存储结构(对线性链表无法有效的进行折半查找)斐波那契查找:根据斐波那契序列的特点进行分割,假设开始时表中记录个数比某个斐波那契数小1即n=fu-1,然后将给定值key和 [fu -1 ].key...
分类:
其他好文 时间:
2015-01-13 07:50:39
阅读次数:
243
C++中的容器类包括“顺序存储结构”和“关联存储结构”,前者包括vector,list,deque等;后者包括set,map,multiset,multimap等。若需要存储的元素数在编译器间就可以确定,可以使用数组来存储,否则,就需要用到容器类了。1、vector 连续存储结构,每个元素在内存上是...
分类:
编程语言 时间:
2015-01-12 22:18:42
阅读次数:
216
关于线性表 ????? ? 线性表是零个或者多个数据元素的集合。它主要有以下三个特征: ????? ? 1:线性表的数据元素之间是有顺序的。 ?????? ?2:线性表中数据元素个数是有限的。 ?...
分类:
其他好文 时间:
2015-01-09 23:53:12
阅读次数:
322
队列(Queue):具有一定操作约束的线性表插入和删除操作:只能在一端插入,而在另一端删除先进先出1、队列的顺序存储实现队列的顺序存储结构通常由一个一维数组和一个记录队列头元素位置的变量front以及一个记录队列尾元素位置的变量rear组成(1)初始化#define MaxSize typedef....
分类:
其他好文 时间:
2015-01-09 20:44:52
阅读次数:
201
堆栈(Stack):具有一定操作约束的线性表只在一端(栈顶,Top)做插入和删除1、栈的顺序存储实现栈的顺序存储结构通常由一个一维数组和一个记录栈顶元素位置的变量组成。(1)存储#define MaxSize typedef struct { ElementType Data[MaxSize] in...
分类:
其他好文 时间:
2015-01-09 19:04:58
阅读次数:
151
<?php
/**
*第二种——非循环顺序队列的实现方法
*此方法,对第一种实现方法进行了优化,出队时不再移动元素
*仅仅改变头指针的位置即可
*
*此方法的优缺点:
*优点:插入和删除的时间复杂度都已是O(1),效率比较高
*缺点:元素删除后,前面的空间就无法再进行利用,造成空..
分类:
Web程序 时间:
2015-01-09 01:43:49
阅读次数:
187
<?php
/**
*第一种——非循环顺序队列的实现方法
*队列的头元素在为数组的下标为0的元素
*这种方法的优缺点:
*优点:头元素始终在下标为0的第一个元素,因此不需要设置头指针
*缺点:元素出队是会移动大量元素,时间复杂度为O(n),效率比较低
*
*/
classSqQueue{
private$Sq..
分类:
Web程序 时间:
2015-01-09 01:43:21
阅读次数:
142