第一章 绪论

  • 时间复杂度的算法(选择题经常出):一般不难,主要考察你对循环的掌握,注意while和do-while的区别。

  • 数据结构:物理结构和逻辑结构

    • 物理结构又叫存储结构,分为顺序存储、链式存储、散列存储、索引存储
    • 逻辑结构分为线性结构和非线性结构:
      • 线性结构:栈、队、顺序表等
      • 非线性结构:树、图、网
    • 如何区分:一个逻辑结构往往能被多个物理结构所表示,像栈可以是数组,也可以是链表,那么这种数据结构就肯定是逻辑结构,而线索二叉树必须要用链式存储,那么它就必定是物理结构。
  • 算法的五大特性:有穷性、正确性、可行性、输入、输出。

    • 顺口溜:有证(正))可出入

第二章 线性表

这一章内容内容非常重要,一定要多做算法题,它为后面的内容奠定了基础

  • 线性表分为顺序表和链表:他们两个相比较

    • 顺序表:支持随机访问,但是插入删除不方便,且大小固定,不好扩充
    • 链表:不支持随机访问,但是插入删除灵活,且支持动态变化,大小不定

基础:链表的存储结构,和链表的插入删除(牢牢掌握)(选择填空必考!)

进阶:两个有序链表的合并,检查链表是否为循环链表、不带头结点的链表如何逆置

重点是:关于链表的各种算法(做天勤此章非选择题不要跳,全做!)必考!

第三章 栈和队列

  • 相同点:都是线性表
    不同点:栈先进后出,队列先进先出

    注意:队列和栈只是一种逻辑结构!

    • 栈(顺序表示): int stack[100] , top = -1;

      • 进栈:stack[++i] = 100;// stack[0] = 100;
      • 栈:push, pop, 栈空、栈满
    • 队:入队、出队、对空、队满(循环队列是重点

考点:

  1. 该章节往往和前一章结合起来考,大家一定要牢牢掌握栈和队的特性,有些算法题利用它们的特性会简单很多。

  2. 题目经常会考大家:什么样的数据结构最适合当作队列?此题的考点在于大家对队列这一数据结构的掌握。

该题技巧: 我们是通过队头和队尾来对队列进行操作的,那么一个数据结构是否合适当做队列的关键在于这个数据结构能否很快的找到队头和队尾 ,比如带尾指针的单循环链表,它就很适合充当队列。

第四章 串(咱不考)

第五章 数组、矩阵、广义表

重点:通过数组的起始地址和下标,求出数组某元素的物理地址
例如 int a[100][100];//a的起始地址为2000则a[i][j]的位置 = 2000 + (i * 100 +j) *4;

第六章 树与二叉树

  1. 树的存储结构:孩子兄弟表示法
    typedef struct BTNode {
    int data;
    struct BTnode* lchild, rchild;
    }BTNode;

  2. 树的基础概念:度(树、结点)结点关系 层次 树的高度 完全二叉树、满二叉树(牢牢掌握)

    • 二叉树的分支、叶子数量、高度等容易结合在一起出考题
    • 总分支数 = 总节点数-1:例:m阶树(考题经常通过这个例子扩展)
      n1 + 2n2 + …….+ mnM = N – 1;
  3. 树的遍历:先序 中序 后序(至少掌握递归的代码,非递归的尽量能写出来)

  4. 线索二叉树(考过但不多,需要掌握)

  5. 霍夫曼树(大题必考):给你一堆权重不同的元素,让你得到他们的编码

  6. 树和森林的转换以及森林的遍历

第七章 图

  1. 图的基本概念:有向图、无向图。
  2. 弧、路径、度(入度、出度)、完全图、连通分量和强连通分 量、连通图和强连通图
    (特别注意连通图和强联通图、连通分量和强连通分量)
  3. 图的存储结构:邻接矩阵、领接表(一定要能写出结构体)
  4. 图的遍历:深度遍历和广度遍历(掌握代码)
  5. 最小生成树:prim算法(了解算法,一般考操作,还没考过prim的代码)
  6. 最短路径:迪杰特斯拉算法(考操作不考代码但要了解代码)
  7. 拓扑排序:会操作就行
  8. 关键路径:没考过,了解

第八章 排序

该章节选择题和大题都很可能考

  1. 排序算法的优劣:一是看时间复杂度,二是看空间复杂度,三是稳定性

  2. 插入排序:直接插入、希尔排序、折半插入排序(直插和折半掌握算法)

  3. 交换排序:冒泡排序、快速排序(全都掌握算法,经常考快排的操作)

  4. 选择排序:简单选择排序(会代码)、堆排序(会操作)

  5. 二路并归排序、基数排序(会操作就行)

  6. 顺口溜:快些归队(堆) -> 时间复杂度为O(log2n)的
    情绪不稳定,快些选一堆 -> 不稳定的算法
    (这句顺口溜在大家的天勤书上是有的)

第九章 查找

这是我认为最容易出错的一章,注意B-树、平衡二叉树旋转、散列表

  1. 查找:通过一个算法查找一个元素的时间复杂度

  2. 查找基础算法:顺序查找、折半查找、分块查找

  3. 便于查找的逻辑结构:二叉排序树、平衡二叉树

  4. B-数:

    • 基础概念:m阶b树一个结点最多有m-1个关键字,
      最少 m/2-1个关键字(根节点除外)
    • 通过上面的条件可以推理出m阶b树最多有m个分支,
      最少有【m/2】(向上取整)个分支
      b树的操作:增加关键字、删除关键字(难点,易出错)
  5. 散列表(必考):

    • 构造方法:除留取余法(最常用)

    • 冲突解决:线性探查法、平方探查法、链地址法(不容易产生堆积问题,效率较高)、再散列法

    • 散列表效率:散列函数、冲突解决方法、装载因子α(n/m)

考题经常要你求查找成功和失败时的平均查找长度

考研咨询

学长qq:2607219580
24qq群:655691303

天理-数据结构(考研)相关推荐

  1. 快速排序的难点_数据结构考研重难点解析:快速排序

    数据结构是计算机专业考研重点内容,大部分院校都是考到了数据结构,其中快速排序是其中的重点难点内容,因此中公考研计算机教研室为大家整理的"数据结构考研重难点解析:快速排序",希望对大 ...

  2. 2021年北京交通大学925数据结构考研真题回忆版

    2021年北京交通大学925数据结构考研真题回忆版 2021北京交通大学数据结构925研究生入学考试试题 制作人:杨路恒 一.填空题 1.一组关键字为(46,79,56,38,40,84),则利用堆排 ...

  3. 2019数据结构考研复习指导习题代码(王道论坛)

    2019数据结构考研复习指导习题代码(王道论坛) 1.从顺序表删除具有最小值的元素(假设唯一)并由函数返回被删除元素的值.空出的位置由最后一个元素补充,若顺序表为空则显示出错信息并退出运行. bool ...

  4. 2023王道数据结构考研习题汇总

    2023王道数据结构考研复习习题汇总目录 文章目录 2023王道数据结构考研复习习题汇总目录 第2章:线性表 2.2线性表的顺序表示-综合应用题(基础题1-9) 2.2线性表的顺序表示-综合应用题(4 ...

  5. 北方工业大学数据结构考研

    北方工业大学数据结构考研资料 选择题:<课上试卷>中的选择题的1.2.4.7.13是在19研试卷上出现的原题,其他题目难度也不大. 简答题:栈的进进出出.拓扑排序.深度优先搜索.广度优先搜 ...

  6. 2019数据结构考研(一)

    2019数据结构考研(一) 知识框架 数据结构的基本概念 数据:数据是信息的载体,是所有能描述事物属性的数,字符以及所有能输入到计算机被计算机程序识别和处理的符号的集合 数据元素:数据元素是数据的基本 ...

  7. 数据结构考研:数据结构的三要素:逻辑结构,存储结构,数据计算的详细区分与讲解(软件工程/计算机/王道论坛)

    一.问题背景 不管是计算机专业的考研初试还是工作面试,数据结构都是很重要的课程.而博主最近看的王道论坛2020的数据结构开篇就有数据结构的三要素:逻辑结构,存储结构,数据计算,而在数据结构的考研真题和 ...

  8. 中国石油大学计算机摸底考试试题,2017年中国石油大学(华东)计算机与通信工程学院859数据结构考研仿真模拟题...

    目录 2017年中国石油大学(华东)计算机与通信工程学院859数据结构考研仿真模拟题(一).... 2 2017年中国石油大学(华东)计算机与通信工程学院859数据结构考研仿真模拟题(二).. 13 ...

  9. 北京交通大学925数据结构考研历年真题

    北京交通大学925数据结构考研历年真题: 注:北京交通大学计算机学院从13年开始招收研究生. 下载链接: https://download.csdn.net/download/qq_36371594/ ...

最新文章

  1. Python多线程中阻塞(join)与锁(Lock)的使用误区
  2. golang中的strings.Replace
  3. 基于pygame的射击小游戏制作(五)绘制开始按钮
  4. 第一章 TCP/IP协议族
  5. 有时间了要研究一下Stack Exchange的开源项目
  6. Ruby on Rails本地安装方法
  7. JSTL Tutorial with Examples – JSTL Core Tags
  8. 关于百度地图根据经纬度获取城市信息的接口
  9. servlet 之forward和sendRedirect跳转
  10. Android性能测试用例
  11. attachEvent兼容各浏览器事件
  12. saltstackmysql return报错
  13. react-native获取农历日期和二十四节气
  14. 运营商大数据怎么获客的?一篇文章告诉你
  15. JavaScript--->内置对象自定义对象*笔记
  16. 前端测试系列---静态页面测试
  17. Micromedia Flash Player已终止一项可能不安全的操作解决办法
  18. 开关电源基本原理和种类-反激-正激
  19. 网络安全与渗透:kali系统,namp端口扫描(一)此生无悔入华夏,男儿何不带吴钩
  20. linux的磁盘文件系统特点总结

热门文章

  1. [Ubuntu]使用DataDog集成跟踪Django项目
  2. bzoj4372 烁烁的游戏
  3. 【CVPR20超分】Zooming Slow-Mo: Fast and Accurate One-Stage Space-Time Video Super-Resolution
  4. 尼康d850相机参数测试软件,新功能介绍二:景深合成与自动调焦_尼康 D850_数码影像评测-中关村在线...
  5. 收藏 网页设计的常识!
  6. 校招回忆录---小米篇
  7. 机器学习课后题——贝叶斯
  8. 洛谷P1979 华容道(dfs)
  9. ACRO2010__系统性综述: 达到缓解的AS患者能否停用TNF拮抗剂
  10. 3D电视与3D眼镜的工作原理