关于《蓝桥杯》专栏
Posted 程序猿小火龙
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于《蓝桥杯》专栏相关的知识,希望对你有一定的参考价值。
目录
专栏背景
本人大二,大学本科在读,是一名刚修完算法与数据结构课程的小白。打算通过蓝桥杯这个算法竞赛
来提升自己的算法与数据结构设计的能力。因此我决定开始写这一系列的博客,同时也为需要备考蓝桥杯
或者其他算法比赛,也可能像我一样是算法的初学者,一个共同学习的知识平台。大家可以在评论区提问,
分享更好的解法或者是更通俗易懂的算法讲解。
我相信大家在刚刚接触算法开始刷题的时候都会有一些困惑:整个LeetCode或者洛谷等oj平台几千道题,到底应该从哪里开始刷题。
在开始做题后,发现大多数的题都没有任何思路,可能往那边坐一下午,剩下的只有一杯凉茶和屏幕上一行引入头文件的代码😮💨…别着急,俺也一样!!来跟大家分享一下我学习算法的经历吧~
个人经历
刚开始的时候,跟大家伙一样觉得这玩意十分的新鲜,看着网上大佬写的博客与题解,忍不住开始畅想未来,我也要写出这样的高质量题解,想到这里我随机选择了一道题(依稀记得旁边的标签贴着动态规划),又打开了网易云,播放一首姜云升《你一定能够成为你想要去成为的人》,跟着摇了起来,无所谓,哥看过流星坠落地面!!
读完题我瞬间就像陨石坠落一样跌入谷底。😖“小明需要把一定数量的黄金装进有容量限制的袋子里,请问如何装如能让利益作最大化…”我装你***,大概的提议就是这样吧,我的心情也是360°大转变,真的我就要放弃了,我就觉得自己不是学这一块的料。
我打开了csdn,搜索题解,哐哐哐出来一堆,我的心情才好转一些“动态规划看看这一篇就够了”“动态规划五部曲”“动态规划有这么难吗”,我心想你说的看这一篇就够了,让我来瞧一瞧到底怎么样,他**的果然根本看不懂,我又要放弃了,我又想放弃了!!
🥶我真的差点就开始摆了,冷静下来以后我分析了原因,到底为什么刷题效率如此低,为什么大多数都不会做??继续来看我的原因分析~
原因分析
大家平时刷题感觉效率低,浪费的时间主要在三点:
- 找题(一定要从基础开始做,不要还在第一层就想着要到大气层!!)
- 找到了不应该现阶段做的题(像我上述所写,动态规划根本不是我当时能碰的)
- 没有全套的优质题解可以参考(因此我来写一个咯~)
📌一个正确的刷题学习顺序对于初学者来说十分重要!!
那么我们到底应该按照怎样的刷题顺序来进行算法与数据结构的学习呢??
下面就让我结合多篇已经是该领域的专业的博客来给大家分享一下科学的学习顺序~😀
学习顺序
大体上
先学习数据结构再学习算法!这一点极为重要。
程序== 算法+ 数据结构
很多人都会跳过数据结构的学习,直接学习高难度的算法,这样是不科学的。因为很多算法需要建立在一些数据结构上才能实现,数据结构说白了就是存储数据的,比如链表,数组,哈希表等,有了数据的存储,我们才能设计数据交互的逻辑对吗?从而去剖析题目的需求,用《洋葱》大法一层一层拨开他的心~
具体化
按照如下类型来刷数组-> 链表-> 哈希表->字符串->栈与队列->树->回溯->贪心->动态规划->图论->高级数据结构,再从简单刷起,做了几个类型题目之后,再慢慢做中等题目、困难题目。
按照循序渐进的难度顺序把经典题目都做一遍,这样效率才是最高的!
常见算法与数据结构分享
PS:这张表不是我整理的,但是我觉得写的很好,分享给大家!
按照重要程度,同学们可以从1-10一次进行复习其中重点是5、6、7。真题为主!!
大家可以按照真题从前往后依次做过去,先把简单的做完,做好笔记,观察每一道题考查的要点,看看是否通过其他方法做。
当然后面我会在CSDN博客里日更一题或者一个算法(我尽量~)的进度来带领大家备考第十四届蓝桥杯。欢迎大家来观看、探讨竞赛问题~
关于竞赛和编程语言
由于本人是参加软件组的C/C++赛道,本专栏会采用C与C++语言来写题解、算法模板与解析。
还有就是算法的时间复杂度和一些竞赛的考试技巧也十分重要,后面在专栏里会专门出一篇博客,与大家探讨算法的时空复杂度与竞赛技巧的问题!!
创作不易,喜欢的话动动小手点个免费的赞啦,谢谢大家!!~😀💜❤️
以上是关于关于《蓝桥杯》专栏的主要内容,如果未能解决你的问题,请参考以下文章