同意重要的:
并不是这样的,算法的优差,有时候可能是感觉不出来的。但是主要是其结构,也就是你解题的思路。那才是真正需要去细分的,说白点就是效率总题还有就是思路啦!
我个人认为,好的算法是每个程序都应该尽力去实现的!
支持,以前学数据结构不知道能用在哪里,现在项目里用到了才算明了。
一定要学好,那是基础的基础
什么叫不重要,你要做到记录上千万,并发数上几百,算法就是一点一点计较的,现在在看CACHE策略,全是算法。
如果是稍微大型一定的程序 ,许多地方算法改进都没有效果(我做过很多这样的无用功)
而关键的地方就决定了产品竞争力.
我不这么认为,虽然我现在不作应用,在高校读书,比如一个最简单的论坛,不过发发帖子什么的,很简单吧,但是,你写出的代码,要承受上千人同时在线,你敢说“哦,no,机器配置不够,我们升级吧”要不就是:集群什么就出来了。算法在这种情况下,价值就体现出来了。我工作经验不算长,不过肯定不会太短。
那是运气好,这种机会我不想有第二次,不知道你有没有做过海外上市公司的东西,所有的投资都需要事先披露,那种国外直接来的独立审计机构写出来评语不是玩的,假如派来的是计算机专家,你怎么办。而且 不是一审就好,听他们公司说大概是不定期,一般在一到两年审一次。我不知道下次他们还会不会继续审这个。
单纯的就商业而讲,现在那些什么录入系统,企业见的多了,早就不感兴趣,你要想把你的东西卖个好价钱,就要有点噱头,比如电信都在搞CRM数据挖掘,医院搞什么智能诊断,门槛高了,当然利润也大幅度上升。
不重要的:
不重要~~~经典的数据结构都给你封装好了.拿来使就是了;参看java.util.Collection的文档;
怎么会不重要呢,当数据量大的时候,nlogn和n*n就相差很多,更别说是指数级了
一个程序可能99.9%的地方都不需要考虑算法,但是剩下的 0.1%的地方就决定了软件的核心竞争力。
算法,一般只要你的程序写得不是很烂,是不会太注意这个的.
一般为了可读性会降低一些性能
一般情况下只要功能实现就可以了。 因为劳动力的价格要比机器的价格要底。所以不用太考虑系统的运算
无语了……等你实际工作了就知道了;当然,如果你是从事计算机应用数学,专门写底层算法的除外(好象机会不是很多?)
模糊的:
算法严重影响性能的时候,还是需要考虑的
没学好的话工作还是可以的,以后慢慢学就是了
我是做mis系统的,没有什么算法方面的事情。
不算重要,但是可以决定你的薪资价位的高低。不过术有专攻,做MIS/ERP重要的是业务和需求,做芯片和底层就是相反了。偶尔学学,可以加强对程序的理解力。其实这个东西和内功一样,耍枪弄棒谁都会,但真要出手大场面时就有区别了。时间允许的话建议学学,否则只要掌握基本数据结构用法应付普通程序是没有问题的。哦,另外,程序高手取决于算法能力、设计高手取决于设计模式。不要把程序和项目设计扯在一起谈。算法是战术、设计模式是战略,二者是这样的关系。这下你是否能明白?
算法是二奶,设计模式是三妾,二者不能跟“成功产品”这个老婆相比!