408数据结构知识考点总结.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
408数据结构知识考点总结 基本概念 三要素 逻辑结构 物理结构 存储结构:顺序,链式,索引,散列… 数据运算 算法度量 时间复杂度 空间复杂度 线性表 顺序存储-顺序表 插入,查找,删除的操作及复杂度; ?随机存取和存储密度大的特性 链式存储 单链表 头插法,尾插法,查找,插入,删除的操作及复杂度; ?逆置,归并,双指针 双链表 循环链表 静态链表 栈和队列 栈 Stack 概念和基本操作 出栈排列:卡特兰数 存储结构 顺序栈,共享栈,链栈 队列 Queue 基本概念和操作 存储结构 顺序存储—“假溢出” 循环队列 双指针,模运算,队空队满判断 链式存储 双端队列 栈和队列的应用 栈 括号匹配和表达式求值 前中后缀表达式,手工转换加括号 递归 进制转换 迷宫求解 队列 层次遍历 缓冲区 调度算法 特殊矩阵的压缩存储 数组的定义和存储结构 矩阵的压缩存储 对称、三角、三对角矩阵 画图分析,找规律,推公式; 注意数组起始下标 稀疏矩阵 三元组,十字链表 串 定义和实现 字符串模式匹配 简单算法 O(mn) KMP算法 O(m+n) 前缀,后缀和匹配值的概念 手工求next数组 注意位序起始,右移后是否+1 计算机求解算法 优化:nextval数组 树与二叉树 树的基本概念 定义,子树,度,节点(分支和叶子),深度,高度,路径长度,森林; 性质:结点数=度数+1,高度与结点的关系 二叉树 定义及特性 特殊:满二叉树,完全二叉树; 性质:n0=n2+1,高度与结点数的关系 存储结构 顺序存储 数组下标与亲子关系、叶子结点数 链式存储(二叉链表) 遍历 先序、中序、后序遍历的概念与实现 递归、非递归实现的算法与转换 层次遍历 由遍历序列构造二叉树 前序和后序不能唯一确定一颗二叉树; 前序和中序相当于入栈和出栈顺序,卡特兰数 线索二叉树 概念与实现 空指针的利用,结构中的标志域 构造与遍历 不能直接找到先序前驱和后序后继 树和森林 树的存储结构 双亲表示法,孩子表示法,孩子兄弟表示法(二叉树表示法) 树、森林与二叉树的转换 左孩子右兄弟; ?二叉树无右孩子结点数=原树分支结点数+1; 二叉树无左孩子:原树叶子结点 树和森林的遍历 树的后根遍历对应二叉树的中序遍历 并查集及其应用 树的双亲表示法 操作 Find:判断是否属于同一集合; Union:并入同一集合 应用 判断图的连通分量个数; 判断是否有环; 克鲁斯卡尔算法 树与二叉树的应用 二叉排序树 BST 定义:中序遍历有序 基本操作:构造、查找、插入、删除 效率分析:平均查找长度ASL的计算 平衡二叉树 AVL 定义:平衡因子绝对值小于2 基本操作:插入 插入调整的4种情况:LL右单旋,RR左单旋,LR先左后右,RL先右后左; 深度h最少结点数的递推公式:nh=nh-1+nh-2+1; 结点先删后添形状可同可不同; 哈夫曼树和哈夫曼编码 哈夫曼树 定义:带权路径长度WPL最小的二叉树 构造:取权值最小两项合并后放回,直至树唯一 特点:不存在度为1的结点,总数2n-1 哈夫曼编码 可变长,前缀编码,不唯一,WPL相同且最优 图 图的基本概念 点vertex,边edge 有向图、无向图,简单图、多重图,完全图(简单完全图) 子图,连通、连通/强连通图、连通/强连通分量 连通图最多边:n-1个顶点的完全图; 强连通图最少边:n 生成树,生成森林 区分极大连通子图和极小连通子图 顶点的度,入度和出度 无向图度之和:2e; 有向图度之和:出度和+入度和 边的权、网 稀疏图、稠密图 可用E和VlogV关系判断 路径、路径长度、回路,简单路径和简单回路 距离:最短路径长度 图的存储及基本操作 邻接矩阵法 O(n^2); ?表示唯一,无向图对称,适合稠密图; A^n中[i,j]元素表示顶点i到j长度为n的路径数目 邻接表法 无向图O(n+2e),有向图O(n+e); ?表示不唯一,适合稀疏图; 顶点表、边表 十字链表法 存储有向图,不唯一 邻接多重表 存储无向图,不唯一 基本操作 算法取决于存储结构,注意查边、求度等操作的不同和复杂度 图的遍历 广度优先搜索BFS 借助队列,类似层次遍历,生成树矮; 空间复杂度O(v),时间复杂度:邻接表O(v+e),邻接矩阵O(v^2) 深度优先搜索DFS 递归或借助栈,类似先序遍历,生成树高; 空间复杂度O(v),时间复杂度:邻接表O(v+e),邻接矩阵O(v^2); 可利用判断是否存在回路(访问时间) 图的应用 最小生成树MST Prim算法 从某点开始,时间复杂度O(v^2),适合稠密图 Kruskal算法 选最小权值边,时间复杂度O(ElogE),适合稀疏图 最短路径 Dijkstra算法 求解单源最短路径(也可求全图),权值不能为负; ?不断选

文档评论(0)

资料撰写分享 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档