算法零基础如何入门

前言

      在最开始学习算法的时候,我感觉无从下手。向一些算法学的好的学长学姐请教之后得到的答案都是刷题,但是我打开刷题网站,发现题很难,学习的知识点十分的零碎,没有构成知识体系,题和题之间没有什么关联,也不清楚一道题背后的知识点,好不容易搞懂一道题,打开下一道题还是不会。后来在大佬的指点之下,学习了一段时间算法,在算法比赛中取得了一些小小的成就,让我信心大增,爱上了算法。虽然算法依旧属于小白水平,还需大量的练习,但是不像以前感到难以下手,不止从何开始。现在将这些方法分享给大家。

具体过程

         1.掌握一门编程语言

        c语言,c++,java,python,有一种即可。可以在哔哩哔哩网站找网课,一边听一边跟着敲的效果比较好,在这一学习过程中,会有很典型的例题,最好可以理解并自己敲出来,它的作用在于可以在脑海中形成一些很经典的模板,在之后的算法题中会用到,比如说最基本的如何交换两个变量的值.

我们需要设一个另外的变量t

t=a;

a=b;

b=t;

这种类似的模板十分经典,在后面的很多算法题中都会用到,在比赛中暴力算法可以帮助小白拿很大一部分分数,暴力算法就需要这些小的基本模板来支撑。基础不牢,地动山摇。有一个很好的编程基础是十分重要的,所以算法一时无法入手的同学,可以先把学习语言过程中遇到的例子先理解并可以自己敲出来。遇到太难的,可以先跳过,等有了一个好的基础再回来看。

       2.《数据结构》

   学完c语言之后,我们学校开始了《数据结构》这门课,这门课也是算法的一个基础课程,这里推荐大家去学一下慕课的《数据结构与算法》,多跟着敲一敲。有利于提升自己的代码水平。

       3.网站学习

    之后我比较推荐acwing这个网站,这一阶段可以先学《语法基础课》,这个网站有一个只有题目整理,但是没有讲解部分的免费课程,《c++语法基础》大家可以找一下,这个免费的我觉得已经够用了。基础薄弱的同学可以买一下带讲解的课程,(带讲解的acwing网课是需要花钱的,大家可以趁1024的时候囤一点,这个时候最便宜,也可以拼团买。或者收一下学长学姐的二手账号。这真的不是广告,不是广告,不是广告。)可以先去刷题,做不出来的时候再去听讲解,而不是直接听题目讲解部分。如y总所言basic不等于easy。先学语法基础再学算法基础。这样的顺序,对于小白来说比较友好,直接开始《算法基础》容易放弃。并且学起来会很困难。语法基础课,真的非常有用,花半个月时间琢磨完这个课,拿了蓝桥杯省一。当然有很大的运气成分在,填空题是被我蒙对的。老师讲解并不是这个课最值得的地方,我觉得最有用的部分,是买了这个课之后,课程里面带的题都被按知识点整理好了,这样刷对小白很友好,有利于形成知识体系。

ps:也可以去力扣按难度刷题,力扣这个刷题是免费的。也可以两个网站同时进行,配合起来刷题。

4.进阶

        4.学习完这门课就可以去acwing网站学习《算法基础课》啦,学完《算法基础》之后是《算法提升课》。对于大多数同学来说,学完《算法基础课》足以。算法基础课系统地讲了算法的知识点比如说二分,递归,递推这些。也可以去b站找免费的这类课程然后配合力扣进行刷题。

总结

        以上是我自己学习的经过,当然每个人的接受程度是不一样的,接受能力强的小伙伴可以直接跟着acwing网站《算法基础》《算法提升》走。个人的一点小建议,仅供参考,希望可以给入门迷茫的小伙伴起到一点点作用。

        除了上面这些以及《数据结构与算法》,《算法分析与设计》这门课,对于算法的学习也有一定的帮助。可以让我们对算法有个分类,看到一个题,知道它大概使用什么算法。

        算法的学习其实就是一个积累解题模板和解题思路的过程,大量刷题,量变引起质变。(常用的刷题网站有牛客,洛谷,力扣等等,大家可以找一个适合自己的)最后祝大家都取得理想的成绩~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值