一.语法基础
想参加算法竞赛就必须会使用一门编程语言,编程语言是竞赛的基础,如果你还没有学习编程就想参加蓝桥杯,那么我建议你先去学习一门编程语言,这里推荐C/C++,因为C语言更适合算法竞赛,java这种严谨的语言更适合做项目使用,不过如果你已经学习了java或者python等也没有问题的啦,毕竟这三个语言都是可以参加蓝桥杯的。语法学习我建议在7-14天,多多练习巩固语法知识。
如果你目前还很迷茫,请务必看完,应该会对你的学习过程有所帮助,如果你已经有目标了,可以把这篇文章当作查漏补缺。
二.数据结构与算法
这是最重要的一方面,因为是算法竞赛,肯定是基于算法和数据结构的,常见的算法和数据结构图我放在下面,大家可以看图了解一下
以上图片内容来自博主英雄哪里出来的公众号夜深人静写算法,已获得授权
这方面的学习可以是视频,书籍,博客等。这边给大家推荐一下视频和书籍,大家根据自身情况选择学习方式。首先是视频,我首推浙江大学的《数据结构》这门课,陈越老师和另外一位老师讲的很通透
java语言我推荐尚硅谷的《数据结构与算法》
python的话可以看清华大学博士讲解python数据结构与算法
这几门课b站上都有的,可以直接搜。
书籍的话《大话数据结构》和《算法》第四版都可以,算法导论不建议初学者去接触,很容易劝退
博客的话csdn等就可以直接搜索了。
三.刷题
既然是算法竞赛,那么肯定离不开刷题,这里也是推荐几个刷题网站,各位可以选择自己喜欢的刷题网站。
1.洛谷
洛谷里面有各种noip普及组,提高组,noi以及各省省选,洛谷原创等好题。这里面的题目是让你从0到AC,能很好的锻炼自己的编码能力,如果你是小白可以去刷洛谷的官方题单,把每道题刷完理解之后刷刷蓝桥杯真题就能拿省一啦!
2.北大POJ
这个OJ我没怎么用过,不过是北京大学的OJ,一定不会差,大家可以放心冲
3.AcWing
AcWing这个网站因为y总认识的,里面的好题好课也很多,大家可以放心冲
4.力扣
力扣这个网站只用写到接口函数,主函数和头文件不用自己写,对于算法竞赛来说不如以上三个网站,力扣题目也更适合找工作,面试,大家酌情考虑。
四.经验分享
想必各位在学习刷题的过程也遇到过很多问题,我也不例外,给大家分享一下我是如何过度的
首先就是学习数据结构与算法的时候,我刚接触时间复杂度空间复杂度的时候根本看不懂,这方面大家不用担心,过一遍有基本的认知就好了,以后你题做多了一眼就能看出时间复杂度,而且蓝桥杯也不考算法的时间复杂度公式一类的。
然后是链表等其他数据结构,第一次学链表的时候我是也不理解,直接连踩两个大坑,如果你也不懂的话不要慌,理解一遍链表之后先越过它,继续学习别的,等你把数据结构过一遍之后有个基本的了解就可以去看算法做做题了,最后你会在不断的做题中慢慢理解数据结构并且可以自己敲出来代码,当然还是要练题的。
大家首先接触算法的话我建议先去学习排序算法和查找算法,排序各位着重学习快速排序和归并排序就好,自己手敲一遍代码之后学习用stl,跟着题单或者其他的刷题就好,之后就是二分查找,双指针这两个,建议各位手敲更好,stl的话会用也ok,跟着落谷题单或者是其他OJ网站找一下题目练习就可以。
之后大家可以学习一下递归和贪心算法,学习和排序算法一样,找一些题目练一练
练好理解之后有两个选择,第一去复习一遍数据结构,这次学习用不了很长时间,因为你已经学过了,并且现在回去学会有不一样的体验。第二就是开始啃搜索和动态规划这两座大山。
不过你啃搜索和DP(动态规划)肯定也会回去复习数据结构,所以直接去复习吧,每个数据结构都做几道题巩固,现在的你可以写出来的!
最后就是搜索和动态规划两道大墙,搜索目前蓝桥杯用得到是深度优先搜索和广度优先搜索,深度优先搜索也是暴力的一种,算是蓝桥杯的必备算法了,这方面各位一定要多刷题。毕竟这是最重要的一方面,如果搜索掌握的好,拿奖就是板上钉钉。如果遇到不会的题也可以拿搜索来骗分,十分的好用。广度优先用到的不是很多,练几道题就能理解了。
动态规划,动态规划是算法世界的一堵大墙,动态规划难起来可以突破天际,这方面各位也要多多练习,背包问题,线性dp,最长公共子串等。因为蓝桥杯开始出很多动态规划的题,这方面也是需要学习的。
最后就是真题练习阶段,蓝桥杯历年真题
http://oj.ecustacm.cn/viewnews.php?id=1021
上面基本就是我的学习路线 各位可以根据我的学习路线定制自己的学习路线
我在时间复杂度 链表 搜索 动态规划都被卡住过 这是很正常的 大家一定要努力去理解 去做题 题刷的多了 该明白的都明白了
上面没提及的算法大家也是要了解的 做几道题巩固一下 比如线段树 树状数组 最短路 质数筛 最大公因数和最小公倍数这种基本的数学必须要懂得 注意是必须要懂 这些也不难 学习一下基本都可以理解敲出代码
如果觉得我的文章还不错,麻烦各位点个关注和三连,以后我会输出更多优质内容!