怎么练算法
‘壹’ 怎么学习算法
1、先学好一种热门的编程语言基础,一定要精通;
2、学好数学,由浅入深,高等数学、线性代数、离散数学、概率论、数理统计、计算方法等等;
3、主要培养逻辑能力,可以去网上下载或参考经典算法题目的解法和思路,因为算数的部分计算机能搞定~
4、不要束缚自己的思维,头脑风暴一般,随意思考,算法想怎么写就怎么写,你会发现突然就写对了,但不知道为什么会对=_=
希望对你有帮助
‘贰’ 初学者如何学算法
先看看两本书,一本数据结构,一本离散数学。。。看完以后你就会。。。。
‘叁’ 做为一个初学者,如何才能学好算法呢,感觉自己很菜
凡事都讲究动机,你学习算法的目的是什么呢?目的不同,学法不同侧重不同。
如果你是准备跳槽,以面试为目的,可以先从cracking the coding interview入手,题目是按照链表,树图,递归这种章节安排的,每章都有题目,难度适中,第一遍自己写不出来很正常,画图分析,然后再做第二遍,第二遍就快很多,理解也深刻了,实在理解不了的算法,没办法,背吧,说不定到后面不知什么时候就理解了,所谓读书百遍,其意自现,算法也一样。
如果你是半路出家的程序员,看书觉得看不下去,可以试着看看视频,现在网络这么发达,网上有很多免费的精品视频,比如潭州教育老师的数据结构以及清华邓俊辉老师的数据结构都是特别好的课程。
最后一种就是你对算法理论和精髓确实感兴趣,且有一定的数学功底,你可以尝试研究下《算法导论》,甚至《计算机程序设计艺术》(反正我是看不下去)。
其实,无论出于哪种目学习算法,其实最重要的一点就是:多编程实践,多思考,这是废话,但这也是真理。
‘肆’ 搞编程的我是个算法渣,怎么样能很快的提升算法水平有什么必要的或者非常基础的算法需要掌握
找任何语言的网友总结的基础算法教程,网上有大量,参照代码从程序的角度去理解(语言是工具,思想是核心,不要告诉我你换了种语言就不懂算法)
往后有时间再慢慢补一下数学,毕竟算法基础还是数理,再慢慢提升算法思想吧。
我这里说的是逻辑算法很容易理解,但如果数据结构之类的算法,就需要一定的数学知识了
其实一般程序员刚工作时都不会涉及非常复杂的算法的,除非你后期做到主程或核心功能开发吧,否则不同的语言别人写好的第三方类库其实也提供了很多算法的现成方案,懂套用就可以了。
‘伍’ 怎样学好数据结构与算法
1、 有良好的学习兴趣
(1)课前预习,对所学知识产生疑问,产生好奇心。
(2)听课中要配合老师讲课,满足感官的兴奋性。听课中重点解决预习中疑问,把老师课堂的提问、停顿、教具和模型的演示都视为欣赏音乐,及时回答老师课堂提问,培养思考与老师同步性,提高精神,把老师对你的提问的评价,变为鞭策学习的动力。
(3)思考问题注意归纳,挖掘你学习的潜力。
(4)听课中注意老师讲解时的数学思想,多问为什么要这样思考,这样的方法怎样是产生的。
(5)把概念回归自然。所有学科都是从实际问题中产生归纳的,数学概念也回归于现实生活,如角的概念、至交坐标系的产生、极坐标系的产生都是从实际生活中抽象出来的。只有回归现实才能使对概念的理解切实可靠,在应用概念判断、推理时会准确。
2、 建立良好的学习数学习惯。
习惯是经过重复练习而巩固下来的稳重持久的条件反射和自然需要。建立良好的学习数学习惯,会使自己学习感到有序而轻松。高中数学的良好习惯应是:多质疑、勤思考、好动手、重归纳、注意应用。学生在学习数学的过程中,要把教师所传授的知识翻译成为自己的特殊语言,并永久记忆在自己的脑海中。另外还要保证每天有一定的自学时间,以便加宽知识面和培养自己再学习能力。
3、 有意识培养自己的各方面能力
数学能力包括:逻辑推理能力、抽象思维能力、计算能力、空间想象能力和分析解决问题能力共五大能力。这些能力是在不同的数学学习环境中得到培养的。在平时学习中要注意开发不同的学习场所,参与一切有益的学习实践活动,如数学第二课堂、数学竞赛、智力竞赛等活动。平时注意观察,比如,空间想象能力是通过实例净化思维,把空间中的实体高度抽象在大脑中,并在大脑中进行分析推理。其它能力的培养都必须学习、理解、训练、应用中得到发展。特别是,教师为了培养这些能力,会精心设计“智力课”和“智力问题”比如对习题的解答时的一题多解、举一反三的训练归类,应用模型、电脑等多媒体教学等,都是为数学能力的培养开设的好课型,在这些课型中,学生务必要用全身心投入、全方位智力参与,最终达到自己各方面能力的全面发展。
其它注意事项
1、注意化归转化思想学习。
人们学习过程就是用掌握的知识去理解、解决未知知识。数学学习过程都是用旧知识引出和解决新问题,当新的知识掌握后再利用它去解决更新知识。初中知识是基础,如果能把新知识用旧知识解答,你就有了化归转化思想了。可见,学习就是不断地化归转化,不断地继承和发展更新旧知识。
2、学会数学教材的数学思想方法。
数学教材是采用蕴含披露的方式将数学思想溶于数学知识体系中,因此,适时对数学思想作出归纳、概括是十分必要的。概括数学思想一般可分为两步进行:一是揭示数学思想内容规律,即将数学对象其具有的属性或关系抽取出来,二是明确数学思想方法知识的联系,抽取解决全体的框架。实施这两步的措施可在课堂的听讲和课外的自学中进行。
学数学的几个建议
1、记数学笔记,特别是对概念理解的不同侧面和数学规律,教师为备战高考而加的课外知识。
2、建立数学纠错本。把平时容易出现错误的知识或推理记载下来,以防再犯。争取做到:找错、析错、改错、防错。达到:能从反面入手深入理解正确东西;能由果朔因把错误原因弄个水落石出、以便对症下药;解答问题完整、推理严密。
3、记忆数学规律和数学小结论。
4、与同学建立好关系,争做“小老师”,形成数学学习“互助组”。
5、争做数学课外题,加大自学力度。
6、反复巩固,消灭前学后忘。
7、学会总结归类。可:①从数学思想分类②从解题方法归类③从知识应用上分类
学习上占第一,每个同学都可以做到。之所以你占不了第一,主要有两个原因:第一、生活方式、学习方法不正确,第二、没有坚强的毅力。在这里面毅力是第一重要的,学习方法是第二重要的。