【考研易忘知识点】数据结构

这篇具有很好参考价值的文章主要介绍了【考研易忘知识点】数据结构。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

第一章 绪论

  1. 数据的逻辑结构独立于其存储结构
  2. 可以用抽象数据类型定义一个完整的数据结构
  3. 数据的运算也是数据结构的一个重要方面:
  4. 二叉树和二叉排序树的逻辑结构和物理结构完全相同,但运算效率大不相同;如查找,二叉树O(n),二叉排序树O(logn)
  5. 一个算法是问题求解步骤的描述,五个基本特征:可行性、确定性、有穷性、输入、输出
  6. 好的算法:正确性、可读性、健壮性、效率与低存储需求
  7. 判断一个有向图是否存在回路的方法:拓扑排序和深度优先遍历算法

第二章 线性表

  1.  线性表是具有n个数据元素的有限序列
  2.  链式存储结构比顺序存储结构能更方便的表示出各种逻辑结构(画个图嘛就是)
  3.  顺序存储方式能用于存储线性表、树、图(邻接矩阵)
  4.  静态链表需要分配较大的连续空间,插入和删除不需要移动元素(和OS中的FAT即显示链接非常类似)
  5.  单链表中,增加一个头节点的目的是方便运算的实现
  6.  为了方便插入和删除数据 可以使用双链表存放数据

第三章 栈 队列 数组 

  1.  普通顺序队列的“上溢出”是一种“假溢出” 即 Q.rear==Maxsize 于是引出循环队列的概念 逻辑上看作一个环
  2.  队列长度的计算 (rear-front+MaxSize)%MaxSize
  3.  用单链表实现队列时 队头必须设置在链头(为了出队) 队尾可以设置在任何地方
  4.  链式存储方式的队列进行删除操作时 可能头尾指针都要修改
  5.  链队中 入队操作为 rear->next=x;x->next=NULL;rear=x;
  6.  栈的应用:递归 进制转换 迷宫求解 括号匹配
  7.  执行函数时 其局部变量一般采用栈进行存储
  8.  广度优先搜索需要用队列
  9.  消除递归不一定需要栈
  10.  栈是运算受限的线性表 只允许在单端操作
  11.  队列是运算受限的线性表 只允许在双端操作
  12.  适用于压缩存储稀疏矩阵的是:三元组表 十字链表
  13.  对特殊矩阵采用压缩存储的主要目的是减少不必要的存储空间

第四章 串和KMP(很简单)

  1.  KMP算法匹配时 next数组后跳到的位置也需要先比一次

第五章 树

  1. 树的路径长度是 从树根到每个节点的路径长度的总和
  2. 完全二叉树就是从满二叉树里摘出来的 把大序号的叶子结点去掉
  3. 度为n的树和n叉树是不一样的两种概念!!!
  4. 在完全二叉树中 若一个节点没有左孩子 则它必是叶结点
  5. 在完全二叉树中 叶子结点的双亲的左兄弟(若存在) 一定不是叶结点
  6. 完全二叉树和满二叉树都适合顺序存储
  7. 二叉树是逻辑结构 线索二叉树的物理结构
  8. n个节点线索二叉树中有n+1个线索
  9. 讲个笑话 后序线索二叉树求不出后序后继 前序线索二叉树求不出前序前驱 所以后序线索二叉树的遍历需要栈的支持
  10. 森林中 结点数-边数=树的个数
  11. 将森林转换为对应的二叉树 森林中的叶结点的个数等于二叉树中左孩子指针为空的结点个数
  12. 结点数=度数+1
  13. 在完全二叉树中,已知节点总数就可以确定其形状。已知其先序序列,便可知其节点总数,再根据先序序列确定每个节点的位置。实际上,只要已知完全二叉树的任一种遍历序列都可以唯一确定该二叉树。
  14. 在先序遍历二叉树的序列中,任何节点其子树的所有节点都是直接跟在该节点之后的
  15. 红黑树 左根右 根叶黑 不红红 黑路同 黑叔转 再染色 红叔染 爷变新(王道给的口诀很好用)  n个节点的红黑树高度≤2logn+1
  16. 快排递归次数与每次划分后得到的分区处理顺序无关(排序怎么乱入?)
  17. 前缀编码 任何一个字符的编码都不是另一个字符编码的前缀
  18. B树和B+树的根节点不受最小关键字数的限制
  19. 后根遍历与对应二叉树的中序遍历序列相同
  20. 并查集是双亲表示法存储的树

第六章 图

  1. 图的路径 由顶点和相邻顶点序偶构成的边所形成的序列
  2. 若从无向图任意顶点出发进行一次深度优先搜索即可访问所有顶点 则该图一定是 连通图
  3. 无向图中的连通分量是指 无向图中的极大连通子图
  4. 有向完全图一定是强连通有向图
  5. 生成树极小连通子图 连通分量是极大连通子图
  6. 回路不是简单路径(回路怎么可能是路径!!!气抖冷)气抖冷!!!!!
  7. 邻接矩阵 行是出度 列是入度
  8. 十字链表只用于有向图 邻接多重表只用于无向图
  9. 判断图中是否有回路  拓扑排序和深度优先遍历
  10. 注意拓扑排序和逆拓扑排序
  11. 各边权值相等时 广度优先遍历可以解决单元路径最短问题
  12. BFS DFS 时间复杂度一样  同拓扑排序 主要看邻接矩阵还是邻接表
  13. AOV网和DAG图(有向无环图)
  14. 最短路径一定就是简单路径  
  15. 一个有向图具有有序的拓扑排序序列 则他的邻接矩阵必定为三角阵
  16. 图的所有生成树的边数是相同的,其中数值之和最小的生成树为最小生成树。
  17.  简单图 不存在重复边 不存在顶点到自身的边
  18. 无向完全图 任意两个顶点直接都存在边 有向完全图 任意两个顶点之间都存在方向相反的弧
  19. 生成子图包括母图的所有顶点
  20. 连通图 任意两个顶点都是连通的
  21. 无向图中的极大连通子图称为连通分量 有向图的极大强连通子图称为有向图的强连通分量 一个单独的点是强连通图
  22. 图可以只有顶点没有边 树也可以
  23. 在无向图中讨论连通性 有向图中讨论强连通性
  24. 连通图的生成树是包括图中全部顶点的一个极小连通子图  非连通图的连通分量的生成树构成了连通森林
  25.  简单路径 顶点不重复出现的路径 简单回路 除第一个顶点 不出现重复的回路
  26. 有向无环图拓扑序列唯一 不能唯一确定图

第七章 查找

  1. 折半查找的判定树是平衡二叉树 所以和二叉排序树的性能有时不相同
  2. 红黑树 左根右 根叶黑 不红红 黑路同
  3. AVL平衡二叉树查找效率优于红黑树  红黑树的目的是为了插入 删除等操作
  4. 红黑树不是平衡二叉树  平衡二叉树是二叉排序树
  5. 如果红黑树的所有叶结点都是黑色的 那么他一定是一颗满二叉树
  6. 折半查找只能在顺序结构上进行
  7. 聚集现象是线性探测法所独有的
  8. B树的查找长度 n个关键字 m阶
  9. 对于n阶B树来说  首先得满足至少有一个节点有5个孩子   才能考虑其他
  10. 红黑树的内部节点中 红色节点可能超过一半  但加上叶节点就不会超过一半 查找路径上也不会超过一半  左右高度之差不超过两倍
  11. 黑高为h时 最少有2h-1个内部节点 最多22h-1个内部节点  注意黑高不会算自己(即当前根)

第八章 排序

  1. 拓扑排序不是排序算法
  2. 算法的稳定性与优劣无关
  3. 对同一线性表使用不同的排序方法 得到的排序结果可能不同  这与稳定性有关
  4. 希尔排序属于插入排序 在子表中使用直接插入排序 而非折半插入排序
  5. 折半插入排序的时间复杂度是O(n2)  就只是在查找的时候用了折半查找罢了 稍微优化了一下
  6. 堆中的次大值或次小值一定在第二层
  7. 快排堆排都不稳定  只有归并排序稳定  nlogn

数据结构算是几天之内重新过了一遍知识点,个人觉得数据结构的内容比较通俗易懂,学会了没那么容易忘记,与之相比,剩下的三本书可以说是折磨了。加油!文章来源地址https://www.toymoban.com/news/detail-721209.html

到了这里,关于【考研易忘知识点】数据结构的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数据链路层中一些零碎且易忘的知识点

    差错控制 差错的种类: 位错(比特错):0变1、1变0(这类差错是本节所探讨的差错) 帧错:帧丢失、帧重复、帧失序(这类差错只在提供可靠传输的数据链路层中才进行修复) 要记的编码(数据链路层可使用只检测差错的编码,也可使用纠错编码) 检错编码: 奇偶校验码

    2024年02月15日
    浏览(39)
  • Java学习之数据结构知识点

    Java学习系列知识点纯干货: 1.Java学习之Java基础部分知识点—传送门 2.Java学习之Java多线程知识点—传送门 3.Java学习之数据库知识点—传送门 4.计算机网络知识点—传送门 5.Java学习之数据结构知识点—传送门 6.操作系统知识点学习—传送门 一棵深度为k的有n个结点的二叉树,

    2024年02月07日
    浏览(50)
  • 数据结构与算法期末复习——知识点+题库

    (1)数据:所有能被计算机识别、存储和处理的符号的集合(包括数字、字符、声音、图像等信息 )。 (2)数据元素:是数据的基本单位,具有完整确定的实际意义。在计算机程序中通常作为一个整体进行考虑和处理。一个数据元素可由若干个数据项组成。 (3)数据项:构成数据元

    2024年02月12日
    浏览(55)
  • 数据结构选择题练习知识点整理【3】

    n 个点连通且无环的简单无向图为连通图,连通则至少有n-1条边,无环则只有n-1条边。n个点连通且无环的简单无向图有n-1条边,非零个数为2(n-1),零元素个数为n^2-2(n-1)。得出零元素个数为n²-2n+2。 算术表达式 中缀、前缀、后缀的互相转换 中-前 从右到左 数字入栈,碰见运算

    2024年02月06日
    浏览(52)
  • Java面试知识点(全)-数据结构和算法

    Java面试知识点(全)https://nanxiang.blog.csdn.net/article/details/130640392 注:随时更新 数组 数组的下标寻址十分迅速,但计算机的内存是有限的,故数组的长度也是有限的,实际应用当中的数据往往十分庞大;而且无序数组的查找最坏情况需要遍历整个数组;后来人们提出了二分查

    2024年02月05日
    浏览(62)
  • 数据结构之单链表的相关知识点及应用

     找往期文章包括但不限于本期文章中不懂的知识点: 个人主页 :我要学编程(ಥ_ಥ)-CSDN博客 所属专栏 :数据结构 目录 链表的概念及结构 链表与顺序表的区别与优劣势 链表的分类 单链表的实现 单链表中增加节点  单链表中尾插数据  打印单链表中节点的数据  单链表中

    2024年04月15日
    浏览(38)
  • 数据结构之双链表的相关知识点及应用

     找往期文章包括但不限于本期文章中不懂的知识点: 个人主页 :我要学编程(ಥ_ಥ)-CSDN博客 所属专栏 :数据结构 目录 双链表的实现  初始化双链表  在双链表中尾插数据  在双链表中尾删数据 在双链表中头插数据  在双链表中头删数据  在双链表中的指定位置之后插入

    2024年04月26日
    浏览(53)
  • C#学习笔记--数据结构、泛型、委托事件等进阶知识点

    ArrayList 元素类型以Object类型存储,支持增删查改的数组容器。 因而存在装箱拆箱操作,谨慎使用。 ArrayList和数组区别? ArrayList使用不用说明固定长度,数组则需要 数组存储的是指定类型的,ArrayList是Object ArrayList存在装箱拆箱,数组不存在 ArrayList数组长度用Count获取 而数组

    2024年02月08日
    浏览(50)
  • 软考知识点——数据结构:大顶堆与小顶堆、哈夫曼树

    目录 一、大顶堆与小顶堆 1.大顶堆与小顶堆的概念 2.大顶堆的构建 二、哈夫曼树 1.哈夫曼树的定义 2.基本概念 3.构造哈夫曼树 4.哈夫曼编码 大顶堆:每个结点的值都大于或等于其左右孩子结点的值。 小顶堆:每个结点的值都小于或等于其左右孩子结点的值。 以数组A=(2,

    2024年02月06日
    浏览(39)
  • 传输层中一些零碎且易忘的知识点

    端口号:共两个字节 不同类型的端口号: 服务端端口号 熟知端口号:0~1023 登记端口号:1024~49151 客户端使用端口号(短暂/临时端口号):49152~65535 要记得常见应用程序的熟知端口号 FTP:21 TELNET:23 SMTP:25 DNS:53 TFTP:69 HTTP:80 SNMP:161 首部与伪首部: 伪首部中协议字

    2024年02月15日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包