数据结构是程序员的必备基本功,数据结构应该是算法的基础,算法一般初学的时候很难理解,掌握算法需要完成两个步骤,真正了解算法的本质就是从概念上理解,从理论上不掌握很难进行实践,虽然编程行业讲究的是实践,在没有准确的理论基础上进行实践类似于无头苍蝇,想要真正的掌握一种算法,需要经过经过几种步骤,第一掌握理论,第二用代码实现,第三回归到算法本身进行变通,如此反复进行。
很多程序员在学习之初不太重视数据结构,但复杂的算法都是在数据结构的基础上堆积出来的,数据结构书本有关于C语言版本,有C++版本,java版本等等,数据结构是多种编程语言的基础,所以有各种编程语言版本,算法和具体哪种编程语言没有直接的关系,脱离开编程语言而存在。楼主说到的算法真的理解了,剩下就开始寻找对号的编程语言开始写代码,如果觉得代码无从下手从逻辑上分析不会跑出两个原因,其一算法还没彻底的理解;其二编程语言的基础没有掌握好,从理论转化成实践的能力还有待加强,需要对编程语言下功夫攻克。
一般是先学习基本的编程语言然后进行数据结构学习,最后再切入算法的学习,这个过程需要循序渐进,开始有点不适应也特别正常,本来算法的学习就是比较枯燥的,由于人工智能的带动,现在市场上急缺高级算法工程师,很多对口专门的学生没有什么编程经验就被招进公司去工作了,但是很多人对于人工智能还是保持一种怀疑态度,觉得是一种噱头但在实际过程中智能化的设备或者产品已经越来越普及了,包括头条公司的智能推荐都是智能的一种表现,前些日子任正非老爷子也提到了人工智能的重要性,提到华为公司生产一部手机只需要20秒的时间,全程几乎没有人员的参与,人工智能的发展必然带动算法岗位。
算法学习需要一个过程,需要把数据机构的基本要素掌握清楚,算法难在开头一旦有了感觉后边学习起来就比较快了,如果再辅助代码就会提高很快,标准的理论和实践想结合,不同的编程语言对于数据结构封装层次还不太一样,像C语言里面很多基本功能都要自己去实现,但在java,python等高级语言上面由于具备足量的类库,实现功能就会快捷许多,未来编程语言向着高度的集成化发展,实现一个功能如果换做C语言需要半个月时间,可能用高级语言只需要三天就能完成,就是这个道理。
学习算法要给预留好时间,从来都不是一蹴而就的事情,学习初期缺什么补什么,最后慢慢落实到位,算法代码的学习需要稳扎稳打,心急吃不了热豆腐
预览时标签不可点收录于话题#个上一篇下一篇