瞎扯淡 捣鼓算法有意义么?

mogodb · 2014年12月23日 · 最后由 allenfantasy 回复于 2014年12月29日 · 4611 次阅读

看到几只玩的很 high 的小伙伴,赶脚很迷惑 这味同嚼蜡的东西,有啥好 high 的╮(╯▽╰)╭

同感,貌似都是为了准备面试用的

#1 楼 @joesay 为啥面算法,

@mogodb 亲,你解决个公交线路最短路径问题试试,你自己写个人脸识别的程序试试... 算法是从实际生活中的问题中抽象出来 说的不中听一点,觉得算法没用的人是因为高度还不够

理论基础,对解决问题很有帮助,就算不能直接为你解决问题也可以间接为你扩宽思路。

学习怎么写出最好的代码

#2 楼 @mogodb 面算法可以考察解决问题的思路,平时练练手锻炼下抽象能力可以,刷题的话我就不敢苟同了

就跟证明出数学题一样,能获得智力上的成就感。

“唯算法论”和“算法虚无论”都是反革命,都要批判

适合自娱自乐,雅俗共赏。

#6 楼 @joesay 你平时拿算法来练手么?亲好有追求啊:)

#7 楼 @nowherekai 不怕脑细胞死太多么?

算法来源于实际问题,但又高于生活理论。算法的魅力在于,通过建立模型把人思考的过程赋予机器,只关注结果。现在比较多人关注的是图论建模、高维建模、社交网络这类的东西,楼主有兴趣不妨了解下。正确的模型,就能把一些复杂的问题简化。

#12 楼 @zhangsm 偶肿么听说好多模型是把简单问题复杂化的:(所以才有很多砖家和叫兽的,O(∩_∩)O 哈哈~

讨论有没有意义,都是高大上啊

现在有一个商品叫“iPhone 6”,他有“Plus”和“标准版”,有 16G,64G,128G 版,有金、银、灰三中颜色,其中又分为全网通版、电信版、移动版、联通版。

做出淘宝的 js 效果,有货的时候才能被选中,没货的时候不可以被选中。一共 2x3x3x4 种可能,不用算法才死脑细胞。

有没有意义,不知道。 但觉得你同学不像是自 high,更像是炫耀,炫耀智力上的优越感。

@MrPasserby 这个完全没有任何难度啊,也看不出和算法有任何关系。有没有货都是后端输出的,跟前端有什么关系。前端根据 sku 数据,没货的在界面加个 disable 不就行了。

@MrPasserby 这个不是 talk, 你写一个 feature 之前一点计划都没有还写什么。你倒是说说你的计划,跟算法有什么关系?

工程师,平日工作主要解决的,大都是工程问题,操作数据库,调用 API 之类的。 算法在一些业务场景才用到,主要是把业务问题,抽象成数学问题,然后用代码实现各种数学公式,对于工程师,用用就可以了,有很多现成的算法库。 但要想做的更好,那学习能力是关键,大量阅读资料,并不断补充数学知识才行。

什么场景会用到算法?举几个栗子:

  • 基于用户投票的排名算法,好的社区,用户贡献内容,可不是只根据一个变量排列的。
  • 向用户推荐个性化内容,用到的推荐算法,《推荐系统》这本书介绍了一堆算法。
  • 还有最近在做的,收集 2 分钟内负载数据,程序自动判断是上升,还是下降,用到最小二乘法

如果想成为编程高手,那就每天写代码,坚持写两年。 如果想成为世界级的大牛,那就十年如一日的写代码, 或者,写两年代码,然后上一门算法课。

麻省理工学院公开课:算法导论,比国内大学的算法课精彩。

#3 楼 @rocLv

  1. "你解决个公交线路最短路径问题试试" 这个离散数学里有一个矩阵类似的算法计算
  2. "你自己写个人脸识别的程序试试" 这个 OPENCV 里有现成的算法 我大学离散数学就是因为看懂了 1 然后用代码实现了,然后老师就给了个优。 2 这个我还想话时间学习下,可是现在没空了。 算法这个东西确实很高深,不过大部分程序都处于看懂别人设计的算法(当然我也是属于这个档次),然后拿来实践应用到自己的碰到的问题中,当然很多情况下需要再局部改进以适应具体的应用场景。 坛子里的高手看到别喷我,原谅我的愚昧和无知

#21 楼 @putty 亲,没人喷你 算法无用论和英语无用论其实是一个道理

多数时刻无用,但是很多时候,你要做到 99 分,要么是要算法,要么是要对硬件有不少的了解。

#10 楼 @mogodb leetcode 现在蛮多人在用的,偶尔可以去上面写写

#24 楼 @joesay 这里有人坚持 leetcode 么?

楼主发了 15 个主题,其中有 14 个是问题,14 个中有至少 7 个是谷歌轻易能搜到的。 以上是客观事实,不带观点,别的留给大家评判。

书到用时方恨少。 如果我很厉害的话,我会喜欢捣鼓算法的。

求推荐算法入门书

29 楼 已删除

做一个不是很恰当的比喻! 算法 和 Ruby 语言 一样 只是一种技能。 即使不会,你依然可以编程。 但是,你多掌握了一种技能,你可以干更多的事情。

再做个比喻, 算法 就像 武功中的 内功心法。 编程语言 就像 武功中的 外功招数。 集大成者 必须内外兼修。

再做个比喻。 算法 就像 Dota 里面的增加输出的装备 编程语言 就像 Dota 里面的输出性技能

总之 数据结构 和 算法分析 都是很有用的! 都是编程的内功,是计算机编程的精髓。 对程序员来说,会受用一生!

而编程语言这东西,每个 5-6 年,就要换一种,属于计算机技术的皮毛!

最初我用 Delphi,后来我用 C++,然后我用 C#,之后用 Ruby/HTML,今后我打算用 JS/Go 但是 我最初学过的 数据结构 和 算法分析 这些知识基本 没变过, 反而觉得越来越有用!

经常思考算法能够锻炼思维能力,从纷繁复杂的可能方法中快速找出近优的解。

当然能够开发出独门算法那就更 NB 了。基本上优化程序,一靠业务逻辑上的裁剪,再一个就是发现更好的算法了。

#28 楼 @xieren58 《算法导论》或者《算法》(封面是红色的一本)。前者就是我的算法启蒙课本,后者在学校图书馆翻过,感觉还不错。

#30 楼 @ery 为何不是 JS+Node,而是 JS+GO 呢?

告诉他们,可以看 ruby 源码就好了,哈哈

#25 楼 @mogodb 不知道这个社区有多少人会去,至少我偶尔回去写道题练练,算是长期的思维训练了。

没意义,人活着不是也没意义么,整天做的就是 killing time 啊!

#37 楼 @hooopo 到哪里做题的?多久做一题呢?

个人理解,95% 的人是用算法的,只有 5% 的人是研究算法的。说有意义,是了解算法可以帮助你的使用;说没有意义,可以理解为不做研究算法的工作。实话说,平时的工作,真能自己上手来写两个算法的机会不多,各种语言早就有轮子了,工作性质决定吧。

同 #26 楼,有空问这种问题,还不如去写代码。 以及,楼主连回复人都能回复错么……

需要 登录 后方可回复, 如果你还没有账号请 注册新账号