数据结构大题备考指南

DS二轮总路线(强化阶段,熟记熟背)

1.时间:2023-08-16——2023-09-16
2.二轮复习:
(1)每章知识点复习:看笔记和思维导图
(2)查找和排序
(3)大题备考:①应用题:跟王道强化课  ②算法题:每周一类算法题
3.总纲领:输出>>>输入。
4.遇到知识点,针对性地翻书看笔记捡知识点。二刷每章知识点是没有效率的!

408科目考试形式和试卷结构

数据结构考试大纲

考查目标

1.掌握数据结构的基本概念、基本原理和基本方法。
2.掌握数据的逻辑结构、存储结构及基本操作的实现,能够对算法进行基本的时间复杂度与空间复杂度的分析。
3.能够运用数据结构基本原理和方法进行问题的分析与求解,具备采用 C 或 C++语言设计与实现算法的能力。

一、线性表

(一)线性表的基本概念

(二)线性表的实现

      1.顺序存储

      2.链式存储

(三)线性表的应用

二、栈、队列和数组

(一)栈和队列的基本概念

(二)栈和队列的顺序存储结构

(三)栈和队列的链式存储结构

(四)多维数组的存储

(五)特殊矩阵的压缩存储

(六)栈、队列和数组的应用

三、树与二叉树

(一)树的基本概念

(二)二叉树

  1.二叉树的定义及其主要特征

  2.二叉树的顺序存储结构和链式存储结构

  3.二叉树的遍历

  4.线索二叉树的基本概念和构造

(三) 树、森林

  1.树的存储结构

  2.森林与二叉树的转换

  3.树和森林的遍历

(四)树与二叉树的应用

  1.哈夫曼(Huffman)树和哈夫曼编码

  2.并查集及其应用

四、图

(一)图的基本概念

(二)图的存储及基本操作

  1.邻接矩阵法

  2.邻接表法

  3.邻接多重表、十字链表

(三)图的遍历

  1.深度优先搜索

  2.广度优先搜索

(四)图的基本应用

  1.最小(代价)生成树

  2.最短路径

  3.拓扑排序

  4.关键路径

五、查找

(一)查找的基本概念

(二)顺序查找法

(三)分块查找法

(四)折半查找法

(五)树型查找

       1.二叉搜索树

  2.平衡二叉树

  3.红黑树

(六)B 树及其基本操作、B+树的基本概念

(七)散列(Hash)表

(八)字符串模式匹配

(九)查找算法的分析及应用

六、排序

(一)排序的基本概念

(二)插入排序

  1.直接插入排序

  2.折半插入排序

(三)气泡排序(bubble sort)

(四)简单选择排序

(五)希尔排序(shell sort)

(六)快速排序

(七)堆排序

(八)二路归并排序(merge sort)

(九)基数排序

(十)外部排序

(十一)排序算法的分析与应用

数据结构2道大题

算法题备考

1.考察范围:线性表(顺序表-数组,链表)、二叉树、图

2.对线性表的查找和排序算法——高效的算法。
(1)查找/排序算法按适用范围进行分类:①适用于链表  ②适用于顺序表
(2)优先关注复杂度低的算法,即高效的算法。
(3)优先关注十分钟内可能写出来的代码。反例:堆排序。

 应用题备考

1.备考策略

应用题备考策略
step1.认真完成历年真题的应用题部分

 step2.分模块准备应用题
线性表的应用:一元多项式的存储相加

链表存储一元多项式y=a+cx^{2}+ex^{4}

 

(1)数组的应用

对称矩阵的压缩存储:尚未在应用题中考过“对称矩阵压缩存储”,未来应用题有可能将无向图的邻接矩阵、对称矩阵压缩存储一起考察。

 上/下三角矩阵的压缩存储:2011 年 41 题曾考过“三角矩阵的压缩存储”。

三对角矩阵的压缩存储:“三对角矩阵”在应用题中的可考察性较弱,很难和其他考点一起综合考,更可能考小题。

(2)栈、队列的应用
(3)树的应用
(4)图的应用
(5)查找算法的分析和应用
(6)排序算法的分析和应用
(7)外部排序

2.备考注意事项

(1)画图:画数据结构的形态,模拟每种算法的执行过程。
(2)整理每种算法的应用场景,把查找和排序各种算法的应用场景做对比记忆。
(3)各类算法的时间、空间复杂度。烂熟于心!!!
(4)数学性质推演:树、图

3.历年题型总结

应用题的常见考法

注:①③⑥都会用到画图

(1)画图

         考察内容:画数据结构、算法的状态示意图
         考察年份:2019_42(2+3),2015_42(1),2014_42(2),2011_41(1+2),2010_41(1)

2019年 队列
2015年 图

2014年 图(综合考查:计网中的路由+数据结构中的图)
2011年 图+数组(上三角矩阵) 
2010年 查找(散列表)
 (2)写代码
①数据结构定义

2014_42(2)邻接表的定义

②重要的基本操作实现

2019_42(2+4)判断队空和队满+入队和出队的基本过程

(3)文字简答
①数据结构、算法的选择

a.根据题目给的场景,选择数据结构:2020_42(1),2019_42(1),2018_42(2),2014_42(1+2),2013_42(1+2)

2020年 树(哈夫曼树)
2013年 查找

 b.根据题目给的场景,选择算法:2022_42(1),2020_42(2+3),2012_41(2)

注:算法的选择分为两类情况,一种是唯一解(只有该算法能解决题干中的问题,如18年42(1)_prim或kruskal),另一种是最优解(有多种算法可以解决题干中的问题,查找和排序)。

2022年 查找(最优解:堆排序,次优解:选择排序)
【最难】②文字描述算法思想/过程

  技巧:画图辅助答题+画图举例描述算法的思想和过程
  考察年份:2022_42(1),2020_42(2+3),2012_41(2)

2012年 排序

③算法过程模拟、运用结果分析

a.题目给用例,给一个新算法:2021_42(1+2),2009_41
b.题目给用例,选择一个学过的算法:2018_42(1+3),2017_42(1),2014_42(3),2012_41(1),2011_41(3),2010_41(1)

2018年 图(综合考查:计网中的路由+数据结构中的图)
④算法性质分析

 a.学过的算法:2022_42(2),2013(1+2)ASL和初始状态的影响2012_41(1)归并排序最坏比较次数2010_41(1)散列表ASL
 b.题目给的算法:2021_42(3)稳定性

2012年 排序

出题角度:
a.时间、空间复杂度
b.排序算法的特别考点:比较次数分析(最好、最坏),稳定性分析,初始状态对排序算法的影响
c.查找算法的特别考点:ASL(成功、失败),初始状态对查找算法的影响

⑤数据结构性质推演

考察年份:2017_42(2+3)MTS唯一性,2016_42(1+2)树的特性(度、叶子数量、树高等),2015_42(2+3)无向图邻接矩阵乘法的数学含义

2017年 图
2016年 树

4.评分标准

(1)踩点给分,每小问至少1分。
(2)小问题越复杂,分值越高。
(3)对最终答案很确定,或预估1分的小问:直接写结果。
         对答案不确定,或计算过程负责易出错:要写一些关键步骤。
(4)描述过程太复杂、太浪费时间:直接写答案。【在平时做题要总结复杂题型的简化版答题步骤,以节省时间】比如关键路径的求法,2011_41(3)。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值