中南财经政法大学自考《数据结构》复习指导
来源:湖北专升本网 阅读人数:68 时间:2011-08-24 13:53
第一章:绪论
一、概念:
数据结构:是一门研究程序设计中计算机操作的对象以及它们之间的关系和运算的一门学科。
数据:是描述额观事物的数、字符以及所有能输入到计算机中被计算机程序加工处理的信息的集合。
数据元素:数据元素是数据的基本单位。(一个数据项或多个数据项(域)。数据项是数据的最小单位。结点、顶点、记录。
数据对象:是性质相同的数据元素的集合。
数据结构:研究是是数据元素之间抽象化的相互关系和这种关系在计算机中的存贮表示,并对每种结构定义各自的运算,设计出相应的算法,而且经过运算后所得的新结构一般仍然是原来的结构类型。
数据类型:是指程序设计语言中各变量可取的数据种类。
算法:是执行特定计算的有穷过程。特点:
·动态有穷·确定性·输入·输出·可行性。
湖北专升本网 中南财经政法大学自考《数据结构》复习指导第二章 线性表和数组
概念:
一、线性表:是N个元素构成的有限序列。
顺序存贮结构:地址计算,插入、删除。
链式存贮结构:单链表,查找、插入、删除。
循环链表:
双向链表:
二、数组:
以行为主;
以列为主;计算地址:
三、栈:是一种特殊的线性表,这种表只能在固定的一端进行插入与删除运算。
队列:是另一种特殊的线性表,删除运算限定在表的一端进行,而插入运算在另一端进行。
第三章:串
概念:是由N个字符组成的有限序列。
存贮结构:
顺序表示法:
1、紧缩格式 2、非紧缩格式 3、以单字节为单位的存贮方式
链式表示法:
串名的存贮映象:
第四章:树
一、概念:
树:是一个或多个结点的有穷集合T,且满足以下条件:
1、有且仅有一个指定的称作树根的结点;
2、除根以外的其余结点被分成m个不相交的集合,这些集合的每一个又都是树,并且称为根的子树。
结点的度:结点N的子树数称为结点的度。
树的度:树T中各结点的度的最大值称的树T的度。
叶子:树中度为0的结点称为叶子(终端结点)。
分枝结点:树中度不为0的结点称为分枝结点(非终端结点)。
双亲和孩子:若树中结点P的一棵子树的根是结点C,则我们称P是C的双亲或父母,反之称C是P的孩子。
结点的层数:树的层数为1,其余任一结点的层数等于它的双亲的层数加
树的深度:树中各结点的层数的最大值称为T的深度(高度)。
兄弟和堂兄弟:同一双亲的孩子之间互称为兄弟,其双亲在同一层的结点互为堂兄弟。
祖先和子孙:一个点的祖先是指从树的根到该结点所经分枝上的所有结点。一个结点的子树的所有结点都称为该结点的子孙。
有序树和无序树:如果树中结点各棵子树规定从左至右是有次序的,则称树为有序树,否则为无序树。
森林:N棵互不相交的树的集合称为森林。
二、树的存贮表示:
1、双亲数组表示:记录型一维数组:data,
2、孩子链表表示法:
·多重链表表示法: data,degree,link1,link2…
·单链表表示法:data,
3、左孩子右兄弟链表示法:lchild,data,
三、二叉树:
1、概念:是有限个结点的集合,它或者为空集,或者是由一个根结点以及两棵互不相交的且分别称为根的左子树和右子树的二叉树组成。五种形态:空,根,左,右,左右 2、性质:
·位于二叉树第I层上的结点,最多为2I-1;(I)
·深度为K的二叉树的结点总数,最多为2K-1(K)
·
满二叉树:一棵深度为K的具有2K-1个结点的二叉树
完全二叉树:在一棵二叉树中,若所有结点的度为0或为2的二叉树
顺序二叉树:如果深度为K的具有N个结点的二叉树,它的每一个结点都与深度为K的满二叉树中顺序编号是1到N的结点相对应的二叉树。
三、二叉树的存贮表示:
1、顺序存贮:
2、链表表示:lchild,data,
3、遍历:
·前序:根—左—右
·中序:左—根—右
·后序:左—右—根
四、线索二叉树:
五、树的二叉树表示,森林与二叉树的转换。
六、路径长度:树中一个结点到另一个结点之关的路径由这两个结点之间的分枝所构成,路径上的分枝数目称为它的路径长度。
哈夫曼树:WPL,哈夫曼码第五章:图
概念:一个图G由两个集合V和E组成,V是有限的非空顶点集,E是用顶点对表示的边集。
无向图,有向图;
邻接,关联,邻接到(于),关联于,孤立顶点。
顶点的度:图G中关联于顶点V的边的数目称为V的度。
所有顶点的度等于边的两倍。
子图
完全图:每对顶点之间都有一条边相连的图。在有向图中,每对顶点之间都有两条有向边相互关联的图。
在无向完全图中,边的总数为Cn2=n(n-1)
在有向完全图中,边的总数为Pn2=n(n-1)
路径:由边组成。
回路
连通图:对于无向图,如果图中任何两顶点都是可达的,则称此图为连能图。
对于有向图,如果图中任何两个顶点都是相互可达的,则此有向图是强连通的,如果图中任何两顶点至少有一个顶点另一个顶点可达,则称此有向图是单向连通的。
强连通分量:有向图的最大强连通子图称为它的强连通分量。 树图:其本质特征是连通性和无圈性,把不含圈的无向连通图称为树图。
网络:是每条边上带有数量指标的连通图。
邻接矩阵,邻接表
第六章 查找
查找:就是确定一个已给的数据是否出现在某个数据表中。
域(字段):组成记录的每个数据项。
关键字:通常记录中总存在某个或某组数据项,它们的值能唯一标识一个记录,这个(组)数据项称为关键字。
方法:顺序
二分
线性插值
分区
二叉排序树:如果将记录的键码按二叉树的结构来组织,并且假定树中任意非叶子结点的键码大于其左子树所有结点的键码(若左子树存在的话),而小于其右子树所有结点的键码(如右子树存在的话),这样的二叉树叫二叉排序树(二叉查找树)。 哈 希查找:
哈希函数:能把关键字映射成记录存贮地址的函数。
哈希表:假定数组HT[0··m-1]为存贮记录的地址空间,哈希函数H以每个记录的关键字值K作为输入,产生一个落在[0··m-1]内的整数H(K),并以它作为K所标识的记录在表HT中的地址或索引号,这样产生的记录表H(K)叫做 ··
构造哈希函数的方法:
直接定址法
除留余数法
平方取中法
折叠法与移位法
数字分析法
冲突处理:
开放定址法: 1、线性探测法 2、伪随机探测法
链地址法
第七章:排序
内部排序:
外部排序:
内部:冒泡 选择 插入 归并 堆排序 快速排序 基数
堆:每个非终端结点的关键字大于等于它的孩子结点的关键字