算法设计题是408数据结构的必考题,一般有14分左右,相当于7道选择题。很多考生反映在做算法设计题时很茫然,尤其是跨考的考生,表示读完题目后完全没有思路,不知从何下手。虽然这些题目在ACM选手看来都是小儿科,但对于没有经过专业训练和大规模练习的考研学生来说,没有思路、不会做、实属正常,不必慌张,不要气馁。
一、408真题历年算法设计题统计
统计发现,在历年的算法设计题中,数组和单链表考察的频次最高,12年共计考察9次;二叉树考察2次,都是二叉树的基本遍历;集合考察1次,实则是考察快速排序算法。可以看出,算法设计题考察的都是常见的数据结构和算法,都在我们的复习范围之内。值得一提的是,考研中的算法设计真题大多来自,一个专门练习算法与数据结构的网站。
二、考点分析
(一)数组和单链表
数组和单链表是最基础、最简单的数据结构算法分析与设计,元素都是按照特定规则线性排列,没有太多的变换花样。总结来讲,数组和单链表有以下几种解法:
1.双指针
当使用单指针无法解决问题时,不要吝啬内存空间,多设置一个指针可以更高效率地解决问题。(2009、2012年真题)
2.空间换时间
当题目要求时间最优时,要考虑另开辟存储空间,以争取用空间换时间。(2013、2015、2018年真题)
3.数组、单链表逆置
在考题中,数组、单链表的逆置通常是解题的一个过程,也是一个基本操作。(2010、2019年真题)
(二)二叉树
算法设计题如果考察二叉树,那么一定会涉及二叉树的遍历,我们需要掌握前序、中序、后序以及层次遍历的非递归实现方法。(2014年真题)
(三) 排序
由于排序算法都是固定的,算法设计题考察的概率较小,只在2016年真题考察过。
三、总结建议
算法设计题要得满分是比较难的,因为要在有限的时间内写出最优解;要得零分也是比较难的,除非一字不写。所以,当读完算法设计题没有解题思路时,先定义好要用到的变量和函数,写好注释,然后尝试用暴力法实现,不要管时间复杂度了,在考场上花费大量时间去思考最优解是得不偿失的。不求得满分算法分析与设计,只求多得分。
限时特惠:本站持续每日更新海量各大内部创业课程,一年会员仅需要98元,全站资源免费下载
点击查看详情
站长微信:Jiucxh