大家好,今天小编关注到一个比较有意思的话题,就是关于java语言改进的问题,于是小编就整理了1个相关介绍Java语言改进的解答,让我们一起看看吧。
JAVA算法能力差,该怎么提高?
谢谢邀请!
J***a程序员有不少都在从事应用级开发岗位,与C语言程序员相比,J***a程序员往往在算法设计方面的能力稍差一些,与R语言程序员相比就更是如此了。
J***a程序员大部分都是在从事Web开发、Android开发以及一些app的后端服务开发等任务,这些开发的特点往往都是以实现具体业务逻辑模块为主,由于J***a的封装能力比较强,所以这些程序员平时设计算法的机会并不多,这是导致J***a程序员算法能力差的根本原因。当然,大部分应用级程序员基本上都是如此,包括PHP、C#、JavaScript、OC等语言的程序员。
如果要想解决算法问题要从以下几个方面入手:
第一:系统的学习一下算法基础知识。算法基础知识是提升算法能力的关键,算法问题无非就是排序、统计、查找、规划等问题,但是这些问题的背后却有大量的具体内容需要掌握,算法问题是解决逻辑问题的根本,从这个角度来说,算法是每个程序员都应该系统学习的内容。
第二:系统的学习一下数据结构。数据结构和算法是不分家的,如果说算法是解决问题的思路,那么数据结构则是具体的实现方法,所以程序设计通常被认为是算法设计加数据结构。J***a实现数据结构的过程是提高算法能力的一个重要基础,所以这部分实验是非常关键的。
第三:与实际问题相结合。判断一个程序员的算法设计能力,往往是通过具体的问题来体现的,作为一个程序员来说,如何把算法与实际问题相结合是一个难点,也是学习过程中的重点。J***a语言自身是一个可以做落地应用的编程语言,所以不少研发人员都会选择J***a做实际项目的实现语言,我在早期做机器学习项目的时候就是***用J***a语言实现的(后来改用Python了)。
作者简介:中国科学院大学计算机专业研究生导师,从事IT行业多年,研究方向包括动态软件体系结构、大数据、人工智能相关领域,有多年的一线研发经验。
欢迎关注作者,欢迎咨询计算机相关问题。
掌握常用的数据结构和算法,多练练一些经典的算法题目,对各种算法进行归纳,另外看看一些编程之美之类的算法书,一般的算法都能是一些已知算法的变形或改进。感觉工作里面一些复杂的问题用工程的方法去解决比设计出个新的算法要好些,毕竟纯粹想出一个新的算法还是对智商要求很高的,不可能***都是算法***啊,应用为主吧。
J***a中的算法大多还是和思维逻辑关系挺大的,给你一个需求,首先建立的还是思想,有了思想然后和算法结合就能够实现了,你可以百度找找别人的代码逻辑思维和算法来学习,J***a只要经历项目多了,见到的多了,用到的多了,自然就会有了自己的代码逻辑和算法,所需可以找找大神的优质代码进行借鉴和学习。
谢邀。
1.个人觉得多做题目,在题目的应用中得到锻炼,光看理论,代码什么的很抽象,题目来的实在。
2.买本宝典回来,闭关修炼,最经典的就是算法导论,能练到几层就看你自己的的造化了。
3.学会几个基本的排序算法,然后其余的到网上找算法题做
首先,J***A与算法不是绑定关系,即J***a不仅可以实现算法,而算法也不一定非要用j***a来写。所以题主的问题,我认为其重点在于算法。
在计算机本科学习[_a***_]中,会有专门的课介绍算法,我们当时用的是中文版的《算法导论》,这本书现在某电商网站上打出的旗号是“程序员必读经典”,这可是连《thinking in j***a》都不敢说的,为什么?
因为程序员可以不会J***A,但是不可以不会算法。编程语言只是工具,算法才是驱动工具的灵魂。
在校期间,老师通常介绍的是比较浅显常用的算法,重点是培养你的计算机思维,并且希望你今后能够举一反三,自主的设计使用算法。常见的基础算法有递归,动态规划,贪心,深度最优,广度最优等等。但是这些无论是在面试还是实际工作中都是不够的,因此,你需要在课外时间主动的去了解更多的算法。
上面的大部头算法书籍,对于大多数人来说都是一个难啃的骨头,里面有些数学推导过程很容易把人绕懵。因此我推荐大家去网易云课堂看MIT的《算法导论》视频课,里面那个高个子会把一些数学推导,从很基础的部分开始推,对于初学者来说也是非常友好的体验。
当你拥有了算法的基础知识后,就可以到LeetCode上刷一些算法题了。这个网站是国外编程人员找工作必备,有些大公司比如谷歌微软甚至会主动联系上面表现优异的用户,邀请其参与公司面试。LeetCode上面的算法题分类十分全面,既可以根据难度分类,也可以根据算法类型分类。这意味着你既可以从简单的题开始扩充自己的知识广度,也可以针对某一类型的算法进行深度尝试。
此外,LeetCode还支持多种语言,包括J***a,Python,JS,C等等,题主可以尝试在上面用J***A去解题,刚好完美锻炼到你认为不足的“J***A算法能力”。
当你把LeetCode上的题刷到三分之一的时候,我想你一定就能感受到自己的进步了。
到此,以上就是小编对于j***a语言改进的问题就介绍到这了,希望介绍关于j***a语言改进的1点解答对大家有用。