算法对程序员的重要性

Shine_小杰 2013-03-27 06:31:28
初级程序员 今天看到一本算法导论 想了解算法 然后想知道是不是一个好的程序员都要有好的算法
...全文
10490 119 打赏 收藏 转发到动态 举报
写回复
用AI写文章
119 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_18278741 2015-08-25
  • 打赏
  • 举报
回复
处理小数据的时候,好的算法的性能体现不出优势,但是当进行大数据的处理时候,一个好的算法的效率能提高成千上万倍! 比如对几千万个数据排序,你就能体现出归并排序和冒泡排序性能的差距,吓死你!
qq_26802509 2015-03-26
  • 打赏
  • 举报
回复
我有一绘图软件,可以绘图,也可以保存,但是不能另存为或者导出为DFX格式。最好是改成一有要有注册号注册就能用,并制作一个注册软件(注册机器).本人重金请高手编译破解,可以电话1 7 0 9 7 5 5 2 8 1 0 谈价钱,谈好后再加QQ我再发文件,文件内有软件的操作步骤。请您破解。
逍遥jc 2013-06-04
  • 打赏
  • 举报
回复
算法什么时候都存在,而区别只在于是否高效与实用。
Ahoo 2013-06-03
  • 打赏
  • 举报
回复
引用 100 楼 hongaiyan 的回复:
[quote=引用 24 楼 zbdzjx 的回复:] 算法很重要,但不是必要,关键是看需要
正解[/quote] 正解个P啊! 大都人 以为算法很是一个很高深的词汇,其实不然. 算法 用拆字法来理解的话 计算的方法. 这TM就是一个方法,思路嘛.就像你去跟你们老板提加薪一样,你肯定得提前组织一下语言,想想该如何说吧?你不会心血来潮,头脑一热就冲到你们老板办公室说 你要加班吧? 加薪的方法 => 算法.
sasksinger 2013-06-03
  • 打赏
  • 举报
回复
算法很重要,写代码规范性对往后的维护和升级很有作用。
viki117 2013-06-03
  • 打赏
  • 举报
回复
初级算法当然要懂,高级算法就难咯,比如图片清晰算法,视频高压算法,你这一句算法实在是太广了
jiaoshiyao 2013-06-03
  • 打赏
  • 举报
回复
引用 6 楼 sp1234 的回复:
比如说我说:计算3*4的时候我是采取“3+3+3+3”这种连续加了4次3的“算法”。你看在一般的概念中,算法就是这个用法。 除非特指某本书或者某个大学课程,否则它就是普通的一个词儿。对它过于担心,说明你实在是没有把编程当作爱好来学习,而(可能)是单纯当作讨饭的碗来用的。
我看到过你的好多回复 不能总是喷人啊
cxz7531 2013-06-03
  • 打赏
  • 举报
回复
引用 105 楼 zhanglu_king 的回复:
对业务需求的理解是最基础的,最重要的。个人觉得设计非常难
是的,算法是点,设计是面、甚至是体。比如常用的机械CAD软件UG NX和Cartia集成了大量的设计功能:二维三维图形、运动仿真、有限元边界元分析、刚度强度、应力应变、模态分析,这些功能中的任何一项国内都研究得很熟,没有一种算法是国内不会的,但就是开发不出一个能跟UG相媲美的CAD/CAM软件,原因是什么?还是设计功力不行。国人不善设计,只会写程序,是一个通病。
cxz7531 2013-06-03
  • 打赏
  • 举报
回复
引用 91 楼 rainbowsix 的回复:
[quote=引用 86 楼 cxz7531 的回复:] 引用 84 楼 sp1234 的回复:引用 83 楼 rainbowsix 的回复:大学时没好好读书吧。正确的定义应该是: 程序=算法+数据结构 同意。 当初看到那个,我就笑了。 程序=算法+数据结构,但软件却不等于算法加数据结构。 看大学里开发的程序,算法的界限极其模糊,所以“算法+数据结构”的说法也是值得怀疑的
1、程序=算法+数据结构,但软件却不等于算法加数据结构。 我没有说过软件等于算法加数据结构好吧。而且好像这个帖子里也没有任何人说过软件等于算法加数据结构。你在这里为什么要用呢? 2、算法的界限极其模糊,所以“算法+数据结构”的说法也是值得怀疑的 算法的概念很简单,只要小学有好好学习语文,采用望文生义的理解方式也能明白算法指的就是计算方法。 如果你不能理解什么是计算方法,以及算法的重要意义我这里给你讲个小故事(映像中也是课本上的,不知道你们学过没): 高斯是德国著名的大科学家,他最出名的故事就是在他10岁时,小学老师出了一道算术难题:计算1+2+3+……+100=? 这下可难倒了刚学数学的小朋友们,他们按照题目的要求,正把数字一个一个地相加.可这时,却传来了高斯的声音:“老师,我已经算好了!” 老师很吃惊,高斯解释道:因为1+100=101,2+99=101,3+98=101,……,49+52=101,50+51=101,而像这样的等于101的组合一共有50组,所以答案很快就可以求出:101×50=5050[/quote] 懂算法和数据结构只能当个程序员,还不能成为合格的软件工程师。会写程序,不会做软件的人很多。 所谓算法的边界,其实就是给算法良好的封装,使之成为可复用的模块,成为一流的软件技术。比如常用的机械CAD软件UG NX和Cartia集成了大量的设计功能:二维三维图形、运动仿真、有限元边界元分析、刚度强度、应力应变、模态分析,这些功能中的任何一项国内都研究得很熟,没有一种算法是国内不会的,但就是开发不出一个能跟UG相媲美的CAD/CAM软件,原因是什么?还是设计功力不行。国人不善设计,只会写程序,是一个通病。
bigwater101 2013-04-13
  • 打赏
  • 举报
回复
引用 45 楼 bljswpu 的回复:
如果你想进比较好的公司,特别是大型的互联网公司,baidu,taobao,google之类的,算法是必须的。因为每天都要处理海量的数据。所以算法就尤为重要了
个人十分认同这句话。本人是应届毕业生,感觉笔试大公司的时候,考了很多的算法和数据结构知识,当去面试小公司的时候,基本上不怎么涉及算法和设计结构,目前在一家开发银行核心系统的公司实习,做了两个多月,没看到用到算法和数据结构的痕迹。反倒是银行业务才是写好程序的关键。
sjhcsdn 2013-04-12
  • 打赏
  • 举报
回复
算法很重要,一个 最经典的例子是 计算 行列式,如果没有 那些加减消元法,(行列之间的 计算) 用定义去计算 ,就算用目前再强的 计算设备也没办法对付 一些大型的 计算 因为计算量太大了,但用 消元法化成 三角行列式 就可以在很短时间内搞定 这就是 算法啊~~
zz962 2013-04-12
  • 打赏
  • 举报
回复
看实际需要,不同的项目,侧重不同
ice9ying 2013-04-11
  • 打赏
  • 举报
回复
重要是肯定重要,但却不是随时就会用到。。这么一提,我的算法也挺弱。。得回头学啊。。
lambition 2013-04-11
  • 打赏
  • 举报
回复
算法和英语都很重要,虽然这两样偶都很菜。。。。
sxcong 2013-04-11
  • 打赏
  • 举报
回复
引用 41 楼 icdbow 的回复:
算钱的方法?当然,必须的。 当然,也要因地制宜,因事制宜,当算法的优劣严重、或比较严重的影响程序的性能时,这个是可以提到台面上来的,但是一个好的程序,除了算法外,个人比较偏重结构。 例如,高速公路上设置50公里掉头,你发现走错路了,最简单的就是沿路返回那区区的200米路,但是却给整个交通秩序带来破坏。我会选择向前开,再回头,可能会走100公里冤枉路,但保证构架的完……
如果有好的算法让你不会走错路,岂不是更好?为什么走错路之后才想起算法?开个车还能开错,那登月,登火星是怎么做到的?
fishwhy 2013-04-11
  • 打赏
  • 举报
回复
程序=算法+数据结构
引用 1 楼 davinciyxw 的回复:
很久以前,人们认为程序=算法+语言
小米很好吃 2013-04-11
  • 打赏
  • 举报
回复
对业务需求的理解是最基础的,最重要的。个人觉得设计非常难
w971612995 2013-04-11
  • 打赏
  • 举报
回复
顶楼上的,我觉得算法对于程序员而言是比较重要的。
johnny-huang 2013-04-08
  • 打赏
  • 举报
回复
引用 24 楼 zbdzjx 的回复:
算法很重要,但不是必要,关键是看需要
正解
Chris_Zer0 2013-04-08
  • 打赏
  • 举报
回复
引用 7 楼 vvhesj 的回复:
算法是程序员的基础,就相当于武林高手的内功
正如天下武功出少林一样,程序员也有根。算法,操作系统,编译原理和汇编就是根。万变不离其宗啊!各种语言只是招式而已,而懂编译原理和汇编的大牛为了改进语言的不足之处,就写了许多语言,这就是语言发展的过程。算法就是程序的灵魂,好的算法可以使程序简洁效率高。算法是程序员能力提升的一个瓶颈之一。。。
加载更多回复(96)

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧