知识大全 09年自考《数据结构》各章要点一[4]
Posted 指针
篇首语:一知半解的人,多不谦虚;见多识广有本领的人,一定谦虚。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 09年自考《数据结构》各章要点一[4]相关的知识,希望对你有一定的参考价值。
单链表运算
·建立单链表
·头插法 s >next=head;head=s;生成的顺序与输入顺序相反 平均时间复杂度均为O(n)
·尾插法 head=rear=null;if(head=null) head=s;else r >next=s;r=s; 平均时间复杂度均为O(n)
·加头结点的算法 对开始结点的操作无需特殊处理 统一了空表和非空表
·查找
·按序号 与查找位置有关 平均时间复杂度均为O(n)
·按值 与输入实例有关 平均时间复杂度均为O(n)
·插入运算 p=GetNode(L i );s >next=p >next;p >next=s;平均时间复杂度均为O(n)
·删除运算 p=GetNode(L i );r=p >next;p >next=r >next;free(r);平均时间复杂度均为O(n)
单循环链表是一种首尾相接的单链表 终端结点的指针域指向开始结点或头结点 链表终止条件是以指针等于头指针或尾指针
采用单循环链表在实用中多采用尾指针表示单循环链表 优点是查找头指针和尾指针的时间都是O( ) 不用遍历整个链表
双链表就是双向链表 就是在单链表的每个结点里再增加一个指向其直接前趋的指针域prior 形成两条不同方向的链 由头指针head惟一确定
双链表也可以头尾相链接构成双(向)循环链表
双链表上的插入和删除时间复杂度均为O ( )
cha138/Article/program/sjjg/201311/22844相关参考
第一章概论 数据就是指能够被计算机识别存储和加工处理的信息的载体 数据元素是数据的基本单位可以由若干个数据项组成数据项是具有独立含义的最小标识单位 数据结构的定义 ·逻辑结构从逻辑结构上描
顺序表和链表的比较 ·基于空间 ·顺序表的存储空间是静态分配存储密度为适于线性表事先确定其大小时采用 ·链表的存储空间是动态分配存储密度<适于线性表长度变化大时采用 ·基于时间 ·
第二章线性表 线性表是由n≥个数据元素组成的有限序列n=是空表;非空表只能有一个开始结点有且只能有一个终端结点 线性表上定义的基本运算 ·构造空表Initlist(L) ·求表长Listl
抽象数据类型ADT ·是抽象数据的组织和与之的操作相当于在概念层上描述问题 ·优点是将数据和操作封装在一起实现了信息隐藏 程序设计的实质是对实际问题选择一种好的数据结构设计一个好的算法算法取
队列(Queue)是一种运算受限的线性表插入在表的一端进行而删除在表的另一端进行允许删除的一端称为队头(front)允许插入的一端称为队尾(rear)队列的操作原则是先进先出的又称作FIFO表(F
在顺序栈中有上溢和下溢的现象 ·上溢是栈顶指针指出栈的外面是出错状态 ·下溢可以表示栈为空栈因此用来作为控制转移的条件 顺序栈中的基本操作有六种 ·构造空栈 ·判栈空 ·判栈满 ·进
矩阵的压缩存储为多个相同的非零元素分配一个存储空间;对零元素不分配空间 特殊矩阵的概念所谓特殊矩阵是指非零元素或零元素分布有一定规律的矩阵 稀疏矩阵的概念一个矩阵中若其非零元素的个数远远小于零
广义表是n(n≥)个元素的有限序列其中的元素是原子或者是一个广义表 广义表表头和表尾的概念 ·若广义表LS非空(n≥)则这个广义表的第一个元素就是表头 ·其余的元素组成的表称为LS的表尾所以
顺序串又可按存储分配的不同分为 ·静态存储分配直接用定长的字符数组来定义优点是涉及串长的操作速度快但不适合插入链接操作 ·动态存储分配是在定义串时不分配存储空间需要使用时按所需串的长度分配存储
第四章串 串是零个或多个字符组成的有限序列 ·空串是指长度为零的串也就是串中不包含任何字符(结点) ·空白串指串中包含一个或多个空格字符的串 ·在一个串中任意个连续字符组成的子序列称为该串