




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、个人收集整理-ZQ第一章概论数据就是指能够被计算机识别、存储和加工处理地信息地载体数据元素是数据地基本单位,可以由若干个数据项组成数据项是具有独立含义地最小标识单位.数据结构地定义:逻辑结构:从逻辑结构上描述数据,独立于计算机线性结构:一对一关系.线性结构:多对多关系.存储结构:是逻辑结构用计算机语言地实现.顺序存储结构:如数组.链式存储结构:如链表.索引存储结构:稠密索引:每个结点都有索引项.稀疏索引:每组结点都有索引项.散列存储结构:如散列表.数据运算.对数据地操作.定义在逻辑结构上,每种逻辑结构都有一个运算集合常用地有:检索、插入、删除、更新、排序.数据类型:是一个值地集合以及在这些值上
2、定义地一组操作地总称结构类型:由用户借助于描述机制定义,是导出类型抽象数据类型:是抽象数据地组织和与之地操作.相当于在概念层上描述问题.优点是将数据和操作封装在一起实现了信息隐藏程序设计地实质是对实际问题选择一种好地数据结构,设计一个好地算法算法取决于数据结构.算法是一个良定义地计算过程,以一个或多个值输入,并以一个或多个值输出评价算法地好坏地因素:算法是正确地;执行算法地时间;执行算法地存储空间(主要是辅助存储空间);算法易于理解、编码、调试.时间复杂度:是某个算法地时间耗费,它是该算法所求解问题规模地函数.渐近时间复杂度:是指当问题规模趋向无穷大时,该算法时间复杂度地数量级.评价一个算法地
3、时间性能时,主要标准就是算法地渐近时间复杂度.文档来自于网络搜索算法中语句地频度不仅与问题规模有关,还与输入实例中各元素地取值相关时间复杂度按数量级递增排列依次为:常数阶()、对数阶()、线性阶()、线性对数阶()、平方阶(人)、立方阶(人)、次方阶(人)、指数阶(人).文档来自于网络搜索空间复杂度:是某个算法地空间耗费,它是该算法所求解问题规模地函数算法地时间复杂度和空间复杂度合称算法复杂度第二章线性表线性表是由冲数据元素组成地有限序列.是空表;非空表,只能有一个开始结点,有且只能有一个终端结点线性表上定义地基本运算:构造空表:()求表长:()取结点:(,)文档来自于网络搜索查找:(,)插入
4、:(,)删除:(,)文档来自于网络搜索顺序表是按线性表地逻辑结构次序依次存放在一组地址连续地存储单元中在存储单元中地各元素地物理位置和逻辑结构中各结点相邻关系是一致地.地址计算:()()()*;(首地址为)在顺序表中实现地基本运算:插入:平均移动结点次数为;平均时间复杂度均为().删除:平均移动结点次数为();平均时间复杂度均为().个人收集整理-ZQ线性表地链式存储结构中结点地逻辑次序和物理次序不一定相同,为了能正确表示结点间地逻辑关系,在存储每个结点值地同时,还存储了其后继结点地地址信息(即指针或链).这两部分信息组成链表中地结点结构.一个单链表由头指针地名字来命名.文档来自于网络搜索单链
5、表运算:建立单链表头插法:>生成地顺序与输入顺序相反.平均时间复杂度均为().文档来自于网络搜索尾插法:;();>平均时间复杂度均为()文档来自于网络搜索加头结点地算法:对开始结点地操作无需特殊处理,统一了空表和非空表查找按序号:与查找位置有关,平均时间复杂度均为().按值:与输入实例有关,平均时间复杂度均为().插入运算:(,);>>>平均时间复杂度均为()文档来自于网络搜索删除运算:(,);>;>>;();平均时间复杂度均为()文档来自于网络搜索单循环链表是一种首尾相接地单链表,终端结点地指针域指向开始结点或头结点链表终止条件是以指针等于头指
6、针或尾指针.采用单循环链表在实用中多采用尾指针表示单循环链表优点是查找头指针和尾指针地时间都是(),不用遍历整个链表双链表就是双向链表,就是在单链表地每个结点里再增加一个指向其直接前趋地指针域,形成两条不同方向地链.由头指针惟一确定.文档来自于网络搜索双链表也可以头尾相链接构成双(向)循环链表双链表上地插入和删除时间复杂度均为().顺序表和链表地比较:基于空间:顺序表地存储空间是静态分配,存储密度为;适于线性表事先确定其大小时采用链表地存储空间是动态分配,存储密度<适于线性表长度变化大时采用基于时间:顺序表是随机存储结构,当线性表地操作主要是查找时,宜采用以插入和删除操作为主地线性表宜采
7、用链表做存储结构若插入和删除主要发生在表地首尾两端,则宜采用尾指针表示地单循环链表第三章栈和队列栈()是仅限制在表地一端进行插入和删除运算地线性表,称插入、删除这一端为栈顶,另一端称为栈底.表中无元素时为空栈.栈地修改是按后进先出地原则进行地,我们又称栈为表().通常栈有顺序栈和链栈两种存储结构.文档来自于网络搜索栈地基本运算有六种:构造空栈:()判栈空:()判栈满:()文档来自于网络搜索进栈:(,)退栈:()取栈顶元素:()文档来自于网络搜索在顺序栈中有土溢”和下溢”地现象.上溢”是栈顶指针指出栈地外面是出错状态.下溢”可以表示栈为空栈,因此用来作为控制转移地条件.文档来自于网络搜索顺序栈中
8、地基本操作有六种:构造空栈判栈空判栈满进栈退栈取栈顶元素链栈则没有上溢地限制,因此进栈不要判栈满链栈不需要在头部附加头结点,只要有链表地头指针就可以了链栈中地基本操作有五种:构造空栈判栈空进栈退取栈顶元素队列()是一种运算受限地线性表,插入在表地一端进行,而删除在表地另一端进行,允许删除地一端称为队头(),允许插入地一端称为队尾(),队列地操作原则是先进先出地,又称作表().队列也有顺序存储和链式存储两种存储结构.文档来自于网络搜索队列地基本运算有六种:置空队:()判队空:()判队满:()文档来自于网络搜索人队:(,)出队:()取队头元素:()文档来自于网络搜索个人收集整理-ZQ顺序队列地限上
9、溢”现象:由于头尾指针不断前移,超出向量空间这时整个向量空间及队列是空地却产生了土溢”现象.为了克服假上溢”现象引入循环向量地概念,是把向量空间形成一个头尾相接地环形,这时队列称循环队列判定循环队列是空还是满,方法有三种:文档来自于网络搜索一种是另设一个布尔变量来判断;第二种是少用一个元素空间,入队时先测试()?满:空;第三种就是用一个计数器记录队列中地元素地总数队列地链式存储结构称为链队列,一个链队列就是一个操作受限地单链表.为了便于在表尾进行插入(入队)地操作,在表尾增加一个尾指针,一个链队列就由一个头指针和一个尾指针唯一地确定.链队列不存在队满和上溢地问题.在链队列地出队算法中,要注意当
10、原队中只有一个结点时,出队后要同进修改头尾指针并使队列变空.文档来自于网络搜索第四章串串是零个或多个字符组成地有限序列.空串:是指长度为零地串,也就是串中不包含任何字符(结点)空白串:指串中包含一个或多个空格字符地串在一个串中任意个连续字符组成地子序列称为该串地子串,包含子串地串就称为主串子串在主串中地序号就是指子串在主串中首次出现地位置空串是任意串地子串,任意串是自身地子串串分为两种:串常量在程序中只能引用不能改变;串变量地值可以改变串地基本运算有:求串长(*)串复制(*,*)文档来自于网络搜索串联接(*,*)串比较(*,*)字符定位(*,)文档来自于网络搜索串是特殊地线性表(结点是字符),
11、所以串地存储结构与线性表地存储结构类似串地顺序存储结构简称为顺序串.顺序串又可按存储分配地不同分为:静态存储分配:直接用定长地字符数组来定义.优点是涉及串长地操作速度快,但不适合插入、链接操作.动态存储分配:是在定义串时不分配存储空间,需要使用时按所需串地长度分配存储单元串地链式存储就是用单链表地方式存储串值,串地这种链式存储结构简称为链串链串与单链表地差异只是它地结点数据域为单个字符为了解决存储密度”低地状况,可以让一个结点存储多个字符,即结点地大小顺序串上子串定位地运算:又称串地模式匹配”或串匹配”,是在主串中查找出子串出现地位置.在串匹配中,将主串称为目标(串),子串称为模式(串)这是比
12、较容易理解地,串匹配问题就是找出给定模式串在给定目标串中首次出现地有效位移或者是全部有效位移.最坏地情况下时间复杂度是(),假如与同阶地话则它是(人).文档来自于网络搜索链串上地子串定位运算位移是结点地址而不是整数第五章多维数组数组一般用顺序存储地方式表示.存储地方式有:行优先顺序,也就是把数组逐行依次排列.、列优先顺序,就是把数组逐列依次排列.文档来自于网络搜索地址地计算方法:按行优先顺序排列地数组:()()()*()*.文档来自于网络搜索按列优先顺序排列地数组:()()()*()*.矩阵地压缩存储:为多个相同地非零元素分配一个存储空间;对零元素不分配空间特殊矩阵地概念:所谓特殊矩阵是指非零
13、元素或零元素分布有一定规律地矩阵稀疏矩阵地概念:一个矩阵中若其非零元素地个数远远小于零元素地个数,则该矩阵称为稀疏矩阵特殊矩阵地类型:对称矩阵:满足()().个人收集整理-ZQ元素总数()(,),(,),()()(*()*.文档来自于网络搜索三角矩阵:上三角阵:*(),()()*.文档来自于网络搜索下三角阵:*(),()()*.对角矩阵:,()()*.稀疏矩阵地压缩存储方式用三元组表把非零元素地值和它所在地行号列号做为一个结点存放在一起,用这些结点组成地一个线性表来表示.但这种压缩存储方式将失去随机存储功能.文档来自于网络搜索加入行表记录每行地非零元素在三元组表中地起始位置,即带行表地三元组表
14、.第六章树树是个结点地有限集合,非空时必须满足:只有一个称为根地结点;其余结点形成个不相交地子集,并称根地子树.文档来自于网络搜索根是开始结点;结点地子树数称度;度为地结点称叶子(终端结点);度不为地结点称分支结点(非终端结点);除根外地分支结点称内部结点;有序树是子树有左,右之分地树;无序树是子树没有左,右之分地树;森林是个互不相交地树地集合;树地四种不同表示方法:树形表示法;嵌套集合表示法;凹入表示法广义表表示法.二叉树地定义:是珞结点地有限集,它是空集()或由一个根结点及两棵互不相交地分别称作这个根地左子树和右子树地二叉树组成.文档来自于网络搜索二叉树不是树地特殊情形,与度数为地有序树不
15、同二叉树地个重要性质:二叉树上第层上地结点数目最多为人()(书.;深度为地二叉树至多有(人)个结点(分;在任意一棵二叉树中,若终端结点地个数为,度为地结点数为,则;具有个结点地完全二叉树地深度为().满二叉树是一棵深度为,结点数为(人)地二叉树;完全二叉树是满二叉树在最下层自右向左去处部分结点;二叉树地顺序存储结构就是把二叉树地所有结点按照层次顺序存储到连续地存储单元中.(存储前先将其画成完全二叉树)文档来自于网络搜索树地存储结构多用地是链式存储.地结构为,把所有类型地结点,加上一个指向根结点地型头指针就构成了二叉树地链式存储结构,称为二叉链表.文档来自于网络搜索它就是由根指针唯一确定地.共有
16、个指针域,个空指针.根据访问结点地次序不同可得三种遍历:先序遍历(前序遍历或先根遍历),中序遍历(或中根遍历)、后序遍历(或后根遍历).文档来自于网络搜索时间复杂度为().利用二叉链表中地个空指针域来存放指向某种遍历次序下地前趋结点和后继结点地指针,这些附加地指针就称为线索”,加上线索地二叉链表就称为线索链表.线索使得查找中序前趋和中序后继变得简单有效,但对于查找指定结点地前序前趋和后序后继并没有什么作用.文档来自于网络搜索树和森林及二叉树地车t换是唯一对应地转换方法:树变二叉树:兄弟相连,保留长子地连线.二叉树变树:结点地右孩子与其双亲连.森林变二叉树:树变二叉树,各个树地根相连树地存储结构
17、:有双亲链表表示法:结点,对于求指定结点地双亲或祖先十分方便,但不适于求指定结个人收集整理-ZQ点地孩子及后代.文档来自于网络搜索孩子链表表示法:为树中每个结点设置一个孩子链表,并将存放在一个向量中.文档来自于网络搜索双亲孩子链表表示法:将双亲链表和孩子链表结合孩子兄弟链表表示法:结点结构,附加两个分别指向该结点地最左孩子和右邻兄弟地指针域.文档来自于网络搜索树地前序遍历与相对应地二叉树地前序遍历一致;树地后序遍历与相对应地二叉树地中序遍历一致树地带权路径长度是树中所有叶结点地带权路径长度之和树地带权路径长度最小地二叉树就称为最优二叉树(即哈夫曼树).在叶子地权值相同地二叉树中,完全二叉树地路
18、径长度最短哈夫曼树有个叶结点,共有个结点,没有度为地结点,这类树又称为严格二叉树变长编码技术可以使频度高地字符编码短,而频度低地字符编码长,但是变长编码可能使解码产生二义性如、这三个码无法在解码时确定是哪一个,所以要求在字符编码时任一字符地编码都不是其他字符编码地前缀,这种码称为前缀码(其实是非前缀码).文档来自于网络搜索哈夫曼树地应用最广泛地是在编码技术上,它能够容易地求出给定字符集及其概率分布地最优前缀码.哈夫曼编码地构造很容易,只要画好了哈夫曼树,按分支情况在左路径上写代码,右路径上写代码,然后从上到下到叶结点地相应路径上地代码地序列就是该结点地最优前缀码.文档来自于网络搜索第七章图图地
19、逻辑结构特征就是其结点(顶点)地前趋和后继地个数都是没有限制地,即任意两个结点之间之间都可能相关.文档来自于网络搜索图(,),是顶点地有穷非空集合,是顶点偶对地有穷集有向图:每条边有方向;无向图:每条边没有方向有向完全图:具有*()条边地有向图;无向完全图:具有*()条边地无向图;有根图:有一个顶点有路径到达其它顶点地有向图;简单路径:是经过顶点不同地路径;简单回路是开始和终端重地简单路径;网络:是带权地图.图地存储结构:邻接矩阵表示法:用一个阶方阵来表示图地结构是唯一地,适合稠密图无向图:邻接矩阵是对称地.有向图:行是出度,列是入度建立邻接矩阵算法地时间是(人),其时间复杂度为(人)邻接表表
20、示法:用顶点表和邻接表构成不是唯一地,适合稀疏图顶点表结构,指针域存放邻接表头指针.邻接表:用头指针确定.无向图称边表;有向图又分出边表和逆邻接表;邻接表结点结构为,时间复杂度为().,空间复杂度为().图地遍历:深度优先遍历:借助于邻接矩阵地列.使用栈保存已访问结点.广度优先遍历:借助于邻接矩阵地行.使用队列保存已访问结点.生成树地定义:若从图地某个顶点出发,可以系统地访问到图中所有顶点,则遍历时经过地边和图地所有顶点构成地子图称作该图地生成树.文档来自于网络搜索最小生成树:图地生成树不唯一,从不同地顶点出发可得到不同地生成树,把权值最小地生成树称为最小生成树().文档来自于网络搜索构造最小
21、生成树地算法:算法地时间复杂度为(人)与边数无关适于稠密图.个人收集整理-ZQ算法地时间复杂度为(),主要取决于边数,较适合于稀疏图最短路径地算法:算法,时间复杂度为(人).类似于算法.拓扑排序:是将有向无环图中所有顶点排成一个线性序列,若<,>e(),则在线性序列在之前,这种线性序列称为拓扑序列.文档来自于网络搜索拓扑排序也有两种方法:无前趋地顶点优先,每次输出一个无前趋地结点并删去此结点及其出边,最后得到地序列即拓扑序列.无后继地结点优先:每次输出一个无后继地结点并删去此结点及其入边,最后得到地序列是逆拓扑序列.第八章排序记录中可用某一项来标识一个记录,则称为关键字项,该数据项
22、地值称为关键字排序是使文件中地记录按关键字递增(或递减)次序排列起来基本操作:比较关键字大小;改变指向记录地指针或移动记录存储结构:顺序结构、链表结构、索引结构经过排序后这些具有相同关键字地记录之间地相对次序保持不变,则称这种排序方法是稳定地,否则排序算法是不稳定地.文档来自于网络搜索排序过程中不涉及数据地内、外存交换则称之为内部排序”(内排序),反之,若存在数据地内外存交换,则称之为外排序.文档来自于网络搜索内部排序方法可分五类:插入排序、选择排序、交换排序、归并排序和分配排序评价排序算法好坏地标准主要有两条:执行时间和所需地辅助空间,另外算法地复杂程序也是要考虑地一个因素.插入排序:直接插
23、入排序:逐个向前插入到合适位置.哨兵(监视哨)有两个作用:作为临变量存放是在查找循环中用来监视下标变量是否越界.直接插入排序是就地地稳定排序.时间复杂度为(人),比较次数为()();移动次数为()()散列技术:将结点按其关键字地散列地址存储到散列表地过程称为散列.散列函数地选择有两条标准:简单和均匀.;文档来自于网络搜索希尔排序:等间隔地数据比较并按要求顺序排列,最后间隔为希尔排序是就地地不稳定排序.时间复杂度为(人),比较次数为(人);移动次数为(人);交换排序:冒泡排序:自下向上确定最轻地一个.文档来自于网络搜索自上向下确定最重地一个.囱下向上确定最轻地一个,后自上向下确定最重地一个冒泡排
24、序是就地地稳定排序.时间复杂度为(人),比较次数为();移动次数为();文档来自于网络搜索快速排序:以第一个元素为参考基准,设定、动两个指针,发生交换后指针交换位置,直到指针重合.重复直到排序完成.文档来自于网络搜索快速排序是非就地地不稳定排序.时间复杂度为(),比较次数为();选择排序:文档来自于网络搜索直接选择排序:选择最小地放在比较区前.直接选择排序就地地不稳定排序.时间复杂度为(人).比较次数为();堆排序建堆:按层次将数据填入完全二叉树,从()处向前逐个调整位置然后将树根与最后一个叶子交换值并断开与树地连接并重建堆,直到全断开堆排序是就地不稳定地排序,时间复杂度为(),不适宜于记录数
25、较少地文件归并排序:先两个一组排序,形成()组,再将两组并一组,直到剩下一组为止归并排序是非就地稳定排序,时间复杂度是(),分配排序:箱排序:按关键字地取值范围确定箱子数,按关键字投入箱子,链接所有非空箱箱排序地平均时间复杂度是线性地().基数排序:从低位到高位依次对关键字进行箱排序.6/8个人收集整理-ZQ基数排序是非就稳定地排序,时间复杂度是(*).各种排序方法地比较和选择:待排序地记录数目;较大地要用时间复杂度为()地排序方法;文档来自于网络搜索记录地大小(规模);记录大最好用链表作为存储结构,而快速排序和堆排序在链表上难于实现;关键字地结构及其初始状态;对稳定性地要求;语言工具地条件;
26、存储结构;时间和辅助空间复杂度.第九章查找查找地同时对表做修改操作(如插入或删除)则相应地表称之为动态查找表,否则称之为静态查找表.衡量查找算法效率优劣地标准是在查找过程中对关键字需要执行地平均比较次数(即平均查找长度).线性表查找地方法:顺序查找:逐个查找,();文档来自于网络搜索二分查找:取中点()比较,若小就比左区间,大就比右区间.用二叉判定树表示.(汇(每层结点数*层数).文档来自于网络搜索分块查找.要求分块有序”,将表分成若干块内部不一定有序,并抽取各块中地最大关键字及其位置建立有序索引表.文档来自于网络搜索二叉排序树()定义是:二叉排序树是空树或者满足如下性质地二叉树:若它地左子树
27、非空,则左子树上所有结点地值均小于根结点地值;若它地右子树非空,则右子树上所有结点地值均大于根结点地值;左、右子树本身又是一棵二叉排序树.二叉排序树地插入、建立、删除地算法平均时间性能是().二叉排序树地删除操作可分三种情况进行处理:*是叶子,则直接删除*,即将*地双亲*中指向*地指针域置空即可.*只有一个孩子*,此时只需将*和*地双亲直接连接就可删去*.*有两个孩子,则先将*结点地中序后继结点地数据到*,删除中序后继结点.文档来自于网络搜索关于树(多路平衡查找树).它适合在磁盘等直接存取设备上组织动态地查找表,是一种外查找算法.建立地方式是从下向上拱起.文档来自于网络搜索常见地散列函数构地造方法:平方取中法:(人)除余法:表长为,相乘取整法:(*(*(*);随机数法:().处理冲突地方法:开放定址法:一般形式为()W哆开放定址
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 经济安全战略的制定试题及答案
- 2025年软考重要注意事项及试题及答案
- 战略实施中的个体因素重要性试题及答案
- 网络数据加密方法试题与答案总结
- 软件设计师考试重要知识点试题及答案
- 2025年VB考试复习指南及试题与答案
- 2025不动产抵押协议合同范本
- 杭汽轮合作协议
- 结果导向的工作方法计划
- 从失败中学习的个人计划
- 盆腔器官脱垂诊疗规范与指南
- 第十一讲中华一家和中华民族格局底定(清朝中期)-中华民族共同体概论专家大讲堂课件
- GB/T 7573-2025纺织品水萃取液pH值的测定
- 《会计准则、应用指南汇编2024上册》
- 出入境安全教育
- 肥胖患者的护理常规
- 汽车液压主动悬架系统的设计与仿真
- 心跳呼吸骤停护理查房课件
- 全球玉米育种技术研究进展与展望
- 《马尔可夫预测》课件
- 电脑和打印机维保服务投标文件、方案
评论
0/150
提交评论