知识大全 09年自考《数据结构》各章要点一[7]
Posted 知
篇首语:不要以为努力只是自己的事,别忘了生命赐给你的春光!本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 09年自考《数据结构》各章要点一[7]相关的知识,希望对你有一定的参考价值。
队列(Queue)是一种运算受限的线性表 插入在表的一端进行 而删除在表的另一端进行 允许删除的一端称为队头(front) 允许插入的一端称为队尾(rear) 队列的操作原则是先进先出的 又称作FIFO表(First In First Out) 队列也有顺序存储和链式存储两种存储结构
队列的基本运算有六种
·置空队 InitQueue(Q)
·判队空 QueueEmpty(Q)
·判队满 QueueFull(Q)
·入队 EnQueue(Q x)
·出队 DeQueue(Q)
·取队头元素 QueueFront(Q)
顺序队列的 假上溢 现象 由于头尾指针不断前移 超出向量空间 这时整个向量空间及队列是空的却产生了 上溢 现象
为了克服 假上溢 现象引入循环向量的概念 是把向量空间形成一个头尾相接的环形 这时队列称循环队列
判定循环队列是空还是满 方法有三种
·一种是另设一个布尔变量来判断
·第二种是少用一个元素空间 入队时先测试((rear+ )%m = front)? 满 空
·第三种就是用一个计数器记录队列中的元素的总数
队列的链式存储结构称为链队列 一个链队列就是一个操作受限的单链表 为了便于在表尾进行插入(入队)的操作 在表尾增加一个尾指针 一个链队列就由一个头指针和一个尾指针唯一地确定 链队列不存在队满和上溢的问题 在链队列的出队算法中 要注意当原队中只有一个结点时 出队后要同进修改头尾指针并使队列变空
cha138/Article/program/sjjg/201311/22847相关参考
单链表运算 ·建立单链表 ·头插法s>next=head;head=s;生成的顺序与输入顺序相反平均时间复杂度均为O(n) ·尾插法head=rear=null;if(head=nul
第一章概论 数据就是指能够被计算机识别存储和加工处理的信息的载体 数据元素是数据的基本单位可以由若干个数据项组成数据项是具有独立含义的最小标识单位 数据结构的定义 ·逻辑结构从逻辑结构上描
顺序表和链表的比较 ·基于空间 ·顺序表的存储空间是静态分配存储密度为适于线性表事先确定其大小时采用 ·链表的存储空间是动态分配存储密度<适于线性表长度变化大时采用 ·基于时间 ·
第二章线性表 线性表是由n≥个数据元素组成的有限序列n=是空表;非空表只能有一个开始结点有且只能有一个终端结点 线性表上定义的基本运算 ·构造空表Initlist(L) ·求表长Listl
抽象数据类型ADT ·是抽象数据的组织和与之的操作相当于在概念层上描述问题 ·优点是将数据和操作封装在一起实现了信息隐藏 程序设计的实质是对实际问题选择一种好的数据结构设计一个好的算法算法取
在顺序栈中有上溢和下溢的现象 ·上溢是栈顶指针指出栈的外面是出错状态 ·下溢可以表示栈为空栈因此用来作为控制转移的条件 顺序栈中的基本操作有六种 ·构造空栈 ·判栈空 ·判栈满 ·进
矩阵的压缩存储为多个相同的非零元素分配一个存储空间;对零元素不分配空间 特殊矩阵的概念所谓特殊矩阵是指非零元素或零元素分布有一定规律的矩阵 稀疏矩阵的概念一个矩阵中若其非零元素的个数远远小于零
广义表是n(n≥)个元素的有限序列其中的元素是原子或者是一个广义表 广义表表头和表尾的概念 ·若广义表LS非空(n≥)则这个广义表的第一个元素就是表头 ·其余的元素组成的表称为LS的表尾所以
顺序串又可按存储分配的不同分为 ·静态存储分配直接用定长的字符数组来定义优点是涉及串长的操作速度快但不适合插入链接操作 ·动态存储分配是在定义串时不分配存储空间需要使用时按所需串的长度分配存储
第四章串 串是零个或多个字符组成的有限序列 ·空串是指长度为零的串也就是串中不包含任何字符(结点) ·空白串指串中包含一个或多个空格字符的串 ·在一个串中任意个连续字符组成的子序列称为该串