怎么学好数据结构与算法,好难啊

如题所述

先学好语言,这是学习的基础。
有些算法书上在学习语言部分会有一点算法包含在内,比如递归。
要学算法,先练好递归,这会对你深入学习其他算法有很大的帮助。
树形结构是数据结构中较难的部分,也是数据结构的基础,主要靠练。
还有就是,不要总是学习理论,合上书本认真地把算法用代码和实现是最重要的。
不要背代码,没用的,注重理解。
刚开始会有些不习惯,学得多了就好了。
-------------------------------------------------------------------------------------------
内容出自http://www.zhihu.com/question/19830721
希望对你有帮助
1. 程序 = 数据结构 + 算法

2. 学习:刚开始看时肯定会有些不清楚,因为你是刚学完 语言,对语言还不太熟练。你学习数据结构时找一本经典的数据结构书,看完一个数据结构后用语言将其实现。开始时的实现肯定会有困难,那么请百度下会有很多优秀的数据结构源码的。你可以模仿这些优秀的源码写。请记住一定要开始时自己实现,当被卡住了就看一下源码,看看自己被卡在了什么地方,引起注意以便下次自己会写。当你把书上的数据结构源码写了一遍之后,你已经超过了你绝大部分的同学。

3. 运用: 这时你就需要对这些数据结构加以运用,你可以在百度上搜索“某个数据结构 + ACM”,你就会看到一些题目,这些题目都是数据结构的运用,甚至有这些数据结构的变形。每种数据结构做5题左右。期间你还会遇到程序另一重要的方面算法,有不会的就 百度。 期间可以学到的数据结构和算法做小软件玩儿,例如压缩软件,五子棋之类的。

4. 深入: 当你完成了第三步你已经是你们学校的小高手了。这时看你的方向如果这时发现自己喜欢 ACM 的话就去搞 ACM,如果不感兴趣,就找自己感兴趣的技术学习一下,做几个完整的项目,例如写个编译器,或者实现一个简单的编程语言。

总结:无论选择哪条道路只要按照这些做了,你毕业后肯定会成为抢手货。
-------------------------------------------------------------------------------------------
也就这样了:
时间并不会因为你的迷茫和迟疑而停留,
就在你看这篇文章的同时,
不知道有多少人在冥思苦想,
在为算法废寝忘食,
不知道有多少人在狂热地拍着代码,
不知道又有多少提交一遍又一遍地刷新着OJ的status页面……
没有谁生来就是神牛,
而千里之行,
始于足下!
我期盼NOIP一等榜上有你(虽然我不知道你叫什么)。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-04-24

不管是哪门课程的学习,都需要有预习并且最好要有些基础;针对个别课程,甚至需要有基础,就像学习读课文至少需要会拼音便于认字一样,学习数据结构与算法,需要你必须掌握至少一门面向对象的编程语言。

除此之外,做到先看目录或是老师推荐的相关书本,能够有预习的习惯;上课时和老师做好互动很重要,课堂学习越投入,学习效果越好;课下有回顾和反思并且练习,是巩固效果的关键。

个人认为吧,编程的学习,甚至很多学习,都需要有实际的练习,要不然很容易出现“打开书了然、关上书茫然、实际运用不知所以然”的状况。

另外,现在市场上的课程真的稂莠不齐,据我了解到的情况,很多注重口碑的线下培训机构在招生的时候也会提高门槛,比如要求是大学学历、大学相关学历方可报名,而线上培训,尤其是进阶培训,也会提出写明“建议学习人群”,比如像下图一样在课程介绍里面写明。

当然,这并不是说没有基础的就不能够学习。

只是要想获得更好的学习效果,有一定的基础加上后来的努力更容易实现;如果是基础薄弱,就需要后天付出的更多,毕竟别人基础相对稳固的,也是因为前期的积累的。

刚好说到课程上,尤其补充一条就是,选择机构和老师很重要。

如果你已经选定了课程,那就好好听课,不要朝三暮四,毕竟“师傅请进门,修行在个人”,如果学习之后没有太大效果就考虑换老师或是后悔选了某个机构,或许应该先看看是否认真的在学习、在练习、在思考。有学习群,就和里面的同学多做课程内容方面的交流,相互促进。

如果还在选择机构和老师,千万找靠谱的、口碑较好的,尽管现在有很多广告混淆视听,但是在各大平台做筛选甄别的时候,还是可以有些方式可供参考。

首先,看学员的评价,一般这样的评价、尤其是付费课程的评价,不太容易像某宝的评价那样是刷出来的,因为刷评价的成本太高了,尤其是评价数量很多的时候;

另外,看机构学习人数、老师简介,很多课程老师的名字,包括授课老师简介里面,写的“杨老师、张老师、lili老师”等,除非是大家都熟知的称呼,比如“五分钟商学院”的润总(刘润老师),“恋上数据结构与算法第一季”的MJ(李明杰),这些就是业内人士知道的昵称,否则,一般来说,连姓名都没法公布的,还是需要慎重一下;

也可以问问其他同学,有没有较好的推荐,或是网上看看、问问,当然,相比网上的,可能问周围同学或是业内群里的小伙伴,会好一些,其中信息的可用性需要自行判断;

最后,也要看课程目录和简介等信息,尤其是付费课,如果遇到糟糕的课程,说真的,谁不心疼自己或是家里人辛苦赚的钱呢。看目录上有没有或是有多少是自己需要的内容,有的课,明明一节就讲完,偏偏分很多个小节,看起来便宜,其实很坑。

第2个回答  2016-10-09
多锻炼逻辑思维能力
相似回答